[Bioperl-l] Get nucleic CDS sequence from Genbank files using spliced_seq

Jason Stajich jason at bioperl.org
Fri Oct 12 16:18:15 UTC 2007


1.

Always 'use strict;' in your code - you'll see the bug more clearly  
that you should use $feat not $cds in the if stmt.


2.
You should pass in an actual Bio::DB::GenBank object to the -db  
argument.

my $db = Bio::DB::GenBank->new;
my $cds = $seq->spliced_seq(-db => $db);

-jason
On Oct 12, 2007, at 1:48 AM, Johann PELLET wrote:

> Hi,
> I have two questions:
> First, I have problems for example with this genbank entry: NC_008210.
> Indeed, for one CDS, the location is :
> join(161990..162784,complement(88222..88806),complement(86666..87448))
>
> When I parse a genbank file with this entry.
>
> my $seq_in  = Bio::SeqIO->new( -format => 'genbank',
>                                -file => $input_file);
>
> while( my $seq = $seq_in->next_seq() ) {
>     my @features = $seq->get_SeqFeatures();
>     for ( my $i =0; $i < scalar @features; $i++ ){
>         my $feat = @features[$i];
>          if ( $feat->primary_tag eq 'CDS' ){
>
>
>              my $seq_CDS_obj=$cds->spliced_seq( -nosort => 0);
>              my $seq_CDS=$seq_CDS_obj->seq;
>


>
> I have this error:
> Can't call method "isa" without a package or object reference at ....
>
> Secondly, When location is like:
> join(complement(AY421753.1:1..6),complement(3813..5699)) I know  
> that we
> must use spliced_seq with the argument db, but it's not working.
>       my $seq_CDS_obj=$cds->spliced_seq( -db => "genbank");
> How can we valid a Bio::DB::RandomAccessI?
>
> Thanks
>
> -- 
> Johann Pellet
> phone (work): +33(0)4 37282352
> E-mail:    pellet at cervi-lyon.inserm.fr
> Centre d'Etudes et de Recherche en Virologie et Immunologie
> INSERM U503
> 21, Avenue Tony Garnier
> 69365 Lyon cedex 07 France
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

--
Jason Stajich
jason at bioperl.org




More information about the Bioperl-l mailing list