[Bioperl-l] All roads lead to Bio::Seq
Lincoln Stein
lstein@cshl.org
Tue, 03 Dec 2002 09:47:19 -0500
Looks good to me.
Lincoln
On Monday 02 December 2002 01:10 pm, Ewan Birney wrote:
> I will soon commit this which is reorganise the documentation in
> Bio::Seq, Bio::SeqI, Bio::PrimarySeqI and Bio::PrimarySeq to stress
> that Bio::Seq has the best documentation and starting point for users
> of the package. I am also using [Developers] in the =head1 NAME line to
> indicate that a package is for developers only.
>
> I will commit this because I think this is much much better than what is
> there at the moment, which was pretty confusing, but recent-newbies - any
> other thoughts about this synopsis and also any other reassuring words
> to make in Bio::Seq?
>
>
> Here is the Bio::Seq synopsis...
>
>
>
> # This is the main sequence object in Bioperl
>
> # gets a sequence from a file
> $seqio = Bio::SeqIO->new( '-format' => 'embl' , -file =>
> 'myfile.dat'); $seqobj = $seqio->next_seq();
>
> # SeqIO can both read and write sequences; see Bio::SeqIO
> # for more information and examples
>
> # get from database
> $db = Bio::DB::GenBank->new();
> $seqobj = $db->get_Seq_by_acc('X78121');
>
> # make from strings in script
> $seqobj = Bio::Seq->new( -display_id => 'my_id',
> -seq => $sequence_as_string);
>
> # gets sequence as a string from sequence object
> $seqstr = $seqobj->seq(); # actual sequence as a string
> $seqstr = $seqobj->subseq(10,50); # slice in biological coordinates
>
> # retrieves information from the sequence
> # features must implement Bio::SeqFeatureI interface
>
> @features = $seqobj->get_SeqFeatures(); # just top level
> foreach my $feat ( @features ) {
> print "Feature ",$feat->primary_tag," starts ",$feat->start," ends ",
> $feat->end," strand ",$feat->strand,"\n";
>
> # features retain link to underlying sequence object
> print "Feature sequence is ",$feat->seq->seq(),"\n"
> }
>
> # sequences may have a species
>
> if( defined $seq->species ) {
> print "Sequence is from ",$species->binomial_name,"
> [",$species->common_name,"]\n"; }
>
> # annotation objects are Bio::AnnotationCollectionI's
> $ann = $seqobj->annotation(); # annotation object
>
> # references is one type of annotations to get. Also get
> # comment and dblink. Look at Bio::AnnotationCollection for
> # more information
>
> foreach my $ref ( $ann->get_Annotations('reference') ) {
> print "Reference ",$ref->title,"\n";
> }
>
> # you can get truncations, translations and reverse complements, these
> # all give back Bio::Seq objects themselves, though currently with no
> # features transfered
>
> my $trunc = $seqobj->trunc(100,200);
> my $rev = $seqobj->revcom();
>
> # there are many options to translate
> my $trans = $seqobj->translate();
>
> # these functions can be chained together
>
> my $trans_trunc_rev = $seqobj->trunc(100,200)->revcom->translate();
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
--
Lincoln Stein
lstein@cshl.org