Cool stuff the Ensembl VEP can do: take your pick

The number of genes and transcripts we have in Ensembl can make your VEP results very big. Filtering your results after running the VEP is the best way to make this more manageable, but you can also reduce the results in your run itself, to only get one result per variant or variant/gene combo.

You can restrict your results in either the offline or the online tools. The options on the offline tool are shown in the documentation, whereas the online options are in the Filtering options section of the input form.

The options to restrict your VEP results in the online tool


When running offline, you can also take advantage of the ‘flag’ options to mark the lines which meet your selection criteria while printing the full output. This makes it trivial to extract the subset of results you are most interested in, but provides full results in case you need to dig deeper.

How the rules work is easiest to understand with an example variant. In this case our variant has two possible alternative alleles, hits three transcripts of Gene1, falling in a coding exon of two of them, and one transcript of the non-coding Gene2. The A allele is synonymous, whereas the C allele causes a missense change, altering the amino acid.

Our example variant has two alternative alleles and hits two genes.

The full set of options are summarised here:

Offline option Online option Rule Example
–most_severe Show most severe consequence per variant Uses the severity ranking of the variant consequences to choose the most severe. This erases information about the individual transcripts. C, missense, Gene1
–summary Show only a list of consequences per variant Instead of giving you one line for each consequence, each variant gets one line in the table, with all the consequences shown. All the consequences
–pick Show one selected consequence per variant Ranks all the transcripts (including those of different genes) and consequences by a set of criteria, and displays only the consequence on the top-ranking transcript. Where two are equally ranked, the choice is arbitrary C, missense, Gene1-1
–pick_allele Show one selected consequence per variant allele As –pick, but if there are multiple alternative alleles, shows one consequence for each C, missense, Gene1-1

A, synonymous, Gene1-1

–per_gene Show one selected consequence per gene As –pick, but does the analysis separately for each gene, so you have one consequence per gene. C, missense, Gene1-1

C, non_coding_transcript_variant, Gene2-1 (the A allele could just as easily have been selected as they rank the same)

–pick_allele_ gene A combination of –pick_allele and –per_gene. C, missense, Gene1-1

A, synonymous, Gene1-1

C, non_coding_transcript_variant, Gene2-1

A, non_coding_transcript_variant, Gene2-1

–flag_pick Displays all the consequences, but adds a flag to the consequence chosen by –pick.
–flag_pick_ allele Displays all the consequences, but adds flags to the consequences chosen by –pick_allele.
–flag_pick_ allele_gene Displays all the consequences, but adds flags to the consequences chosen by –pick_allele_gene.
–pick_order Use with any of the –pick options and change the order of the criteria.