| Bio::Das::Feature |
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
the Bio::Das::Segment manpage 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.
id([$newid])
Get or set the feature ID. This is an identifier for the feature, unique across the DAS server from which it was retrieved.
label([$newlabel])
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.
type([$newtype])
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.
start([$newstart])
Get or set the starting position of the feature, in refseq coordinates.
stop([$newstop])
Get or set the stopping position of the feature, in refseq coordinates.
stop([$newreference])
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.
score([$newscore])
Get or set the score of this feature, a floating point number which might mean something in the right context.
orientation([$neworientation])
Get or set the orientation of this feature relative to the genomic reference sequence. This is one of the values +1, 0 or -1.
phase([$newphase])
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.
group([$newgroup])
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.
link([$newurl])
Get or set the URL that will return additional information about the feature.
link_label([$newlabel])
Get or set the label that the DAS server recommends should be used for the link.
note([$newnote])
Get or set the human-readable note associated with the feature.
each_tag_value()
=item $feature->all_tags()
=item $feature->add_tag_value()
=item $feature->remove_tag()
=item $feature->attributes()
The tag* methods work just like they do in Bio::SeqFeatureI. The
attributes() method follows the conventions in Bio::DB::SeqFeature.
target($target,$start,$stop)
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.
target_label([$newlabel])
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.
the Bio::Das manpage, the Bio::Das::Type manpage, the Bio::Das::Segment manpage, the Bio::Das::Transcript manpage, the Bio::Das::Segment::GappedAlignment manpage, the Bio::RangeI manpage
| Bio::Das::Feature |