---
name: "Stone::GB_Sequence"
section: "3"
platform: "linux"
package: "libboulder-perl"
version: "1.30-1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/Stone::GB_Sequence"
---

# Stone::GB\_Sequence(3)

Specialized Access to GenBank Records

## NAME

Stone::GB\_Sequence - Specialized Access to GenBank Records

## 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.\

**$seqObj = $entry-\>bioSeq;**

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

## AUTHOR

Lincoln D. Stein \<lstein@cshl.org\>.

## COPYRIGHT

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.

## SEE ALSO

Boulder, \<Boulder:Genbank\>, Stone
