Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes

IonizationSimulation Class Reference
[Simulation]

Simulates Protein ionization. More...

#include <OpenMS/SIMULATION/IonizationSimulation.h>

Inheritance diagram for IonizationSimulation:
DefaultParamHandler ProgressLogger

List of all members.

Public Types

enum  IonizationType { MALDI, ESI }
 

possible ionization methods

More...

Public Member Functions

IonizationSimulationoperator= (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< Stringbasic_residues_
DoubleReal esi_probability_
 Probability for the binomial distribution of ESI charge states.
std::vector< doubleesi_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< doublemaldi_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.

Detailed Description

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:

NameTypeDefaultRestrictionsDescription
ionization_type stringESI MALDI, ESIType 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, TyrList 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 int3  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 float0.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 float200 min: 0Lower m/z detector limit.
mz:upper_measurement_limit float2500 min: 0Upper m/z detector limit.

Note:

Member Enumeration Documentation

possible ionization methods

Enumerator:
MALDI 
ESI 

Constructor & Destructor Documentation

IonizationSimulation ( const IonizationSimulation source  ) 

Copy constructor.

virtual ~IonizationSimulation (  )  [virtual]

Destructor.

IonizationSimulation (  )  [private]

Default constructor.


Member Function Documentation

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.

Parameters:
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.


Member Data Documentation

std::set<String> basic_residues_ [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+.

Probability for the binomial distribution of ESI charge states.

ESI or MALDI ionization.

std::vector<double> maldi_probabilities_ [private]

Preprocessed table of discrete distribution (MALDI charges).

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