<div dir="ltr">Thanks so much for this thorough investigation Anthony, you are correct and the regex pattern is wrong.<div><br></div><div>I've patched a fix to the ensembl-variation GitHub repo, you can re-run INSTALL.pl to pick up the latest code, or git pull in ensembl-variation if you used git to set up your API.</div><div><br></div><div>Regards</div><div><br></div><div>Will</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 August 2016 at 09:29, FERRARI Anthony <span dir="ltr"><<a href="mailto:anthony.ferrari@lyon.unicancer.fr" target="_blank">anthony.ferrari@lyon.unicancer.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
<div><br>
</div>
<div><br>
</div>
<div>OK thank you Will. I have run the same small exemple with GRCh38 then.</div>
<div>For the first position here is what I obtain (I removed some cols for readability) :</div>
<div><br>
</div>
<div>cache = homo_sapiens/85_GRCh38</div>
<div>position (GRCh38) = 3:167266887</div>
<div>—pick_order = appris,tsl,ccds,biotype</div>
<div><br>
</div>
<div>
<div>
<div>Allele | SYMBOL | Gene | Feature | HGVSc | PICK | TSL | APPRIS | RefSeq</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000307529|<wbr>ENST00000307529.9:c.2254+<wbr>15351C>T|1|1|A2|</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000392764|<wbr>ENST00000392764.5:c.2050+<wbr>15351C>T||5|A2|NM_001199202.1</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000392766|<wbr>ENST00000392766.6:c.2137+<wbr>15351C>T||2|P3|NM_024687.3||||<wbr>||</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000392767|<wbr>ENST00000392767.6:c.2050+<wbr>15351C>T||1|A2|</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000455345|<wbr>ENST00000455345.6:c.2254+<wbr>15351C>T||1|A2|NM_001199201.1</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000464922|<wbr>ENST00000464922.5:c.85-14676C><wbr>T||3||</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000465071|<wbr>ENST00000465071.1:n.335+<wbr>15351C>T||2||</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000492642|<wbr>ENST00000492642.5:c.222+<wbr>15351C>T||5||</div>
<div>A|ZBBX|ENSG00000169064|<wbr>ENST00000494898|<wbr>ENST00000494898.5:c.*70-<wbr>14676C>T||2||</div>
</div>
</div>
<div><br>
</div>
<div>So, the chosen transcript is the first one which is an APPRIS “alternative2”. The third transcript is a “principal3”</div>
<div>and (I suppose, if I correctly understood APPRIS system) should be chosen. </div>
<div><br>
</div>
<div>In VEP.pm, there is this block :</div>
<div><br>
</div>
<div><span class="">
<div>      if(my ($appris) = @{$tr->get_all_Attributes('<wbr>appris')}) {</div>
</span><div>        if($appris->value =~ m/([A-Za-z])(\d+)/) {</div>
<div>          my ($type, $grade) = ($1, $2);</div>
<div>          # values are principal1, principal2, ..., alternative1, alternative2</div>
<div>          # so add 10 to grade if alternate</div>
<div>          $grade += 10 if substr($type, 0, 1) eq 'a';</div>
<div>          $info->{appris} = $grade if $grade;</div>
<div>        }</div>
<div>      }</div>
<div>    }</div>
</div>
<div><br>
</div>
<div>The regex pattern $appris->value =~ m/([A-Za-z])(\d+)/ should be changed to $appris->value =~ m/([A-Za-z]+)(\d+)/</div>
<div>or it only selects the last letter from the word ‘alternative’/‘principal’ and you never get something equal to ‘a’ when you</div>
<div>try to modify $grade for ‘alternative' values. At the end, the selected transcript is the one with the smallest number</div>
<div>regardless of being 'principal' or 'alternate’.</div>
<div><br>
</div>
<div><br>
</div>
<div>Best wishes,</div>
<div>Anthony</div><div><div class="h5">
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>
<blockquote type="cite">
<div>On 11 Aug 2016, at 19:45, Will McLaren <<a href="mailto:wm2@ebi.ac.uk" target="_blank">wm2@ebi.ac.uk</a>> wrote:</div>
<br>
<div>
<p dir="ltr">Apologies, I should have been clearer, Appris is available only for Ensembl transcripts on GRCh38. It is not available for RefSeq transcripts on any assembly.</p>
<p dir="ltr">Regards</p>
<p dir="ltr">Will</p>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 11 Aug 2016 17:28, "FERRARI Anthony" <<a href="mailto:anthony.ferrari@lyon.unicancer.fr" target="_blank">anthony.ferrari@lyon.<wbr>unicancer.fr</a>> wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div style="word-wrap:break-word">
<div><br>
</div>
<div>I am afraid this might not be the only problem. I have now installed "homo_sapiens_refseq/85_GRCh38<wbr>”</div>
<div>and run :</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>/data-ddn/software/VEP/ensembl<wbr>-tools-release-85/scripts/<wbr>variant_effect_predictor/<a href="http://variant_effect_predictor.pl/" target="_blank">varia<wbr>nt_effect_predictor.pl</a> \</div>
<div>--force_overwrite \</div>
<div>--refseq \</div>
<div>--fork 4 \</div>
<div>--buffer_size 50000 \</div>
<div>--dir ensembl-tools-release-85/scrip<wbr>ts/variant_effect_predictor/<wbr>cache \</div>
<div>--cache \</div>
<div>--offline \</div>
<div>--no_stats \</div>
<div>--species homo_sapiens \</div>
<div>--assembly GRCh38 \</div>
<div>--fasta /references/human_g1k_v38.fast<wbr>a \</div>
<div>--variant_class \</div>
<div>--canonical \</div>
<div>--polyphen b --sift b \</div>
<div>--total_length \</div>
<div>--numbers \</div>
<div>--hgvs \</div>
<div>--appris \</div>
<div>--protein \</div>
<div>--symbol \</div>
<div>--biotype \</div>
<div>--check_existing \</div>
<div>--pick_order refseq,appris,tsl,ccds,biotype \</div>
<div>--flag_pick \</div>
<div>--format vcf \</div>
<div>--input_file input.vcf \</div>
<div>--vcf \</div>
<div>--output_file out.vcf</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>The APPRIS data is still missing/not used.</div>
<div>I have attached the sample VCFs to reproduce the test. There are only 3 lines.</div>
<div><br>
</div>
<div>For instance in the first line (gene ZBBX), the annotation block selected is the one for NM_001199201.1</div>
<div>whereas this should be the one for NM_024687.3 if we refer to this webpage :
<a href="http://appris.bioinfo.cnio.es/#/database/id/homo_sapiens/79740?as=hg38&sc=refseq" target="_blank">
http://appris.bioinfo.cnio.es/<wbr>#/database/id/homo_sapiens/797<wbr>40?as=hg38&sc=refseq</a></div>
<div><br>
</div>
<div>Moreover the —appris flag produces no data in the VCF.</div>
<div><br>
</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Anthony</div>
<div><br>
</div>
<div></div>
</div>
<div style="word-wrap:break-word">
<div></div>
</div>
<div style="word-wrap:break-word">
<div></div>
<div><br>
</div>
<br>
<div>
<blockquote type="cite">
<div>On 11 Aug 2016, at 17:33, Will McLaren <<a href="mailto:wm2@ebi.ac.uk" target="_blank">wm2@ebi.ac.uk</a>> wrote:</div>
<br>
<div>
<div dir="ltr">Hi Anthony,
<div><br>
</div>
<div>APPRIS is not available on GRCh37, I'm afraid, only GRCh38 for human.</div>
<div><br>
</div>
<div>Regards</div>
<div><br>
</div>
<div>Will McLaren</div>
<div>Ensembl Variation</div>
</div>
<div><br>
<div>On 11 August 2016 at 16:20, FERRARI Anthony <span dir="ltr">
<<a href="mailto:anthony.ferrari@lyon.unicancer.fr" target="_blank">anthony.ferrari@lyon.unicance<wbr>r.fr</a>></span> wrote:<br>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Hi,<br>
<br>
I am using the VEP script to annotate whole-genome SNVs. I have just installed the version 85 with<br>
the INSTALL.pl script and built the cache for refseq/GRCh37 (homo_sapiens_refseq/85_GRCh37<wbr>).<br>
<br>
I use the following command to launch the analysis :<br>
<br>
variant_effect_predictor/<a href="http://variant_effect_predictor.pl/" rel="noreferrer" target="_blank">varia<wbr>nt_effect_predictor.pl</a> \<br>
--refseq \<br>
--fork 4 \<br>
--buffer_size 50000 \<br>
--dir variant_effect_predictor/cache \<br>
--cache \<br>
--offline \<br>
--no_stats \<br>
--fasta /references/human_g1k_v37.fast<wbr>a \<br>
--variant_class \<br>
--canonical \<br>
--polyphen b --sift b \<br>
--total_length \<br>
--numbers \<br>
--hgvs \<br>
--appris \<br>
--protein \<br>
--symbol \<br>
--biotype \<br>
--check_existing \<br>
--pick_order refseq,appris,tsl,ccds,biotype \<br>
--flag_pick \<br>
--format vcf \<br>
--input_file ${INPUT} \<br>
--vcf \<br>
--output_file ${OUTPUT}<br>
<br>
<br>
So basically I would like to flag, whenever possible, the annotation block with APPRIS principal<br>
isoform. In the VEP.pm module, I have inserted a few “print" statement in the "pick_worst_vfoa"<br>
function. It looks like I never get into this if block (line 2291) :<br>
<br>
     if(my ($appris) = @{$tr->get_all_Attributes('app<wbr>ris')}) {<br>
...<br>
     }<br>
