Bio::Das::Segment::Feature - A genomic annotation
use Bio::Das; # contact a DAS server using the "elegans" data source my $das = Bio::Das->new('http://www.wormbase.org/db/das' => 'elegans'); # fetch a segment my $segment = $das->segment(-ref=>'CHROMOSOME_I',-start=>10_000,-stop=>20_000); # get features from segment for my $feature ($segment->features) { my $id = $feature->id; my $label = $feature->label; my $type = $feature->type; my $category = $feature->category; my $refseq = $feature->refseq; my $reference = $feature->reference; my $start = $feature->start; my $stop = $feature->stop; my $score = $feature->score; my $orientation = $feature->orientation; my $phase = $feature->phase; my $link = $feature->link; my $group = $feature->group; my @subs = $feature->sub_seqFeature; }
A Bio::Das::Segment::Feature object contains information about a feature on the genome retrieve from a DAS server. Each feature -- also known as an "annotation" -- has a start and end position on the genome relative to a reference sequence, as well as a human-readable label, a feature type, a category, and other information. Some features may have subfeatures. The attributes of a feature are described at http://biodas.org.
Bio::Das::Segment::Feature objects are created by calling the features() method of a Bio::Das::Segment object created earlier. See Bio::Das::Segment for details.
The following methods provide access to the attributes of a feature. Most are implemented as read/write accessors: calling them without an argument returns the current value of the attribute. Calling the methods with an argument sets the attribute and returns its previous value.
Get or set the feature ID. This is an identifier for the feature, unique across the DAS server from which it was retrieved.
Get or set the label for the feature. This is an optional human-readable label that may be used to display the feature in text form. You may use the ID if label() returns undef.
Get or set the type of the feature. This is a required attribute. The value returned is an object of type Bio::Das::Type, which contains information about the type of the annotation and the method used to derive it.
Get or set the Bio::Das::Segment from which this feature was derived.
Get the Bio::Das object from which this feature was retrieved. This method is a front end to the associated segment's source() method, and is therefore read-only.
Get the reference sequence on which this feature's coordinates are based. This method is a front end to the associated segment's refseq() method, and is therefore read-only.
Get or set the starting position of the feature, in refseq coordinates.
Get or set the stopping position of the feature, in refseq coordinates.
Get or set the value of the "reference" flag, which is true if the feature can be used as a sequence coordinate landmark.
Return the ID of the method used to derive this feature. This is a front end to the feature type's method() method (redundancy intended) and is therefore read-only.
Return the ID of the category in which this feature calls. This is a front end to the feature type's category() method and is therefore read-only.
Get or set the score of this feature, a floating point number which might mean something in the right context.
Get or set the orientation of this feature relative to the genomic reference sequence. This is one of the values +1, 0 or -1.
Get or set the phase of the feature (its position relative to a reading frame). The returned value can be 0, 1, 2 or undef if the phase is irrelevant to this feature type.
Get or set the group ID for the feature. Groups are used to group together logically-related features, such as the exons of a gene model.
Get or set the URL that will return additional information about the feature.
Get or set the label that the DAS server recommends should be used for the link.
Get or set the human-readable note associated with the feature.
The tag* methods work just like they do in Bio::SeqFeatureI. The attributes() method follows the conventions in Bio::DB::SeqFeature.
These three methods get or set the target that is optionally associated with alignments. In a scalar context, target() returns the ID of the target, while in an array context, the method returns a three-element list consisting of the target ID, and the start and end position of the alignment.
You may pass a three-element list to change the target and range.
This method returns an optional label assigned to the target.
This method returns a human-readable description of the feature. It returns the value of note(), link_label() or target_label(), in that priority.
These methods are aliases. Both return an array of sub-parts of the feature in the form of Das::Sequence::Feature objects. Currently (March 2001) this is only implemented for grouped objects of type "similarity" and for transcripts (the union of introns and exons in a group).
In addition to the methods listed above, Bio::Das::Segment::Feature implements all the methods required for the Bio::SeqFeatureI class.
Title : get_SeqFeatures Usage : @feat = $feature->get_SeqFeatures([$method]) Function: get subfeatures Returns : a list of Bio::DB::GFF::Feature objects Args : a feature method (optional) Status : Public
This method returns a list of any subfeatures that belong to the main feature. For those features that contain heterogeneous subfeatures, you can retrieve a subset of the subfeatures by providing a method name to filter on.
Title : add_subfeature Usage : $feature->add_subfeature($feature) Function: add a subfeature to the feature Returns : nothing Args : a Bio::DB::GFF::Feature object Status : Public
This method adds a new subfeature to the object. It is used internally by aggregators, but is available for public use as well.
Title : adjust_bounds Usage : $feature->adjust_bounds Function: adjust the bounds of a feature Returns : ($start,$stop,$strand) Args : none Status : Public
This method adjusts the boundaries of the feature to enclose all its subfeatures. It returns the new start, stop and strand of the enclosing feature.
Title : sort_features Usage : $feature->sort_features Function: sort features Returns : nothing Args : none Status : Public
This method sorts subfeatures in ascending order by their start position. For reverse strand features, it sorts subfeatures in descending order. After this is called sub_SeqFeature will return the features in order.
This method is called internally by merged_segments().
Title : compound Usage : $flag = $f->compound([$newflag]) Function: get or set the compound flag Returns : a boolean Args : a new flag (optional) Status : Public
This method gets or sets a flag indicated that the feature is not a primary one from the DAS server, but the result of aggregation.
When used in a string context, Bio::Das::Segment::Feature objects invoke the toString() method. This returns the value of the feature's label, or invokes the inherited Bio::Das::Segment->toString() method if no label is available.
Lincoln Stein <lstein@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.
Bio::Das, Bio::Das::Type, Bio::Das::Segment, Bio::Das::Transcript, Bio::Das::Segment::GappedAlignment, Bio::RangeI
1 POD Error
The following errors were encountered while parsing the POD:
You forgot a '=back' before '=head2'
To install Bio::Das, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::Das
CPAN shell
perl -MCPAN -e shell install Bio::Das
For more information on module installation, please visit the detailed CPAN module installation guide.