The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

InSilicoSpectro::InSilico::Peptide - A class for digestion products

SYNOPSIS

use InSilicoSpectro::InSilico::Peptide;

DESCRIPTION

This class role is to model peptides obtained by enzymatic digestion (InSilicoSpectro::InSilico::CleavEnzyme) from a protein sequence (InSilicoSpectro::InSilico::AASequence).

ATTRIBUTES

sequence
modif

The localized modifications for MS/MS computations or a list of modifications with number of occurence for PMF computations. See method getModifType.

parentProtein

A InSilicoSpectro::InSilico::AASequence object containing the protein sequence from which the peptide has been obtained.

start

Start position in the parent protein sequence.

end

End position in the parent protein sequence.

readingFrame

Useful in case the digested protein sequence came from DNA/RNA translation.

nTerm

Boolean, is the peptide an N-terminal peptide.

cTerm

Boolean, is the peptide a C-terminal peptide.

enzyme

The enzyme that yielded the peptide (useful for mass computations because of NTermGain and CTermGain for "exotic" enzymes); must be of class InSilicoSpectro::InSilico::CleavEnzyme.

aaBefore

Amino acid immediately before the peptide (at its N-terminus).

aaAfter

Amino acid immediately after the peptide (at its C-terminus).

enzymatic

Was the peptide cleaved by the enzyme at its both ends (value 'full'), at its N-terminus only (value 'half-N'), at its C-terminus only (value 'half-C'), or not enzymatic (value 'no').

This method is the accessor/modifier for attribute enzymatic.

nmc

Number of missed cleavages.

addProton

Set to 1 if you want to add the mass of one proton to the peptide mass when it is computed (for PMF). Otherwise either set to 0 or do not set.

METHODS

new(%h|$Peptide)

Constructor. %h is a hash of attribute=>value pairs, $Peptide is a InSilicoSpectro::InSilico::Peptide object, from which the attributes are copied.

Accessors and modifiers

parentProtein([$val])

Returns the parent protein object (InSilicoSpectro::InSilico::AASequence). If $val is given, then the parent protein is set to $val.

The end and start positions are left unchanged by this method, hence do not forget to ajust them if needed. The readingFrame is copied from the protein.

sequence([$val])

Returns the peptide sequence as a string. If $val is given then the peptide sequence is set to $val.

enzyme([$val])

Enzyme accessor/modifier.

location($start, $end, readingFrame)

Returns a vector with (start, end, readingFrame). If $start, $end, and readingFrame are given then it sets them.

start([$val])

Start position accessor/modifier.

end([$val])

End position accessor/modifier.

readingFrame([$val])

readingFrame accessor/modifier: sets readingFrame attribute if $val is given, returns the readingFrame attribute.

nTerm([$val])

NTerm position accessor/modifier.

cTerm([$val])

CTerm position accessor/modifier.

addProton([$val])

aaBefore position accessor/modifier.

aaBefore([$val])

NTerm position accessor/modifier.

aaAfter([$val])

aaAfter accessor/modifier.

enzymatic([$val])

Enzymatic status accessor/modifier.

nmc([$val])

Number of missed cleavages accessor/modifier.

modif([$modif])

Modifications accessor/modifier: sets modifications if $modif, a reference to vector of modification names or a string is given (see Pheny::InSilico::MassCalculator::variablePeptide function for instance), returns a reference to a vector of modifications. This vector can be converted into a string for display purpose by the Pheny::InSilico::MassCalculator::modifToString function.

modifAt($pos, [$modif])

Accessor/modifier for modification at position $pos. Sets the modification if $modif, a string, is provided.

$pos = 0 is the N-terminal site, $pos = peptide length +1 is the C-terminal site, and 1 <= $pos <= peptide length correspond to amino acids.

To remove a modification set it to an empty string ''.

This method is for localized modifications in view of MS/MS and forces the modification type to be MS/MS (clears previous PMF modifications if any).

addPmfModif($num, $modifName)

Adds a new pair (number of occurence, modification name) to the pmfModif list. This method is for PMF and it forces the modification type to be PMF (clears previous MS/MS modifications if any).

clearModif

Clears modifications.

getModifType

Returns the modification type ('PMF' or 'MS/MS') or undef if no type is defined, i.e. no modifications are set.

getMass

Returns the peptide mass or undefined in case either the peptide sequence is not set or there are variable modifications.

getMoZ(charge)

getLength

Returns peptide sequence length.

I/O

toString

Returns a string made of the amino acids before and after and the peptide sequence. Example 'K.ATURPLJK.S'.

Overloaded "" operator

Returns the string returned by toString.

print

Prints a complete peptide description.

EXAMPLES

See t/InSilico/testPeptide.pl and t/InSilico/testCalcDigestOOP.pl.

AUTHORS

Jacques Colinge, Upper Austria University of Applied Science at Hagenberg

Alexandre Masselot, www.genebio.com