<div dir="ltr"><span style="font-size:12.8000001907349px">Hi there,</span><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">I was trying to run the following script to get either cDNA or CDS sequences of canonical transcripts of protein coding genes of a given species:</div><div style="font-size:12.8000001907349px"><br></div><div style><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">use strict;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">use warnings;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">use Bio::EnsEMBL::Registry;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">use Data::Dumper;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $species=$ARGV[0];</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $minlength=$ARGV[1];</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $seqtype=$ARGV[2];</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">if ($seqtype ne "cds" && $seqtype ne "cdna"){</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    print "Select the type of sequence you want to retrieve: cdna or cds. \"$seqtype\" is not either.\nUsage: perl <a href="http://retrieve_protcod_canonicaltranscript.pl">retrieve_protcod_canonicaltranscript.pl</a> speciesname mintranscriptlength cdna/cds\nExample: perl <a href="http://retrieve_protcod_canonicaltranscript.pl">retrieve_protcod_canonicaltranscript.pl</a> pelodiscus_sinensis 200 cdna\n\n";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    exit;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">}</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $registry = "Bio::EnsEMBL::Registry";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">$registry->load_registry_from_multiple_dbs(</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    {-host => '<a href="http://mysql-eg-publicsql.ebi.ac.uk">mysql-eg-publicsql.ebi.ac.uk</a>',</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">     -port => 4157, </font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">     -user => 'anonymous'</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    },</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    {-host => '<a href="http://ensembldb.ensembl.org">ensembldb.ensembl.org</a>',</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">     -port => 5306,</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">     -user    => 'anonymous'</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    }</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">);</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">unless (open(OUTPUT, ">${species}_protcod_canonicaltranscript$seqtype.fa")){</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    print "Cannot create an output file\n\n";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    exit;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">}</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $gene_adaptor  = $registry->get_adaptor( $species, 'Core', 'Gene' );</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my @gene_ids= @{$gene_adaptor->list_stable_ids()};</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $count = 0;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $noncodingcount = 0;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">while (my $gene_id = shift @gene_ids) {</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    my $gene = $gene_adaptor->fetch_by_stable_id($gene_id);</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    if ($gene->biotype eq 'protein_coding'){</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        my $cds = $gene->canonical_transcript()->translateable_seq();</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        my $cdna = $gene->canonical_transcript()->spliced_seq();</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        $count++;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        if (length $cdna >= $minlength && $seqtype eq 'cdna') {</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">            print OUTPUT ">$gene_id\n$cdna\n";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        } elsif (length $cds >= $minlength && $seqtype eq 'cds') {</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">            print OUTPUT ">$gene_id\n$cds\n";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        } else {</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">            next;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        }</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    } elsif ($gene->biotype ne 'protein_coding'){</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        $noncodingcount++;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">        next;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">    }</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">}</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace"><br></font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">my $total = $count + $noncodingcount;</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">print "Found $count protein coding genes.\nThere were $noncodingcount non-coding genes.\nIn total, there are $total genes. Check this number to be sure.\nWritten fasta file with their canonical transcript sequence in ${species}_protcod_canonicaltranscript$seqtype.fa\n\n";</font></span></div><div style><span style="font-size:12.8000001907349px"><font face="monospace, monospace">exit;</font></span></div></div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">and although it seems to do what it has to do, I get this STDERR when parsing protein coding genes:</div><div style="font-size:12.8000001907349px"><br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex" class="gmail_quote"><font face="monospace, monospace">Use of uninitialized value $xref_display_label in substitution (s///) at /home/champi/Software/ensemblAPI/src/ensembl/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm line 1861.</font></blockquote><div style="font-size:12.8000001907349px"><p>And I don't know why. The script looks OK, and it finds the sequences that I'm looking for... </p><p>I have installed the API branch/release 78, and was running the script for Nematostella vectensis.</p><p>Any help is very much appreciated.</p><p>Best,</p><p>Juan</p></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><br></div>Juan Pascual-Anaya, PhD<div>Research Scientist<br>Evolutionary Morphology Laboratory, RIKEN<br><div>2-2-3 Minatojima-minamimachi</div><div>Chuo-ku, Kobe, Hyogo 650-0047<br>Japan</div></div></div></div></div></div>
</div>