OpenMS
2.5.0
|
Generate a p-set of configurations for a given p (that is, a set of configurations such that their probabilities sum up to p). The p in normal usage will usually be close to 1 (e.g. 0.99). More...
#include <OpenMS/CHEMISTRY/ISOTOPEDISTRIBUTION/IsoSpecWrapper.h>
Public Member Functions | |
IsoSpecTotalProbGeneratorWrapper (const std::vector< int > &isotopeNumbers, const std::vector< int > &atomCounts, const std::vector< std::vector< double > > &isotopeMasses, const std::vector< std::vector< double > > &isotopeProbabilities, double p, bool do_p_trim=false) | |
Constructor. More... | |
IsoSpecTotalProbGeneratorWrapper (const EmpiricalFormula &formula, double p, bool do_p_trim=false) | |
Setup the algorithm to run on an EmpiricalFormula. More... | |
virtual bool | nextConf () override final |
Move the generator to a next isotopologue. More... | |
virtual Peak1D | getConf () override final |
Obtain the current isotopologue. More... | |
virtual double | getMass () override final |
Obtain the mass of the current isotopologue. More... | |
virtual double | getIntensity () override final |
Obtain the intensity (probability, relative peak height) of the current configuration. More... | |
virtual double | getLogIntensity () override final |
Obtain the natural logarithm of the intensity (probability, relative peak height) of the current configuration. More... | |
Public Member Functions inherited from IsoSpecGeneratorWrapper | |
virtual | ~IsoSpecGeneratorWrapper () |
Destructor. More... | |
Protected Attributes | |
IsoSpec::IsoLayeredGenerator | ILG |
Generate a p-set of configurations for a given p (that is, a set of configurations such that their probabilities sum up to p). The p in normal usage will usually be close to 1 (e.g. 0.99).
An optimal p-set of isotopologues is the smallest set of isotopologues that, taken together, cover at least p of the probability space (that is, their probabilities sum up to at least p). This means that the computed spectrum is accurate to at least degree p, and that the L1 distance between the computed spectrum and the true spectrum is less than 1-p. The optimality of the p-set means that it contains the most probable configurations - any isotopologues outside of the returned p-set have lower intensity than the configurations in the p-set.
This is the method most users will want: the p parameter directly controls the accuracy of results.
Advanced usage note: The algorithm works by computing an optimal p'-set for a p' slightly larger than the requested p. By default these extra isotopologues are returned too (as they have to be computed anyway). It is possible to request that the extra configurations be discarded, using the do_p_trim parameter. This will *increase* the runtime and especially the memory usage of the algorithm, and should not be done unless there is a good reason to.
IsoSpecTotalProbGeneratorWrapper | ( | const std::vector< int > & | isotopeNumbers, |
const std::vector< int > & | atomCounts, | ||
const std::vector< std::vector< double > > & | isotopeMasses, | ||
const std::vector< std::vector< double > > & | isotopeProbabilities, | ||
double | p, | ||
bool | do_p_trim = false |
||
) |
Constructor.
isotopeNumbers | A vector of how many isotopes each element has, e.g. [2, 2, 3]) |
atomCounts | How many atoms of each we have [e.g. 12, 6, 6 for Glucose] |
isotopeMasses | Array with the individual elements isotopic masses |
isotopeProbabilities | Array with the individual elements isotopic probabilities |
p | Total coverage of probability space desired, usually close to 1 (e.g. 0.99) |
do_p_trim | Whether to discard extra configurations that have been computed |
IsoSpecTotalProbGeneratorWrapper | ( | const EmpiricalFormula & | formula, |
double | p, | ||
bool | do_p_trim = false |
||
) |
Setup the algorithm to run on an EmpiricalFormula.
|
inlinefinaloverridevirtual |
Obtain the current isotopologue.
Implements IsoSpecGeneratorWrapper.
|
inlinefinaloverridevirtual |
Obtain the intensity (probability, relative peak height) of the current configuration.
Implements IsoSpecGeneratorWrapper.
|
inlinefinaloverridevirtual |
Obtain the natural logarithm of the intensity (probability, relative peak height) of the current configuration.
This will be more precise (and faster) than just calling std::log(getIntensity()) - it will produce correct results even for configurations so unlikely that the double-precision floating point number returned from getIntensity() underflows to zero.
Implements IsoSpecGeneratorWrapper.
|
inlinefinaloverridevirtual |
Obtain the mass of the current isotopologue.
Implements IsoSpecGeneratorWrapper.
|
inlinefinaloverridevirtual |
Move the generator to a next isotopologue.
Advance the internal generator to the next isotopologue. The value returned determines whether the generator has been exhausted (that is, all eligible configurations have already been visited). It is invalid to call any other generator methods before the first call to nextConf(), as well as after this method returns false.
Implements IsoSpecGeneratorWrapper.
|
protected |