Bio::Protease



SYNOPSIS

    use Bio::Protease;
    my $protease = Bio::Protease->new(specificity => 'trypsin');
    my $protein = 'MRAERVIKP'; # Could also be a Bio::Seq object.
    # Perform a full digestion
    my @products = $protease->digest($protein);
    # products: ( 'MR', 'AER', 'VIKP' )
    # Get all the siscile bonds.
    my @sites = $protease->cleavage_sites($protein);
    # sites: ( 2, 5 )
    # Try to cut at a specific position.
    @products = $protease->cut($protein, 2);
    # products: ( 'MR', 'AERVIKP' )


WARNING: ALPHA CODE

This module is still in its infancy, and I might change its interface in the future (although I'm not planning to). Use at your own discretion (but please do, and send feedback!).


DESCRIPTION

This module models the hydrolitic behaviour of a proteolytic enzyme. Its main purpose is to predict the outcome of hydrolitic cleavage of a peptidic substrate.

The enzyme specificity is currently modeled for 32 enzymes/reagents. This models are somewhat simplistic as they are largely regex-based, and do not take into account subtleties such as kinetic/temperature effects, accessible solvent area, secondary or tertiary structure elements. However, the module is flexible enough to allow the inclusion of any of these effects by subclassing from the module's interface, Bio::ProteaseI.


Attributes And Methods

specificity

Set the enzyme's specificity. Required. Could be either of:

digest($substrate)

Performs a complete digestion of the peptide argument, returning a list with possible products. It does not do partial digests (see method cut for that).

    my @products = $enzyme->digest($protein);

cut($substrate, $i)

Attempt to cleave $substrate at the C-terminal end of the $i-th residue (ie, at the right). If the bond is indeed cleavable (determined by the enzyme's specificity), then a list with the two products of the hydrolysis will be returned. Otherwise, returns false.

    my @products = $enzyme->cut($peptide, $position);

cleavage_sites($protein)

Returns a list with siscile bonds (bonds susceptible to be cleaved as determined by the enzyme's specificity). Bonds are numbered starting from 1, from N to C-terminal.


Class Attributes

Specificities

A hash reference with all the available regexep-based specificities. The keys are the specificity names, the value is an arrayref with the regular expressions that define it.

    my @protease_pool = do {
        Bio::Protease->new(specificity => $_)
            for keys %{Bio::Protease->Specificities};
    }

As a rule, all specificity names are lower case. Currently, they include:

For a complete description of their specificities, you can check out http://www.expasy.ch/tools/peptidecutter/peptidecutter_enzymes.html, or look at the regular expressions of their definitions in this same file.


SEE ALSO

PeptideCutter This module's idea is largely based on Expasy's PeptideCutter(http://www.expasy.ch/tools/peptidecutter/). For more information on the experimental evidence that supports both the algorithm and the specificity definitions, check their page.

 Bio::Protease