Scroll to navigation

Stone::GB_Sequence(3pm) User Contributed Perl Documentation Stone::GB_Sequence(3pm)


Stone::GB_Sequence - Specialized Access to GenBank Records


  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);


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.


This class is not intended to be created directly, but via a Boulder::Genbank stream.


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.

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.

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.

$seqObj = $entry->bioSeq;

Returns a Bio::Seq object from the Bioperl project. Dies with an error message unless the Bio::Seq module is installed.


Lincoln D. Stein <>.


Copyright 1997-1999, Cold Spring Harbor Laboratory, Cold Spring Harbor NY. This module can be used and distributed on the same terms as Perl itself.


Boulder, <Boulder:Genbank>, Stone

2022-06-08 perl v5.34.0