<br>
and the $info->{appris} is always “100”, its default value.<br>
<br>
APPRIS does not have any influence on the flag_pick process.<br>
Do I need to install some other DB/file for VEP to be able to get to the APPRIS info ?<br>
(Is it an —offline or GRCh37 thing ?)<br>
<br>
<br>
Many thanks for your help,<br>
Anthony<br>
______________________________<wbr>_________________<br>
Dev mailing list    <a href="mailto:Dev@ensembl.org" target="_blank">Dev@ensembl.org</a><br>
Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">
http://lists.ensembl.org/mailm<wbr>an/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" rel="noreferrer" target="_blank">
http://www.ensembl.info/</a><br>
</blockquote>
</div>
<br>
</div>
______________________________<wbr>_________________<br>
Dev mailing list    <a href="mailto:Dev@ensembl.org" target="_blank">Dev@ensembl.org</a><br>
Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" target="_blank">
http://lists.ensembl.org/mailm<wbr>an/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" target="_blank">http://www.ensembl.info/</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
Dev mailing list    <a href="mailto:Dev@ensembl.org" target="_blank">Dev@ensembl.org</a><br>
Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">
http://lists.ensembl.org/mailm<wbr>an/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" rel="noreferrer" target="_blank">
http://www.ensembl.info/</a><br>
<br>
</blockquote>
</div>
</div>
______________________________<wbr>_________________<br>
Dev mailing list    <a href="mailto:Dev@ensembl.org" target="_blank">Dev@ensembl.org</a><br>
Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" target="_blank">
http://lists.ensembl.org/<wbr>mailman/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" target="_blank">http://www.ensembl.info/</a><br>
</div>
</blockquote>
</div>
<br>
</div></div></div>

<br>______________________________<wbr>_________________<br>
Dev mailing list    <a href="mailto:Dev@ensembl.org">Dev@ensembl.org</a><br>
Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">http://lists.ensembl.org/<wbr>mailman/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" rel="noreferrer" target="_blank">http://www.ensembl.info/</a><br>
<br></blockquote></div><br></div>