| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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:

## Public Types

Enumerations
enum | FragmentationType { ChargeDirected = 0, ChargeRemote, SideChain }
| the type of fragmentation More...

## Public Member Functions

ProtonDistributionModel & | operator= (const ProtonDistributionModel &pdm)
| assignment operator More...
void | getProtonDistribution (std::vector< double > &bb_charges, std::vector< double > &sc_charges, const AASequence &peptide, Int charge, Residue::ResidueType res_type=Residue::YIon)
| calculates a proton distribution of the given charged peptide More...
void | getChargeStateIntensities (const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, Int charge, Residue::ResidueType n_term_type, std::vector< double > &n_term_intensities, std::vector< double > &c_term_intensities, FragmentationType type)
| calculates the charge state intensities of different charge states of the same ion More...
void | setPeptideProtonDistribution (const std::vector< double > &bb_charge, const std::vector< 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 More...
| ProtonDistributionModel ()
| default constructor More...
| ProtonDistributionModel (const ProtonDistributionModel &model)
| copy constructor More...
| ~ProtonDistributionModel () override
| destructor More...
Public Member Functions inherited from DefaultParamHandler
| DefaultParamHandler (const String &name)
| Constructor with name that is displayed in error messages. More...
| DefaultParamHandler (const DefaultParamHandler &rhs)
| Copy constructor. More...
virtual | ~DefaultParamHandler ()
| Destructor. More...
virtual DefaultParamHandler & | operator= (const DefaultParamHandler &rhs)
| Assignment operator. More...
virtual bool | operator== (const DefaultParamHandler &rhs) const
| Equality operator. More...
void | setParameters (const Param &param)
| Sets the parameters. More...
const Param & | getParameters () const
| Non-mutable access to the parameters. More...
const Param & | getDefaults () const
| Non-mutable access to the default parameters. More...
const String & | getName () const
| Non-mutable access to the name. More...
void | setName (const String &name)
| Mutable access to the name. More...
const std::vector< String > & | getSubsections () const
| Non-mutable access to the registered subsections. More...

## 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< double > &n_term_intensities, std::vector< double > &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, 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, Size position)
Protected Member Functions inherited from DefaultParamHandler
virtual void | updateMembers_ ()
| This method is used to update extra member variables at the end of the setParameters() method. More...
void | defaultsToParam_ ()
| Updates the parameters after the defaults have been set in the constructor. More...

## Protected Attributes

std::vector< double > | sc_charge_
std::vector< double > | bb_charge_
std::vector< double > | sc_charge_full_
std::vector< double > | bb_charge_full_
std::vector< double > | sc_charge_ion_n_term_
std::vector< double > | bb_charge_ion_n_term_
std::vector< double > | sc_charge_ion_c_term_
std::vector< double > | bb_charge_ion_c_term_
double | E_
double | E_c_term_
double | E_n_term_
Protected Attributes inherited from DefaultParamHandler
Param | param_
| Container for current parameters. More...
Param | defaults_
| Container for default parameters. This member should be filled in the constructor of derived classes! More...
std::vector< String > | subsections_
| Container for registered subsections. This member should be filled in the constructor of derived classes! More...
String | error_name_
| Name that is displayed in error messages during the parameter checking. More...
bool | check_defaults_
| If this member is set to false no checking if parameters in done;. More...
bool | warn_empty_defaults_
| If this member is set to false no warning is emitted when defaults are empty;. More...

## 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:

Name | Type | Default | Restrictions | Description
--- | --- | --- | --- | ---
gb_bb_l_NH2 | float | 916.840000000000032 |  | Gas-phase basicity value of N-terminus
gb_bb_r_COOH | float | -95.819999999999993 |  | Gas-phase basicity value of C-terminus
gb_bb_r_b-ion | float | 36.460000000000001 |  | Gas-phase basicity value of b-ion C-terminus
gb_bb_r_a-ion | float | 46.850000000000001 |  | Gas-phase basicity value of a-ion C-terminus
sigma | float | 0.5 |  | Width of the gaussian which distributes the mobile protons over the charge states, only for z > 3.
temperature | float | 500.0 |  | Temperature term

Note:

- If a section name is documented, the documentation is displayed as tooltip.
- Advanced parameter names are italic.

## Member Enumeration Documentation

## ◆ FragmentationType

enum FragmentationType

the type of fragmentation

Enumerator
ChargeDirected |
ChargeRemote |
SideChain |

## Constructor & Destructor Documentation

## ◆ ProtonDistributionModel() [1/2]

ProtonDistributionModel | ( |  | ) |

default constructor

Constructor and destructors

## ◆ ProtonDistributionModel() [2/2]

ProtonDistributionModel | ( | const ProtonDistributionModel & | model | ) |

copy constructor

## ◆ ~ProtonDistributionModel()

~ProtonDistributionModel | ( |  | ) |

override

destructor

## Member Function Documentation

## ◆ calcChargeStateIntensities_() [1/2]

void calcChargeStateIntensities_ | ( | const AASequence & | peptide,
|  | const AASequence & | n_term_ion,
|  | const AASequence & | c_term_ion,
|  | Int | charge,
|  | Residue::ResidueType | n_term_type,
|  | std::vector< double > & | n_term_intensities,
|  | std::vector< double > & | c_term_intensities,
|  | FragmentationType | type
| ) |  |

protected

## ◆ calcChargeStateIntensities_() [2/2]

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

## ◆ calculateProtonDistribution_()

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

## ◆ calculateProtonDistributionCharge1_()

void calculateProtonDistributionCharge1_ | ( | const AASequence & | peptide,
|  | Residue::ResidueType | res_type
| ) |  |

protected

## ◆ calculateProtonDistributionCharge2_()

void calculateProtonDistributionCharge2_ | ( | const AASequence & | peptide,
|  | Residue::ResidueType | res_type,
|  | bool | fixed_proton,
|  | Size | cleavage_site,
|  | bool | use_most_basic_site
| ) |  |

protected

## ◆ calculateProtonDistributionGreater2_()

void calculateProtonDistributionGreater2_ | ( | const AASequence & | peptide,
|  | Int | charge,
|  | Residue::ResidueType | res_type
| ) |  |

protected

## ◆ calculateProtonDistributionIonPair_()

void calculateProtonDistributionIonPair_ | ( | const AASequence & | peptide,
|  | Residue::ResidueType | type,
|  | Size | cleavage_site
| ) |  |

protected

## ◆ getChargeStateIntensities()

void getChargeStateIntensities | ( | const AASequence & | peptide,
|  | const AASequence & | n_term_ion,
|  | const AASequence & | c_term_ion,
|  | Int | charge,
|  | Residue::ResidueType | n_term_type,
|  | std::vector< double > & | n_term_intensities,
|  | std::vector< double > & | 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)

## ◆ getLeftAndRightGBValues_()

void getLeftAndRightGBValues_ | ( | const AASequence & | peptide,
|  | double & | left_gb,
|  | double & | right_gb,
|  | Size | position
| ) |  |

protected

## ◆ getProtonDistribution()

void getProtonDistribution | ( | std::vector< double > & | bb_charges,
|  | std::vector< 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

## ◆ operator=()

ProtonDistributionModel& operator= | ( | const ProtonDistributionModel & | pdm | ) |

assignment operator

## ◆ setPeptideProtonDistribution()

void setPeptideProtonDistribution | ( | const std::vector< double > & | bb_charge,
|  | const std::vector< 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

## Member Data Documentation

## ◆ bb_charge_

std::vector<double> bb_charge_

protected

## ◆ bb_charge_full_

std::vector<double> bb_charge_full_

protected

## ◆ bb_charge_ion_c_term_

std::vector<double> bb_charge_ion_c_term_

protected

## ◆ bb_charge_ion_n_term_

std::vector<double> bb_charge_ion_n_term_

protected

## ◆ E_

double E_

protected

## ◆ E_c_term_

double E_c_term_

protected

## ◆ E_n_term_

double E_n_term_

protected

## ◆ sc_charge_

std::vector<double> sc_charge_

protected

## ◆ sc_charge_full_

std::vector<double> sc_charge_full_

protected

## ◆ sc_charge_ion_c_term_

std::vector<double> sc_charge_ion_c_term_

protected

## ◆ sc_charge_ion_n_term_

std::vector<double> sc_charge_ion_n_term_

protected