Simulates Protein ionization. More...
#include <OpenMS/SIMULATION/IonizationSimulation.h>
Public Types | |
| enum | IonizationType { MALDI, ESI } |
possible ionization methods More... | |
Public Member Functions | |
| IonizationSimulation & | operator= (const IonizationSimulation &source) |
| Assignment operator. | |
| void | ionize (FeatureMapSim &features, ConsensusMap &charge_consensus, MSSimExperiment &experiment) |
| Ionize all peptide features inside the Feature-Map. | |
Constructors and Destructors | |
| IonizationSimulation (const SimRandomNumberGenerator &) | |
| IonizationSimulation (const IonizationSimulation &source) | |
| Copy constructor. | |
| virtual | ~IonizationSimulation () |
| Destructor. | |
Protected Attributes | |
| SimRandomNumberGenerator const * | rnd_gen_ |
| Random number generator. | |
Private Member Functions | |
| IonizationSimulation () | |
| Default constructor. | |
| void | ionizeEsi_ (FeatureMapSim &, ConsensusMap &charge_consensus) |
| ionize using ESI | |
| void | ionizeMaldi_ (FeatureMapSim &, ConsensusMap &charge_consensus) |
| ionize using MALDI | |
| bool | isFeatureValid_ (const Feature &feature) |
| check if feature is within mz bounds of detector | |
| void | setFeatureProperties_ (Feature &f, const DoubleReal &adduct_mass, const String &adduct_formula, const SimChargeType charge, const SimIntensityType new_intensity, const Size parent_index) |
| set meta values, mz etc after adducts are ready | |
| void | setDefaultParams_ () |
| set defaults | |
| void | updateMembers_ () |
| Synchronize members with param class. | |
| UInt | countIonizedResidues_ (const AASequence &) const |
| counts all basic residues inside the amino acid sequence to give an upper bound on the maximal charge during ESI ionization | |
Private Attributes | |
| IonizationType | ionization_type_ |
| ESI or MALDI ionization. | |
| std::set< String > | basic_residues_ |
| DoubleReal | esi_probability_ |
| Probability for the binomial distribution of ESI charge states. | |
| std::vector< double > | esi_impurity_probabilities_ |
| Discrete distribution of impure charge adducts like Na+, K+, Ca++ etc besides the usual H+. | |
| Adduct::AdductsType | esi_adducts_ |
Corresponding table to esi_impurity_probabilities_ holding the actual element and its charge. | |
| Size | max_adduct_charge_ |
| Maximal charge that any impure adduct from parameter list has. | |
| std::vector< double > | maldi_probabilities_ |
| Preprocessed table of discrete distribution (MALDI charges). | |
| SimCoordinateType | maximal_mz_measurement_limit_ |
| Maximum m/z detected by mass analyser. | |
| SimCoordinateType | minimal_mz_measurement_limit_ |
| Minimum m/z detected by mass analyser. | |
Simulates Protein ionization.
Supports ESI and MALDI. The abundance values are distributed among the charge states based on a binomial distribution for the ESI and based on discrete distribution for MALDI. In ESI mode, this class also supports different adduct types in addition to H+ (e.g. NH4+, K+) which can be specified by the user and influence the mass and induce more charge variation.
Parameters of this class are:| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| ionization_type | string | ESI | MALDI, ESI | Type of Ionization (MALDI or ESI) |
| esi:ionized_residues | string list | [Arg, Lys, His] | Ala, Cys, Asp, Glu, Phe, Gly, His, Ile, Lys, Leu, Met, Asn, Pro, Gln, Arg, Sec, Ser, Thr, Val, Trp, Tyr | List of residues (as three letter code) that will be considered during ES ionization. The N-term is always assumed to carry a charge. This parameter will be ignored during MALDI ionization. |
| esi:charge_impurity | string list | [H+:1] | List of charged ions that contribute to charge with weight of occurrence (their sum is scaled to 1 internally), e.g. ['H:1'] or ['H:0.7' 'Na:0.3'], ['H:4' 'Na:1'] (which internally translates to ['H:0.8' 'Na:0.2']) | |
| esi:max_impurity_set_size | int | 3 | Maximal @#combinations of charge impurities allowed (each generating one feature) per charge state. E.g. assuming charge=3 and this parameter is 2, then we could choose to allow '3H+, 2H+Na+' features (given a certain 'charge_impurity' constraints), but no '3H+, 2H+Na+, 3Na+' | |
| esi:ionization_probability | float | 0.8 | Probability for the binomial distribution of the ESI charge states | |
| maldi:ionization_probabilities | float list | [0.9, 0.1] | List of probabilities for the different charge states during MALDI ionization (the list must sum up to 1.0) | |
| mz:lower_measurement_limit | float | 200 | min: 0 | Lower m/z detector limit. |
| mz:upper_measurement_limit | float | 2500 | min: 0 | Upper m/z detector limit. |
| enum IonizationType |
| IonizationSimulation | ( | const SimRandomNumberGenerator & | ) |
| IonizationSimulation | ( | const IonizationSimulation & | source | ) |
Copy constructor.
| virtual ~IonizationSimulation | ( | ) | [virtual] |
Destructor.
| IonizationSimulation | ( | ) | [private] |
Default constructor.
| UInt countIonizedResidues_ | ( | const AASequence & | ) | const [private] |
counts all basic residues inside the amino acid sequence to give an upper bound on the maximal charge during ESI ionization
The N-term contributes +1 always. All other ionizable residues (according to param "esi:ionized_residues") in the sequence are summed up.
| void ionize | ( | FeatureMapSim & | features, | |
| ConsensusMap & | charge_consensus, | |||
| MSSimExperiment & | experiment | |||
| ) |
Ionize all peptide features inside the Feature-Map.
Depending on the parameters the passed peptide features are ionized by MALDI or by ESI.
| features | FeatureMap which will be ionized | |
| charge_consensus | ConsensusMap which groups childs(=charge variants) of input-features | |
| experiment | MSSimExperiment map which contains the simulated experiment |
| void ionizeEsi_ | ( | FeatureMapSim & | , | |
| ConsensusMap & | charge_consensus | |||
| ) | [private] |
ionize using ESI
| void ionizeMaldi_ | ( | FeatureMapSim & | , | |
| ConsensusMap & | charge_consensus | |||
| ) | [private] |
ionize using MALDI
| bool isFeatureValid_ | ( | const Feature & | feature | ) | [inline, private] |
check if feature is within mz bounds of detector
| IonizationSimulation& operator= | ( | const IonizationSimulation & | source | ) |
Assignment operator.
| void setDefaultParams_ | ( | ) | [private] |
set defaults
| void setFeatureProperties_ | ( | Feature & | f, | |
| const DoubleReal & | adduct_mass, | |||
| const String & | adduct_formula, | |||
| const SimChargeType | charge, | |||
| const SimIntensityType | new_intensity, | |||
| const Size | parent_index | |||
| ) | [private] |
set meta values, mz etc after adducts are ready
| void updateMembers_ | ( | ) | [private] |
Synchronize members with param class.
std::set<String> basic_residues_ [private] |
Adduct::AdductsType esi_adducts_ [private] |
Corresponding table to esi_impurity_probabilities_ holding the actual element and its charge.
std::vector<double> esi_impurity_probabilities_ [private] |
Discrete distribution of impure charge adducts like Na+, K+, Ca++ etc besides the usual H+.
DoubleReal esi_probability_ [private] |
Probability for the binomial distribution of ESI charge states.
IonizationType ionization_type_ [private] |
ESI or MALDI ionization.
std::vector<double> maldi_probabilities_ [private] |
Preprocessed table of discrete distribution (MALDI charges).
Size max_adduct_charge_ [private] |
Maximal charge that any impure adduct from parameter list has.
Maximum m/z detected by mass analyser.
Minimum m/z detected by mass analyser.
SimRandomNumberGenerator const* rnd_gen_ [protected] |
Random number generator.
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:56 using doxygen 1.7.1 |