SYNOPSIS
use Boulder::Genbank; # No need to use Stone::GB_Sequence directly
$gb = Boulder::Genbank->newFh qw(M57939 M28274 L36028);
while ($entry = <$gb>) {
print "Entry's length is ",$entry->length,"\n";
@cds = $entry->match_features(-type=>'CDS');
@exons = $entry->match_features(-type=>'Exon',-start=>100,-end=>300);
}
}
DESCRIPTION
Stone::GB_Sequence provides several specialized access methods to the various fields in a GenBank flat file record. You can return the sequence as a Bio::Seq object, or query the sequence for features that match positional or descriptional criteria that you provide.CONSTRUCTORS
This class is not intended to be created directly, but via a Boulder::Genbank stream.METHODS
In addition to the standard Stone methods and accessors, the following methods are provided. In the synopses, the variable $entry refers to a previously-created Stone::GB_Sequence object.$length = $entry->length
Get the length of the sequence.$start = $entry->start
Get the start position of the sequence, currently always ``1''.$end = $entry->end
Get the end position of the sequence, currently always the same as the length.@feature_list = $entry->features(-pos=>[50,450],-type=>['CDS','Exon'])
features() will search the entry feature list for those features that meet certain criteria. The criteria are specified using the -pos and/or -type argument names, as shown below.- -pos
-
Provide a position or range of positions which the feature must
overlap. A single position is specified in this way:
-pos => 1500; # feature must overlap postion 1500
or a range of positions in this way:
-pos => [1000,1500]; # 1000 to 1500 inclusive
If no criteria are provided, then features() returns all the features, and is equivalent to calling the Features() accessor.
- -type, -types
-
Filter the list of features by type or a set of types. Matches are
case-insensitive, so ``exon'', ``Exon'' and ``EXON'' are all equivalent.
You may call with a single type as in:
-type => 'Exon'
or with a list of types, as in
-types => ['Exon','CDS']
The names ``-type'' and ``-types'' can be used interchangeably.