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 the Ace::Sequence::Feature manpage 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

the Ace manpage, the Ace::Object manpage, the Ace::Sequence manpage,the Ace::Sequence::Homol manpage, the Ace::Sequence::FeatureList manpage, 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.