Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Member Functions | Protected Attributes

ProtonDistributionModel Class Reference

A proton distribution model to calculate the proton distribution over charged peptides. More...

#include <OpenMS/ANALYSIS/ID/ProtonDistributionModel.h>

Inheritance diagram for ProtonDistributionModel:
DefaultParamHandler

List of all members.

Public Types

Enumerations

enum  FragmentationType { ChargeDirected = 0, ChargeRemote, SideChain }
 

the type of fragmentation

More...

Public Member Functions

ProtonDistributionModeloperator= (const ProtonDistributionModel &pdm)
 assignment operator
void getProtonDistribution (std::vector< DoubleReal > &bb_charges, std::vector< DoubleReal > &sc_charges, const AASequence &peptide, Int charge, Residue::ResidueType res_type=Residue::YIon)
 calculates a proton distribution of the given charged peptide
void getChargeStateIntensities (const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, Int charge, Residue::ResidueType n_term_type, std::vector< DoubleReal > &n_term_intensities, std::vector< DoubleReal > &c_term_intensities, FragmentationType type)
 calculates the charge state intensities of different charge states of the same ion
void setPeptideProtonDistribution (const std::vector< DoubleReal > &bb_charge, const std::vector< DoubleReal > &sc_charge)
 sets the proton distributions of the whole peptide, they are needed for the getChargeStateIntensities_ method and need to be recalculated each time if not given

 ProtonDistributionModel ()
 default constructor
 ProtonDistributionModel (const ProtonDistributionModel &model)
 copy constructor
virtual ~ProtonDistributionModel ()
 destructor

Protected Member Functions

void calculateProtonDistribution_ (const AASequence &peptide, Int charge, Residue::ResidueType res_type=Residue::YIon, bool fixed_proton=false, Size cleavage_site=0, bool use_most_basic_site=false)
void calculateProtonDistributionCharge1_ (const AASequence &peptide, Residue::ResidueType res_type)
void calculateProtonDistributionCharge2_ (const AASequence &peptide, Residue::ResidueType res_type, bool fixed_proton, Size cleavage_site, bool use_most_basic_site)
void calculateProtonDistributionGreater2_ (const AASequence &peptide, Int charge, Residue::ResidueType res_type)
void calculateProtonDistributionIonPair_ (const AASequence &peptide, Residue::ResidueType type, Size cleavage_site)
void calcChargeStateIntensities_ (const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, Int charge, Residue::ResidueType n_term_type, std::vector< DoubleReal > &n_term_intensities, std::vector< DoubleReal > &c_term_intensities, FragmentationType type)
void calcChargeStateIntensities_ (const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, Int charge, Residue::ResidueType n_term_type, DoubleReal &n_term1, DoubleReal &c_term1, DoubleReal &n_term2, DoubleReal &c_term2, FragmentationType type)
void getLeftAndRightGBValues_ (const AASequence &peptide, DoubleReal &left_gb, DoubleReal &right_gb, Size position)

Protected Attributes

std::vector< DoubleRealsc_charge_
std::vector< DoubleRealbb_charge_
std::vector< DoubleRealsc_charge_full_
std::vector< DoubleRealbb_charge_full_
std::vector< DoubleRealsc_charge_ion_n_term_
std::vector< DoubleRealbb_charge_ion_n_term_
std::vector< DoubleRealsc_charge_ion_c_term_
std::vector< DoubleRealbb_charge_ion_c_term_
DoubleReal E_
DoubleReal E_c_term_
DoubleReal E_n_term_

Detailed Description

A proton distribution model to calculate the proton distribution over charged peptides.

The model uses proton affinity values of backbone nitrogens and sidechains to calculate the proton distribution of charged peptide among these sites. The possible sites are the peptide bonds between the amino acids, the side chains and the C-terminus and N-terminus. The calculation is done calculating a Boltzmann distribution of the sites.

Details and the proton affinities can be found in Z. Zhang, Prediction of Low-Energy Collision-Induced Dissociation Spectra of Peptides, Anal. Chem., 76 (14), 3908 - 3922, 2004

A proton distribution can be calculated using the getProtonDistribution method. The backbone probabilities are reported in the first parameter (index 0 for the N-terminus, index 1 for the first peptide bond...), the site chain probabilities are reported in the second parameter (index 0, for the first amino acid...). The peptide and the number of protons as well as type of peptide (can be Reside::YIon for peptides and y-ions and any other ion type).

Charge state intensities of differently charged equal (e.g. y7+ and y7++) ions can be calculated using the getChargeStateIntensities function.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
gb_bb_l_NH2 float916.84  Gas-phase basicity value of N-terminus
gb_bb_r_COOH float-95.82  Gas-phase basicity value of C-terminus
gb_bb_r_b-ion float36.46  Gas-phase basicity value of b-ion C-terminus
gb_bb_r_a-ion float46.85  Gas-phase basicity value of a-ion C-terminus
sigma float0.5  Width of the gaussian which distributes the mobile protons over the charge states, only for z > 3.
temperature float500  Temperature term

