#include <OpenMS/ANALYSIS/ID/ProtonDistributionModel.h>
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 | |
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 | |
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_ |
enum FragmentationType |
default constructor
Constructor and destructors
ProtonDistributionModel | ( | const ProtonDistributionModel & | model | ) |
copy constructor
virtual ~ProtonDistributionModel | ( | ) | [virtual] |
destructor
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
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
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] |
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] |
Generated Tue Apr 1 15:36:41 2008 -- using doxygen 1.5.4 | OpenMS / TOPP 1.1 |