IsoSpec
Loading...
Searching...
No Matches
IsoSpec::LayeredMarginal Class Reference

LayeredMarginal class. More...

#include <marginalTrek++.h>

Inheritance diagram for IsoSpec::LayeredMarginal:
IsoSpec::Marginal

Public Member Functions

 LayeredMarginal (Marginal &&m, int tabSize=1000, int hashSize=1000)
 Move constructor: specializes the Marginal class.
 LayeredMarginal (const LayeredMarginal &other)=delete
LayeredMarginaloperator= (const LayeredMarginal &other)=delete
bool extend (double new_threshold, bool do_sort=true)
 Extend the set of computed subisotopologues to those above the new threshold.
double get_lProb (int idx) const
 get the log-probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_lProb.
double get_prob (int idx) const
 get the probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_eProb.
double get_mass (int idx) const
 get the mass of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_mass.
const double * get_lProbs_ptr () const
 get the pointer to lProbs array. Accessing index -1 is legal and returns a guardian of -inf. Warning: The pointer gets invalidated on calls to extend()
const Conf & get_conf (int idx) const
 get the counts of isotopes that define the subisotopologue, see details in PrecalculatedMarginal::get_conf.
unsigned int get_no_confs () const
 Get the number of precomputed subisotopologues, see details in PrecalculatedMarginal::get_no_confs.
double get_min_mass () const
 Get the minimal mass in current layer.
double get_max_mass () const
 Get the maximal mass in current layer.
double getModeLProb () const
 Get the log-probability of the mode subisotopologue.
const pod_vector< double > & conf_lprobs () const
const pod_vector< double > & conf_masses () const
Public Member Functions inherited from IsoSpec::Marginal
 Marginal (const double *_masses, const double *_probs, int _isotopeNo, int _atomCnt)
 Class constructor.
Marginaloperator= (const Marginal &other)=delete
 Marginal (const Marginal &other)
 Copy constructor.
 Marginal (Marginal &&other)
 Move constructor.
virtual ~Marginal ()
 Destructor.
int get_isotopeNo () const
 Get the number of isotopes of the investigated element.
const double * get_lProbs () const
double getLightestConfMass () const
 Get the mass of the lightest subisotopologue.
double getHeaviestConfMass () const
 Get the mass of the heaviest subisotopologue.
double getMonoisotopicConfMass () const
 Get the mass of the monoisotopic subisotopologue.
size_t getMonoisotopicAtomIndex () const
 Get the index of the monoisotopic (most probable) atom.
double getModeMass ()
 The the mass of the mode subisotopologue.
double getModeLProb ()
 Get the log-probability of the mode subisotopologue.
double fastGetModeLProb ()
 Get the log-probability of the mode subisotopologue. Results undefined if ensureModeConf() wasn't called before.
Conf computeModeConf () const
 The the probability of the mode subisotopologue.
double getSmallestLProb () const
 The the log-probability of the lightest subisotopologue.
double getAtomAverageMass () const
 The average mass of a single atom.
double getTheoreticalAverageMass () const
 The theoretical average mass of the molecule.
double variance () const
 Calculate the variance of the theoretical distribution describing the subisotopologue.
double getLogSizeEstimate (double logEllipsoidRadius) const
 Return estimated logarithm of size of the marginal at a given ellipsoid radius.
void ensureModeConf ()

Additional Inherited Members

Protected Member Functions inherited from IsoSpec::Marginal
ISOSPEC_FORCE_INLINE double unnormalized_logProb (Conf conf) const
 Calculate the log-probability of a given subisotopologue.
ISOSPEC_FORCE_INLINE double logProb (Conf conf) const
Protected Attributes inherited from IsoSpec::Marginal
const unsigned int isotopeNo
const unsigned int atomCnt
const double *const atom_lProbs
const double *const atom_masses
const double loggamma_nominator
Conf mode_conf
double mode_lprob

Detailed Description

LayeredMarginal class.

An extendable version of the PrecalculatedMarginal, where you can extend the threshold at will.

Definition at line 358 of file marginalTrek++.h.

Constructor & Destructor Documentation

◆ LayeredMarginal()

IsoSpec::LayeredMarginal::LayeredMarginal ( Marginal && m,
int tabSize = 1000,
int hashSize = 1000 )

Move constructor: specializes the Marginal class.

Parameters
tabSizeThe size of the table used to store configurations in the allocator.
hashSizeThe size of the hash table used to store visited subisotopologues.

Definition at line 562 of file marginalTrek++.cpp.

Member Function Documentation

◆ conf_lprobs()

const pod_vector< double > & IsoSpec::LayeredMarginal::conf_lprobs ( ) const
inline

Definition at line 420 of file marginalTrek++.h.

◆ conf_masses()

const pod_vector< double > & IsoSpec::LayeredMarginal::conf_masses ( ) const
inline

Definition at line 421 of file marginalTrek++.h.

◆ extend()

bool IsoSpec::LayeredMarginal::extend ( double new_threshold,
bool do_sort = true )

Extend the set of computed subisotopologues to those above the new threshold.

Parameters
new_thresholdThe new log-probability limiting the subisotopologues from below.
Returns
Returns false, if there are no fringe-subisotopologues (subisotopologues that were neighbours of the previously calculated subisotopologues, with log-probability below the previous threshold).

Definition at line 573 of file marginalTrek++.cpp.

◆ get_conf()

const Conf & IsoSpec::LayeredMarginal::get_conf ( int idx) const
inline

get the counts of isotopes that define the subisotopologue, see details in PrecalculatedMarginal::get_conf.

Definition at line 404 of file marginalTrek++.h.

◆ get_lProb()

double IsoSpec::LayeredMarginal::get_lProb ( int idx) const
inline

get the log-probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_lProb.

Definition at line 392 of file marginalTrek++.h.

◆ get_lProbs_ptr()

const double * IsoSpec::LayeredMarginal::get_lProbs_ptr ( ) const
inline

get the pointer to lProbs array. Accessing index -1 is legal and returns a guardian of -inf. Warning: The pointer gets invalidated on calls to extend()

Definition at line 401 of file marginalTrek++.h.

◆ get_mass()

double IsoSpec::LayeredMarginal::get_mass ( int idx) const
inline

get the mass of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_mass.

Definition at line 398 of file marginalTrek++.h.

◆ get_max_mass()

double IsoSpec::LayeredMarginal::get_max_mass ( ) const

Get the maximal mass in current layer.

Definition at line 695 of file marginalTrek++.cpp.

◆ get_min_mass()

double IsoSpec::LayeredMarginal::get_min_mass ( ) const

Get the minimal mass in current layer.

Definition at line 685 of file marginalTrek++.cpp.

◆ get_no_confs()

unsigned int IsoSpec::LayeredMarginal::get_no_confs ( ) const
inline

Get the number of precomputed subisotopologues, see details in PrecalculatedMarginal::get_no_confs.

Definition at line 407 of file marginalTrek++.h.

◆ get_prob()

double IsoSpec::LayeredMarginal::get_prob ( int idx) const
inline

get the probability of the idx-th subisotopologue, see details in PrecalculatedMarginal::get_eProb.

Definition at line 395 of file marginalTrek++.h.

◆ getModeLProb()

double IsoSpec::LayeredMarginal::getModeLProb ( ) const
inline

Get the log-probability of the mode subisotopologue.

Returns
The log-probability of a/the most probable subisotopologue.

Definition at line 419 of file marginalTrek++.h.


The documentation for this class was generated from the following files: