[Bioperl-l] Bio::AnnotatableI function annotation()
Govind Chandra
govind.chandra at bbsrc.ac.uk
Fri Mar 27 13:09:29 EDT 2009
Thanks Mark,
Sorry for not putting a proper subject in the last post.
What you suggest is what I have been doing for a long time. I am just
trying to alter my code to conform to the latest bioperl version and ran
into this issue. I could be wrong (I am more a user rather than writer
of modules) but since $feature->annotation() does not result in an error
I think $feature is-a Bio::AnnotatableI as well.
Cheers
Govind
On Fri, 2009-03-27 at 12:17 -0400, Mark A. Jensen wrote:
> Hi Govind-
>
> As near as I can tell, the *_tags methods are deprecated for
> Bio::AnnotatableI objects, but these methods are available
> off the SeqFeatureI objects themselves: i.e., rather than
>
> > $ac=$feature->annotation();
> > $temp1=$ac->get_Annotations("locus_tag");
>
> do
>
> $temp1 = $feature->get_tag_values("locus_tag");
>
> directly.
>
> hope it helps -
> Mark
>
> ----- Original Message -----
> From: "Govind Chandra" <govind.chandra at bbsrc.ac.uk>
> To: <bioperl-l at lists.open-bio.org>
> Sent: Friday, March 27, 2009 11:26 AM
> Subject: Re: [Bioperl-l] Bioperl-l Digest, Vol 71, Issue 15
>
>
> > Hi,
> >
> > The code below
> >
> >
> > ====== code begins =======
> > #use strict;
> > use Bio::SeqIO;
> >
> > $infile='NC_000913.gbk';
> > my $seqio=Bio::SeqIO->new(-file => $infile);
> > my $seqobj=$seqio->next_seq();
> > my @features=$seqobj->all_SeqFeatures();
> > my $count=0;
> > foreach my $feature (@features) {
> > unless($feature->primary_tag() eq 'CDS') {next;}
> > print($feature->start()," ", $feature->end(), "
> > ",$feature->strand(),"\n");
> > $ac=$feature->annotation();
> > $temp1=$ac->get_Annotations("locus_tag");
> > @temp2=$ac->get_Annotations();
> > print("$temp1 $temp2[0] @temp2\n");
> > if($count++ > 5) {last;}
> > }
> >
> > print(ref($ac),"\n");
> > exit;
> >
> > ======= code ends ========
> >
> > produces the output
> >
> > ========== output begins ========
> >
> > 190 255 1
> > 0
> > 337 2799 1
> > 0
> > 2801 3733 1
> > 0
> > 3734 5020 1
> > 0
> > 5234 5530 1
> > 0
> > 5683 6459 -1
> > 0
> > 6529 7959 -1
> > 0
> > Bio::Annotation::Collection
> >
> > =========== output ends ==========
> >
> > $ac is-a Bio::Annotation::Collection but does not actually contain any
> > annotation from the feature. Is this how it should be? I cannot figure
> > out what is wrong with the script. Earlier I used to use has_tag(),
> > get_tag_values() etc. but the documentation says these are deprecated.
> >
> > Perl is 5.8.8. BioPerl version is 1.6 (installed today). Output of uname
> > -a is
> >
> > Linux n61347 2.6.18-92.1.6.el5 #1 SMP Fri Jun 20 02:36:06 EDT 2008
> > x86_64 x86_64 x86_64 GNU/Linux
> >
> > Thanks in advance for any help.
> >
> > Govind
> >
> >
> >
> > _______________________________________________
> > 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