OpenMS
2.8.0
|
A proton distribution model to calculate the proton distribution over charged peptides. More...
#include <OpenMS/ANALYSIS/ID/ProtonDistributionModel.h>
Public Member Functions | |
ProtonDistributionModel () | |
default constructor More... | |
ProtonDistributionModel (const ProtonDistributionModel &model) | |
copy constructor More... | |
~ProtonDistributionModel () override | |
destructor More... | |
ProtonDistributionModel & | operator= (const ProtonDistributionModel &pdm) |
assignment operator 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 ¶m) |
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... | |
Enumerations | |
enum | FragmentationType { ChargeDirected = 0 , ChargeRemote , SideChain } |
the type of fragmentation More... | |
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_ |
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... | |
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) |
Additional Inherited Members | |
Static Public Member Functions inherited from DefaultParamHandler | |
static void | writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="") |
Writes all parameters to meta values. More... | |
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 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... | |
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 |
enum FragmentationType |
default constructor
Constructor and destructors
ProtonDistributionModel | ( | const ProtonDistributionModel & | model | ) |
copy constructor
|
override |
destructor
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
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< 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
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) |
|
protected |
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
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< 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
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |