Ace::Sequence::Feature - Examine Sequence Feature Tables
# open database connection and get an Ace::Object sequence
use Ace::Sequence;
# get a megabase from the middle of chromosome I
$seq = Ace::Sequence->new(-name => 'CHROMOSOME_I,
-db => $db,
-offset => 3_000_000,
-length => 1_000_000);
# get all the homologies (a list of Ace::Sequence::Feature objs)
@homol = $seq->features('Similarity');
# Get information about the first one
$feature = $homol[0];
$type = $feature->type;
$subtype = $feature->subtype;
$start = $feature->start;
$end = $feature->end;
$score = $feature->score;
# Follow the target
$target = $feature->info;
# print the target's start and end positions
print $target->start,'-',$target->end, "\n";
Ace::Sequence::Feature is a subclass of
Ace::Sequence::Feature specialized for returning information about
particular features in a GFF format feature table.
You will not ordinarily create an Ace::Sequence::Feature
object directly. Instead, objects will be created in response to a
feature() call to an Ace::Sequence object. If you wish to
create an Ace::Sequence::Feature object directly, please consult the
source code for the new() method.
Most methods are inherited from Ace::Sequence. The
following methods are also supported:
- seqname()
-
$object = $feature->seqname;
Return the ACeDB Sequence object that this feature is attached
to. The return value is an Ace::Object of the Sequence class.
This corresponds to the first field of the GFF format and does not
necessarily correspond to the Ace::Sequence object from which the
feature was obtained (use source_seq() for that).
- source()
- method()
- subtype()
-
$source = $feature->source;
These three methods are all synonyms for the same thing. They
return the second field of the GFF format, called "source" in
the documentation. This is usually the method or algorithm used to
predict the feature, such as "GeneFinder" or "tRNA"
scan. To avoid ambiguity and enhance readability, the method()
and subtype() synonyms are also recognized.
- feature()
- type()
-
$type = $feature->type;
These two methods are also synonyms. They return the type of
the feature, such as "exon", "similarity" or
"Predicted_gene". In the GFF documentation this is called the
"feature" field. For readability, you can also use
type() to fetch the field.
- abs_start()
-
$start = $feature->abs_start;
This method returns the absolute start of the feature within
the sequence segment indicated by seqname(). As in the
Ace::Sequence method, use start() to obtain the start of
the feature relative to its source.
- abs_start()
-
$start = $feature->abs_start;
This method returns the start of the feature relative to the
sequence segment indicated by seqname(). As in the
Ace::Sequence method, you will more usually use the inherited
start() method to obtain the start of the feature relative to its
source sequence (the Ace::Sequence from which it was originally
derived).
- abs_end()
-
$start = $feature->abs_end;
This method returns the end of the feature relative to the
sequence segment indicated by seqname(). As in the
Ace::Sequence method, you will more usually use the inherited
end() method to obtain the end of the feature relative to the
Ace::Sequence from which it was derived.
- score()
-
$score = $feature->score;
For features that are associated with a numeric score, such as
similarities, this returns that value. For other features, this method
returns undef.
- strand()
-
$strand = $feature->strand;
Returns the strandedness of this feature, either
"+1" or "-1". For features that are not stranded,
returns 0.
- reversed()
-
$reversed = $feature->reversed;
Returns true if the feature is reversed relative to its source
sequence.
- frame()
-
$frame = $feature->frame;
For features that have a frame, such as a predicted coding
sequence, returns the frame, either 0, 1 or 2. For other features,
returns undef.
- group()
- info()
- target()
-
$info = $feature->info;
These methods (synonyms for one another) return an Ace::Object
containing other information about the feature derived from the 8th
field of the GFF format, the so-called "group" field. The type
of the Ace::Object is dependent on the nature of the feature. The
possibilities are shown in the table below:
Feature Type Value of Group Field
------------ --------------------
note A Text object containing the note.
similarity An Ace::Sequence::Homology object containing
the target and its start/stop positions.
intron An Ace::Object containing the gene from
exon which the feature is derived.
misc_feature
other A Text object containing the group data.
- asString()
-
$label = $feature->asString;
Returns a human-readable identifier describing the nature of
the feature. The format is:
$type:$name/$start-$end
for example:
exon:ZK154.3/1-67
This method is also called automatically when the object is
treated in a string context.
Ace, Ace::Object, Ace::Sequence,Ace::Sequence::Homol,
Ace::Sequence::FeatureList, GFF
Lincoln Stein <lstein@cshl.org> with extensive help from
Jean Thierry-Mieg <mieg@kaa.crbm.cnrs-mop.fr>
Copyright (c) 1999, Lincoln D. Stein
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.