<div dir="ltr">Hi Konrad,<div><br></div><div>Assuming you have the FASTA file available and functioning, this should work OK; you should see a message like this at VEP startup:</div><div><br></div><div><div>2014-04-07 10:32:11 - Read existing cache info</div>
<div>2014-04-07 10:32:12 - Auto-detected FASTA file in cache directory</div><div>2014-04-07 10:32:13 - Checking/creating FASTA index</div></div><div><br></div><div>or just the final message if you are pointing manually to a FASTA file using --fasta.</div>
<div><br></div><div>I just tested this with a rudimental plugin and I can retrieve the intron sequence OK, no Ns. Let me know if you still have any problems.</div><div><br></div><div>Plugin code:</div><div><br></div><div>
<div>package IntronSeq;</div><div>use Bio::EnsEMBL::Variation::Utils::BaseVepPlugin;</div><div>use base qw(Bio::EnsEMBL::Variation::Utils::BaseVepPlugin);</div><div><br></div><div>sub run {</div><div>  my ($self, $tva) = @_;  </div>
<div>  print STDERR $tva->transcript->get_all_Introns->[0]->seq()."\n";</div><div>  return {};</div><div>}</div><div><br></div><div>1;</div></div><div><br></div><div>Output:</div><div><br></div><div>
<div>> perl <a href="http://variant_effect_predictor.pl">variant_effect_predictor.pl</a> -i example.vcf -force -plugin IntronSeq -offline -no_progress</div><div>2014-04-07 10:39:27 - Read existing cache info</div><div>
2014-04-07 10:39:27 - Auto-detected FASTA file in cache directory</div><div>2014-04-07 10:39:27 - Checking/creating FASTA index</div><div>2014-04-07 10:39:27 - Loaded plugin: IntronSeq</div><div>2014-04-07 10:39:27 - Starting...</div>
<div>2014-04-07 10:39:27 - Detected format of input file as vcf</div><div>2014-04-07 10:39:27 - Read 173 variants into buffer</div><div>2014-04-07 10:39:27 - Reading transcript data from cache and/or database</div><div>2014-04-07 10:39:28 - Retrieved 3097 transcripts (0 mem, 3162 cached, 0 DB, 65 duplicates)</div>
<div>2014-04-07 10:39:28 - Analyzing chromosome 21</div><div>2014-04-07 10:39:28 - Analyzing variants</div><div>2014-04-07 10:39:28 - Calculating consequences</div><div>Plugin 'IntronSeq' went wrong: Can't call method "seq" on an undefined value at /nfs/users/nfs_w/wm2/.vep/Plugins/IntronSeq.pm line 48, <GEN0> line 175.</div>
<div>GTGAGTTTCAGAGGCCGTAGGGACAGGGAGCGAGGCCTAGATAGTGGTGTCTGTCTAGATTGGGTCTGAGGCGGGGCCGGGGAGGTCCCGCGGGGCAGAGGAAGGAGGAGGGTTTCTTAGTCCCTCCGCGGCGGTCGCTCTTGCACAGCTTGGGAGGACTAATTTATGGGAACGAGGGTCTGGCGGAGGGCAGGGGCAAGGGCAGGGGTCGGGGCCAGGGGTCGGAGCCAGGCCGCGGGAGGAGCTTGGGCCCGCCTCTGGGAAGCAGCGCACGTTCCGTGCACATCTGTCCATGTCTTCCCAAGGAATACTCGTACTTGCCTTGGCAGGTTCCCTGATTTGGCCTTTGGGATATAAACTCAGCATTTCTCATTCTGGATATTGATAGTTTCGGTGTGGGACCTTTGGTTTCCTGAAATTTTCTTGTTTTTCTTCAGACCCTGTCAAACCGACCACTTTGTTCACCTTCCCAATGACTCTAGTCCAGTTTTGACTCCGTTTCCTGGTTACTTTTTGCCCCTTATTGTAAAGCACTGATTGGAAACACGACACAGGAAATTGGTGGGAAATAGCGATCTGATGTGAAAGAGCCAAATTTAAAAGTAGAGGCACGTATCTGGGCCAGCTCTGTTTCTTCCGCTGGTGTTTGTTAATATTACAAATTGGTTTAATTTTACCTCTGAGCGCACTTTTGGCAGTACGTTAATCATTTTTTCAGTCTTCATATTTATTGTAACTTCTCCACAG</div>
<div>GTGAGTTTCAGAGGCCGTAGGGACAGGGAGCGAGGCCTAGATAGTGGTGTCTGTCTAGATTGGGTCTGAGGCGGGGCCGGGGAGGTCCCGCGGGGCAGAGGAAGGAGGAGGGTTTCTTAGTCCCTCCGCGGCGGTCGCTCTTGCACAGCTTGGGAGGACTAATTTATGGGAACGAGGGTCTGGCGGAGGGCAGGGGCAAGGGCAGGGGTCGGGGCCAGGGGTCGGAGCCAGGCCGCGGGAGGAGCTTGGGCCCGCCTCTGGGAAGCAGCGCACGTTCCGTGCACATCTGTCCATGTCTTCCCAAGGAATACTCGTACTTGCCTTGGCAGGTTCCCTGATTTGGCCTTTGGGATATAAACTCAGCATTTCTCATTCTGGATATTGATAGTTTCGGTGTGGGACCTTTGGTTTCCTGAAATTTTCTTGTTTTTCTTCAGACCCTGTCAAACCGACCACTTTGTTCACCTTCCCAATGACTCTAGTCCAGTTTTGACTCCGTTTCCTGGTTACTTTTTGCCCCTTATTGTAAAGCACTGATTGGAAACACGACACAGGAAATTGGTGGGAAATAGCGATCTGATGTGAAAGAGCCAAATTTAAAAGTAGAGGCACGTATCTGGGCCAGCTCTGTTTCTTCCGCTGGTGTTTGTTAATATTACAAATTGGTTTAATTTTACCTCTGAGCGCACTTTTGGCAGTACGTTAATCATTTTTTCAGTCTTCATATTTATTGTAACTTCTCCACAG</div>
</div><div><br></div><div>etc etc</div><div><br></div><div>Regards</div><div><br></div><div>Will McLaren</div><div>Ensembl Variation</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 7 April 2014 03:21, Konrad Karczewski <span dir="ltr"><<a href="mailto:konradk@broadinstitute.org" target="_blank">konradk@broadinstitute.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
I've been developing a loss-of-function plugin for VEP and having some implementation issues relating to the VEP cache. Specifically, when accessing transcripts via the API (with the --offline flag set) it seems the cache does not store intronic sequences. When I run the code below without the --offline flag, it works as expected. With --offline, the lengths prints properly, but the sequence is N repeated length times.<br>

<br>
# $transcript_variation is provided from VEP plugin "run" subroutine<br>
my @gene_introns = @{$transcript_variation->transcript->get_all_Introns()};<br>
my $intron_number = 0;<br>
print length($gene_introns[$intron_number]->seq()) . "\n"; # Returns correct length for first intron of the transcript<br>
print $gene_introns[$intron_number]->seq() . "\n"; # Returns "N"*length(intron)<br>
<br>
I can rebuild my cache if need be, but I was wondering if there were any plans to integrate intron (and exon) sequence into the cache? (Seems like it should be reasonably straightforward, since VEP requires the genome fasta anyway, but I'm not sure about the details of how this part is implemented). This would be very helpful for a number of reasons, including detecting proper intron sequences (i.e. with a canonical splice motif).<br>

<br>
(This happens in API versions 74 and 75).<br>
<br>
Thanks!<br>
-Konrad<br>
_______________________________________________<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" target="_blank">http://lists.ensembl.org/mailman/listinfo/dev</a><br>
Ensembl Blog: <a href="http://www.ensembl.info/" target="_blank">http://www.ensembl.info/</a><br>
</blockquote></div><br></div>