Simulates Protein ionization. More...
#include <OpenMS/SIMULATION/IonizationSimulation.h>
Public Types | |
| enum | IonizationType { MALDI, ESI } |
| possible ionization methods More... | |
Public Types inherited from ProgressLogger | |
| enum | LogType { CMD, GUI, NONE } |
| Possible log types. More... | |
Public Member Functions | |
| IonizationSimulation & | operator= (const IonizationSimulation &source) |
| Assignment operator. More... | |
| void | ionize (FeatureMapSim &features, ConsensusMap &charge_consensus, MSSimExperiment &experiment) |
| Ionize all peptide features inside the Feature-Map. More... | |
Constructors and Destructors | |
| IonizationSimulation (const SimRandomNumberGenerator &) | |
| IonizationSimulation (const IonizationSimulation &source) | |
| Copy constructor. More... | |
| virtual | ~IonizationSimulation () |
| 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 ¶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... | |
Public Member Functions inherited from ProgressLogger | |
| ProgressLogger () | |
| Constructor. More... | |
| ~ProgressLogger () | |
| Destructor. More... | |
| void | setLogType (LogType type) const |
| Sets the progress log that should be used. The default type is NONE! More... | |
| LogType | getLogType () const |
| Returns the type of progress log being used. More... | |
| void | startProgress (SignedSize begin, SignedSize end, const String &label) const |
| Initializes the progress display. More... | |
| void | setProgress (SignedSize value) const |
| Sets the current progress. More... | |
| void | endProgress () const |
| Ends the progress display. More... | |
Protected Attributes | |
| SimRandomNumberGenerator const * | rnd_gen_ |
| Random number generator. 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... | |
Protected Attributes inherited from ProgressLogger | |
| LogType | type_ |
| SignedSize | begin_ |
| SignedSize | end_ |
| SignedSize | value_ |
| QProgressDialog * | dlg_ |
| StopWatch | stop_watch_ |
| time_t | last_invoke_ |
Private Member Functions | |
| IonizationSimulation () | |
| Default constructor. More... | |
| void | ionizeEsi_ (FeatureMapSim &, ConsensusMap &charge_consensus) |
| ionize using ESI More... | |
| void | ionizeMaldi_ (FeatureMapSim &, ConsensusMap &charge_consensus) |
| ionize using MALDI More... | |
| bool | isFeatureValid_ (const Feature &feature) |
| check if feature is within mz bounds of detector More... | |
| 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 More... | |
| void | setDefaultParams_ () |
| set defaults More... | |
| void | updateMembers_ () |
| Synchronize members with param class. More... | |
| 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 More... | |
Private Attributes | |
| IonizationType | ionization_type_ |
| ESI or MALDI ionization. More... | |
| std::set< String > | basic_residues_ |
| DoubleReal | esi_probability_ |
| Probability for the binomial distribution of ESI charge states. More... | |
| std::vector< double > | esi_impurity_probabilities_ |
| Discrete distribution of impure charge adducts like Na+, K+, Ca++ etc besides the usual H+. More... | |
| Adduct::AdductsType | esi_adducts_ |
Corresponding table to esi_impurity_probabilities_ holding the actual element and its charge. More... | |
| Size | max_adduct_charge_ |
| Maximal charge that any impure adduct from parameter list has. More... | |
| std::vector< double > | maldi_probabilities_ |
| Preprocessed table of discrete distribution (MALDI charges) More... | |
| SimCoordinateType | maximal_mz_measurement_limit_ |
| Maximum m/z detected by mass analyser. More... | |
| SimCoordinateType | minimal_mz_measurement_limit_ |
| Minimum m/z detected by mass analyser. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from DefaultParamHandler | |
| void | defaultsToParam_ () |
| Updates the parameters after the defaults have been set in the constructor. More... | |
Static Protected Attributes inherited from ProgressLogger | |
| static int | recursion_depth_ |
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 |
Destructor.
|
private |
Default constructor.
|
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 |
|
private |
ionize using ESI
|
private |
ionize using MALDI
|
inlineprivate |
check if feature is within mz bounds of detector
| IonizationSimulation& operator= | ( | const IonizationSimulation & | source | ) |
Assignment operator.
|
private |
set defaults
|
private |
set meta values, mz etc after adducts are ready
|
privatevirtual |
Synchronize members with param class.
Reimplemented from DefaultParamHandler.
|
private |
|
private |
Corresponding table to esi_impurity_probabilities_ holding the actual element and its charge.
|
private |
Discrete distribution of impure charge adducts like Na+, K+, Ca++ etc besides the usual H+.
|
private |
Probability for the binomial distribution of ESI charge states.
|
private |
ESI or MALDI ionization.
|
private |
Preprocessed table of discrete distribution (MALDI charges)
|
private |
Maximal charge that any impure adduct from parameter list has.
|
private |
Maximum m/z detected by mass analyser.
|
private |
Minimum m/z detected by mass analyser.
|
protected |
Random number generator.
| OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:33 using doxygen 1.8.5 |