Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

ProtonDistributionModel Class Reference

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

Inheritance diagram for ProtonDistributionModel:

DefaultParamHandler

List of all members.


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.

ProtonDistributionModel Parameters are explained on a separate page.

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 (HashMap< UInt, double > &bb_charges, HashMap< UInt, double > &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, double &n_term1, double &c_term1, double &n_term2, double &c_term2, FragmentationType type)
 calculates the charge state intensities of different charge states of the same ion
void setPeptideProtonDistribution (const HashMap< UInt, double > &bb_charge, const HashMap< UInt, double > &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, UInt cleavage_site=0, bool use_most_basic_site=false)
double getProtonAffinity_ (const AASequence &ion, int charge, Residue::ResidueType res_type)
std::vector< double > getChargeStateIntensities_ (const AASequence &peptide, const AASequence &ion, int charge, Residue::ResidueType res_type)
void calcChargeStateIntensities_ (const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, int charge, Residue::ResidueType n_term_type, double &n_term1, double &c_term1, double &n_term2, double &c_term2, FragmentationType type)
void getLeftAndRightGBValues_ (const AASequence &peptide, double &left_gb, double &right_gb, UInt position)

Protected Attributes

HashMap< UInt, double > sc_charge_
HashMap< UInt, double > bb_charge_
HashMap< UInt, double > sc_charge_full_
HashMap< UInt, double > bb_charge_full_
double E_
double E_c_term_
double E_n_term_


Member Enumeration Documentation

enum FragmentationType

the type of fragmentation

Enumerator:
ChargeDirected 
ChargeRemote 
SideChain 


Constructor & Destructor Documentation

ProtonDistributionModel (  ) 

default constructor

Constructor and destructors

ProtonDistributionModel ( const ProtonDistributionModel model  ) 

copy constructor

virtual ~ProtonDistributionModel (  )  [virtual]

destructor


Member Function Documentation

ProtonDistributionModel& operator= ( const ProtonDistributionModel pdm  ) 

assignment operator

void getProtonDistribution ( HashMap< UInt, double > &  bb_charges,
HashMap< UInt, double > &  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

void getChargeStateIntensities ( const AASequence peptide,
const AASequence n_term_ion,
const AASequence c_term_ion,
int  charge,
Residue::ResidueType  n_term_type,
double &  n_term1,
double &  c_term1,
double &  n_term2,
double &  c_term2,
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_term1 the probability of seeing a singly charged prefix ion
c_term1 the probability of seeing a singly charged suffix ion
n_term2 the probability of seeing a doubly charged prefix ion
c_term2 the probability of seeing a doubly charged suffix ion
type the type of fragmentation (charge-directed, charge-remote of side chain)

void setPeptideProtonDistribution ( const HashMap< UInt, double > &  bb_charge,
const HashMap< UInt, double > &  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

void calculateProtonDistribution_ ( const AASequence peptide,
int  charge,
Residue::ResidueType  res_type = Residue::YIon,
bool  fixed_proton = false,
UInt  cleavage_site = 0,
bool  use_most_basic_site = false 
) [protected]

double getProtonAffinity_ ( const AASequence ion,
int  charge,
Residue::ResidueType  res_type 
) [protected]

std::vector<double> getChargeStateIntensities_ ( const AASequence peptide,
const AASequence ion,
int  charge,
Residue::ResidueType  res_type 
) [protected]

void calcChargeStateIntensities_ ( const AASequence peptide,
const AASequence n_term_ion,
const AASequence c_term_ion,
int  charge,
Residue::ResidueType  n_term_type,
double &  n_term1,
double &  c_term1,
double &  n_term2,
double &  c_term2,
FragmentationType  type 
) [protected]

void getLeftAndRightGBValues_ ( const AASequence peptide,
double &  left_gb,
double &  right_gb,
UInt  position 
) [protected]


Member Data Documentation

HashMap<UInt, double> sc_charge_ [protected]

HashMap<UInt, double> bb_charge_ [protected]

HashMap<UInt, double> sc_charge_full_ [protected]

HashMap<UInt, double> bb_charge_full_ [protected]

double E_ [protected]

double E_c_term_ [protected]

double E_n_term_ [protected]


The documentation for this class was generated from the following file:
Generated Tue Apr 1 15:36:41 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1