[Bioperl-l] Bio::AnnotatableI function annotation()

Brian Osborne bosborne11 at verizon.net
Mon Mar 30 13:03:02 UTC 2009


bioperl-l,

 From the new article:

"a feature is metadata attached to a particular section or fragment of  
a sequence, while an annotation is metadata attached to the sequence  
object itself, and so describes something about the entire sequence."

This point is also made in the HOWTO, I'll make it into its own  
section so that it's more obvious.

Brian O.

On Mar 30, 2009, at 8:10 AM, Mark A. Jensen wrote:

> No problem-- One of the really useful things (IMHO) about
> the list is how user issues can poke the developers into emitting
> short bursts of wisdom, so that the scribes (like me) can capture it
> for the faithful.
> cheers -MAJ
> ----- Original Message ----- From: "Govind Chandra" <govind.chandra at bbsrc.ac.uk 
> >
> To: "Mark A. Jensen" <maj at fortinbras.us>
> Cc: <bioperl-l at lists.open-bio.org>
> Sent: Monday, March 30, 2009 5:33 AM
> Subject: Re: [Bioperl-l] Bio::AnnotatableI function annotation()
>
>
>> Thanks to Mark for pursuing the discussion arising out of my initial
>> post so far. It soon got too technical for me to participate in  
>> actively
>> but I have followed it as well as I could. And thanks to everybody  
>> who
>> participated / commented.
>>
>> I have been using BioPerl every working day for the last 8 years  
>> and I
>> will probably use it for the rest of my working life. It is a  
>> fantastic
>> resource thanks to all those who help maintain and develop it.
>>
>> Cheers
>>
>> Govind
>>
>>
>>
>> On Sun, 2009-03-29 at 23:11 -0400, Mark A. Jensen wrote:
>>> Hi all-
>>>
>>> On the wiki, I've attempted to codify and add exegesis to the
>>> ideas discussed in this thread. Have a look at
>>>
>>> http://www.bioperl.org/wiki/Features_vs._Annotations
>>>
>>> in the new 'Metadata' subcat of the Scrapbook
>>> (http://www.bioperl.org/wiki/Category:Scrapbook)
>>>
>>> (Thanks Govind for stimulating this discussion!)
>>>
>>> cheers,
>>> Mark
>>>
>>> ----- Original Message ----- From: "Govind Chandra" <govind.chandra at bbsrc.ac.uk 
>>> >
>>> To: "Mark A. Jensen" <maj at fortinbras.us>
>>> Cc: <bioperl-l at lists.open-bio.org>
>>> Sent: Friday, March 27, 2009 1:09 PM
>>> Subject: [Bioperl-l] Bio::AnnotatableI function annotation()
>>>
>>>
>>> > 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
>>> >> >
>>> >> >
>>> >>
>>> >
>>> > _______________________________________________
>>> > Bioperl-l mailing list
>>> > Bioperl-l at lists.open-bio.org
>>> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>> >
>>> >
>>
>>
>
> _______________________________________________
> 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