[Bioperl-l] Data missing into Annotation object using Bio::SeqIO (Genbank)
Chris Fields
cjfields at illinois.edu
Wed Dec 16 10:09:56 EST 2009
Emmanuel,
The previous behavior in the 1.5.x series was to store feature tags as Bio::Annotation. The problem had been the way this was implemented was considered unsatisfactory for various reasons, so we reverted back to using simple tag-value pairs as the default. You can get at the data this way (from the Feature/Annotation HOWTO):
for my $feat_object ($seq_object->get_SeqFeatures) {
print "primary tag: ", $feat_object->primary_tag, "\n";
for my $tag ($feat_object->get_all_tags) {
print " tag: ", $tag, "\n";
for my $value ($feat_object->get_tag_values($tag)) {
print " value: ", $value, "\n";
}
}
}
You can also convert all the tag-value data into a Bio::Annotation::Collection using the Bio::SeqFeature::AnnotationAdaptor, but this is completely optional.
chris
On Dec 16, 2009, at 8:14 AM, Emmanuel Quevillon wrote:
> Hi,
>
> I've wrote a small Genbank parser few months ago before BioPerl release 1.6.0.
> I tried to use my code once again but now the output of my parser is empty.
> It looks like Annotation from seqfeatures is not filled anymore.
>
> Here is the code I used previously:
>
> while(my $seq = $streamer->next_seq()){
>
> #We only want to retrieve CDS features...
> foreach my $feat (grep { $_->primary_tag() eq 'CDS' } $seq->get_SeqFeatures()){
> print $ofh join("#",
> $feat->annotation()->get_Annotations('locus_tag'), # Acc num
> $feat->annotation()->get_Annotations('gene')
> ? $feat->annotation()->get_Annotations('gene') # Gene name
> : $feat->annotation()->get_Annotations('locus_tag'),
> $feat->annotation()->get_Annotations('product'), # Description
> ),"\n";
> }
> }
>
> $feat is a Bio::SeqFeature::Generic object
>
> If I print Dumper($feat->annotation()) here is the output :
>
> $VAR1 = bless( {
> '_typemap' => bless( {
> '_type' => {
> 'comment' => 'Bio::Annotation::Comment',
> 'reference' => 'Bio::Annotation::Reference',
> 'dblink' => 'Bio::Annotation::DBLink'
> }
> }, 'Bio::Annotation::TypeManager' ),
> '_annotation' => {}
> }, 'Bio::Annotation::Collection' );
>
> Have some changes been made into the way annotation object is populated?
>
> Thanks for any clue and sorry if my question look stupid
>
> Regards
>
> Emmanuel
>
> --
> -------------------------
> Emmanuel Quevillon
> Biological Software and Databases Group
> Institut Pasteur
> +33 1 44 38 95 98
> tuco at_ pasteur dot fr
> -------------------------
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list