Ace::Sequence::FeatureList(3) Lightweight Access to Features


# 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);
# find out what's there
$list = $seq->feature_list;
# Scalar context: count all the features
$feature_count = $list->types;
# Array context: list all the feature types
@feature_types = $list->types;
# Scalar context, 1 argument. Count this type
$gene_cnt = $list->types('Predicted_gene');
print "There are $gene_cnt genes here.\n";
# Array context, 1 argument. Get list of subtypes
@subtypes = $list->types('Predicted_gene');
# Two arguments. Count type & subtype
$genefinder_cnt = $list->types('Predicted_gene','genefinder');


Ace::Sequence::FeatureList is a small class that provides statistical information about sequence features. From it you can obtain summary counts of the features and their types within a selected region.


You will not ordinarily create an Ace::Sequence::FeatureList object directly. Instead, objects will be created by calling a Ace::Sequence object's feature_list() method. If you wish to create an Ace::Sequence::FeatureList object directly, please consult the source code for the new() method.


There are only two methods in Ace::Sequence::FeatureList.
This method has five distinct behaviors, depending on its context and the number of parameters. Usage should be intuitive

 Context       Arguments       Behavior
 -------       ---------       --------
 scalar         -none-         total count of features in list
 array          -none-         list feature types (e.g. "exon")
 scalar          type          count features of this type
 array           type          list subtypes of this type
 -any-       type,subtype      count features of this type & subtype

For example, this code fragment will count the number of exons present on the list:

  $exon_count = $list->type('exon');

This code fragment will count the number of exons found by ``genefinder'':

  $predicted_exon_count = $list->type('exon','genefinder');

This code fragment will print out all subtypes of ``exon'' and their counts:

  for my $subtype ($list->type('exon')) {
      print $subtype,"\t",$list->type('exon',$subtype),"\n";
  print $list->asString;

This dumps the list out in tab-delimited format. The order of columns is type, subtype, count.


Lincoln Stein <[email protected]> with extensive help from Jean Thierry-Mieg <[email protected]>

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.