NAME

Ace::Sequence::Feature - Examine Sequence Feature Tables

SYNOPSIS

    # 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";

DESCRIPTION

Ace::Sequence::Feature is a subclass of Ace::Sequence::Feature specialized for returning information about particular features in a GFF format feature table.

OBJECT CREATION

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.

OBJECT METHODS

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.

SEE ALSO

Ace, Ace::Object, Ace::Sequence,Ace::Sequence::Homol, Ace::Sequence::FeatureList, GFF

AUTHOR

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.