Note:

Member Enumeration Documentation

the type of fragmentation

Enumerator:
ChargeDirected 
ChargeRemote 
SideChain 

Constructor & Destructor Documentation

default constructor

Constructor and destructors

copy constructor

virtual ~ProtonDistributionModel (  )  [virtual]

destructor


Member Function Documentation

void calcChargeStateIntensities_ ( const AASequence peptide,
const AASequence n_term_ion,
const AASequence c_term_ion,
Int  charge,
Residue::ResidueType  n_term_type,
std::vector< DoubleReal > &  n_term_intensities,
std::vector< DoubleReal > &  c_term_intensities,
FragmentationType  type 
) [protected]
void calcChargeStateIntensities_ ( const AASequence peptide,
const AASequence n_term_ion,
const AASequence c_term_ion,
Int  charge,
Residue::ResidueType  n_term_type,
DoubleReal n_term1,
DoubleReal c_term1,
DoubleReal n_term2,
DoubleReal c_term2,
FragmentationType  type 
) [protected]
void calculateProtonDistribution_ ( const AASequence peptide,
Int  charge,
Residue::ResidueType  res_type = Residue::YIon,
bool  fixed_proton = false,
Size  cleavage_site = 0,
bool  use_most_basic_site = false 
) [protected]
void calculateProtonDistributionCharge1_ ( const AASequence peptide,
Residue::ResidueType  res_type 
) [protected]
void calculateProtonDistributionCharge2_ ( const AASequence peptide,
Residue::ResidueType  res_type,
bool  fixed_proton,
Size  cleavage_site,
bool  use_most_basic_site 
) [protected]
void calculateProtonDistributionGreater2_ ( const AASequence peptide,
Int  charge,
Residue::ResidueType  res_type 
) [protected]
void calculateProtonDistributionIonPair_ ( const AASequence peptide,
Residue::ResidueType  type,
Size  cleavage_site 
) [protected]
void getChargeStateIntensities ( const AASequence peptide,
const AASequence n_term_ion,
const AASequence c_term_ion,
Int  charge,
Residue::ResidueType  n_term_type,
std::vector< DoubleReal > &  n_term_intensities,
std::vector< DoubleReal > &  c_term_intensities,
FragmentationType  type 
)

calculates the charge state intensities of different charge states of the same ion

Parameters:
peptide the peptide
n_term_ion the prefix ion sequence
c_term_ion the suffix ion sequence
charge the charge
n_term_type the ion type of the N-terminal ion; valid values are Residue::AIon, Residue::BIon
n_term_intensities the probability of seeing a charged prefix ions (first index corresponds to ion of charge 1)
c_term_intensities the probability of seeing a charged suffix ions (first index corresponds to ion of charge 2)
type the type of fragmentation (charge-directed, charge-remote of side chain)
void getLeftAndRightGBValues_ ( const AASequence peptide,
DoubleReal left_gb,
DoubleReal right_gb,
Size  position 
) [protected]
void getProtonDistribution ( std::vector< DoubleReal > &  bb_charges,
std::vector< DoubleReal > &  sc_charges,
const AASequence peptide,
Int  charge,
Residue::ResidueType  res_type = Residue::YIon 
)

calculates a proton distribution of the given charged peptide

Parameters:
bb_charges the calculated probabilities of the backbone sites (including N-terminus and C-terminus)
sc_charges the calculated probabilities of the side chain sites
peptide the peptide
charge the charge
res_type the type of the ion given in peptide. Peptides are handled as y-ions, i.e. Residue::YIon
ProtonDistributionModel& operator= ( const ProtonDistributionModel pdm  ) 

assignment operator

void setPeptideProtonDistribution ( const std::vector< DoubleReal > &  bb_charge,
const std::vector< DoubleReal > &  sc_charge 
)

sets the proton distributions of the whole peptide, they are needed for the getChargeStateIntensities_ method and need to be recalculated each time if not given


Member Data Documentation

std::vector<DoubleReal> bb_charge_ [protected]
std::vector<DoubleReal> bb_charge_full_ [protected]
std::vector<DoubleReal> bb_charge_ion_c_term_ [protected]
std::vector<DoubleReal> bb_charge_ion_n_term_ [protected]
DoubleReal E_ [protected]
DoubleReal E_c_term_ [protected]
DoubleReal E_n_term_ [protected]
std::vector<DoubleReal> sc_charge_ [protected]
std::vector<DoubleReal> sc_charge_full_ [protected]
std::vector<DoubleReal> sc_charge_ion_c_term_ [protected]
std::vector<DoubleReal> sc_charge_ion_n_term_ [protected]

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:49 using doxygen 1.7.1