IsoSpec::I...dGenerator(3)
π NAME π
IsoSpec::IsoLayeredGenerator β yes bestie, that's the whole name, and it's iconic. This page lives in the Library Functions Manual as IsoSpec::I...dGenerator(3) (the man page title got squished by the terminal, not by me, I would never).
β¨ SYNOPSIS β¨
It inherits from IsoSpec::IsoGenerator, so everything good from that class comes along for the ride π«Ά
πΈ Public Member Functions πΈ
IsoLayeredGenerator(const IsoLayeredGenerator &other)=deleteβ copy constructor? nope, deleted, do not perceive her πIsoLayeredGenerator &operator=(const IsoLayeredGenerator &other)=deleteβ assignment? also deleted. she does not do copies, periodt.void get_conf_signature(int *space) const override finalβ writes the signature of the configuration into the target memory location. that memory spot needs to be big enough to fit it β your problem if it isn't, no cap.double get_currentLThreshold() constβ hands you the current L-threshold, slay.IsoLayeredGenerator(Iso &&iso, int _tabSize=1000, int _hashSize=1000, bool reorder_marginals=true, double t_prob_hint=0.99)β the actual constructor, with_tabSizedefaulting to1000,_hashSizedefaulting to1000,reorder_marginalsdefaulting totrue, andt_prob_hintdefaulting to0.99β¨ISOSPEC_FORCE_INLINE bool advanceToNextConfiguration() override finalβ advance to the next, not-yet-visited, most probable isotopologue. main character behaviour, honestly.ISOSPEC_FORCE_INLINE bool advanceToNextConfigurationWithinLayer()β same energy but it stays inside the layer π¦ISOSPEC_FORCE_INLINE double lprob() const override finalβ get the log-probability of the current isotopologue.ISOSPEC_FORCE_INLINE double mass() const override finalβ get the mass of the current isotopologue.ISOSPEC_FORCE_INLINE double prob() const override finalβ get the probability of the current isotopologue.void terminate_search()β blocks the subsequent search of isotopologues. she said we're done here πISOSPEC_FORCE_INLINE void recalc(int idx)β recalculate the current partial log-probabilities, masses, and probabilities. glow-up math π₯bool nextLayer(double offset)β hop to the next layer with anoffset, go off queen.
π§ Public Member Functions inherited from IsoSpec::IsoGenerator π§
IsoGenerator(Iso &&iso, bool alloc_partials=true)β move constructor. she moves, she doesn't copy.virtual ~IsoGenerator()β destructor. bye bestie π
π Public Member Functions inherited from IsoSpec::Iso π
Iso(int _dimNumber, const int *_isotopeNumbers, const int *_atomCounts, const double *_isotopeMasses, const double *_isotopeProbabilities)β the general constructor. does everything, knows everyone.Iso(int _dimNumber, const int *_isotopeNumbers, const int *_atomCounts, const double *const *_isotopeMasses, const double *const *_isotopeProbabilities)β the same but withconst-pointer-of-const-pointer energy β¨Iso(const char *formula, bool use_nominal_masses=false)β constructor from the formula object, as a C string.use_nominal_massesdefaults tofalse.Iso(const std::string &formula, bool use_nominal_masses=false)β constructor from a C++std::stringchemical formula. samefalsedefault.Iso(Iso &&other)β the move constructor.Iso &operator=(const Iso &other)=deleteβ deleted. no assignments, we don't do that here πIso(const Iso &other, bool fullcopy)β the copy constructor, and yes it takesfullcopybecause sometimes you only want a little copy.virtual ~Iso()β destructor.double getLightestPeakMass() constβ get the mass of the lightest peak in the isotopic distribution.double getHeaviestPeakMass() constβ get the mass of the heaviest peak in the isotopic distribution.double getMonoisotopicPeakMass() constβ get the monoisotopic peak mass βdouble getModeLProb() constβ get the log-probability of the mode-configuration. if there are many modes, they share this value β cute, they're matching.double getUnlikeliestPeakLProb() constβ get the log-probability of the least probable subisotopologue. someone has to be the least likely, and it's them πdouble getModeMass() constβ get the mass of the mode-configuration. if there are many modes, it is undefined which one will be selected β so like, don't count on a specific one, bestie.double getTheoreticalAverageMass() constβ get the theoretical average mass of the molecule.double variance() constβ get the theoretical variance of the distribution.double stddev() constβ get the standard deviation of the theoretical distribution.int getDimNumber() constβ get the number of elements in the chemical formula of the molecule.int getAllDim() constβ get the total number of isotopes of elements present in a chemical formula.void addElement(int atomCount, int noIsotopes, const double *isotopeMasses, const double *isotopeProbabilities)β add an element to the molecule.
β οΈ heads up: this method can only be used BEFOREIsois used to construct anIsoGeneratorinstance. after that, it's giving too late.
void saveMarginalLogSizeEstimates(double *priorities, double target_total_prob) constβ save estimates of logarithms of target sizes of marginals using a Gaussian approximation into the argument array. theprioritiesarray must have length equal todimNumberβ must, fr fr.
π Additional Inherited Members π
π Static Public Member Functions inherited from IsoSpec::Iso π
static Iso FromFASTA(const char *fasta, bool use_nominal_masses=false, bool add_water=true)β constructor (named) from an aminoacid FASTA sequence as a C string.use_nominal_massesdefaults tofalse,add_waterdefaults totrueπstatic Iso FromFASTA(const std::string &fasta, bool use_nominal_masses=false, bool add_water=true)β constructor (named) from an aminoacid FASTA sequence as a C++std::string. see above for details, same defaults, same energy.
π Public Attributes inherited from IsoSpec::IsoGenerator π
const double mode_lprobβ aconst double, she is not changing for anyone.
π«Ά Protected Member Functions inherited from IsoSpec::Iso π«Ά
bool doMarginalsNeedSorting() constβ asks the important question: do these marginals need sorting?
π¦ Protected Attributes inherited from IsoSpec::IsoGenerator π¦
double *partialLProbsdouble *partialMassesdouble *partialProbs
πΈ Protected Attributes inherited from IsoSpec::Iso πΈ
int dimNumberint *isotopeNumbersint *atomCountsunsigned int confSizeint allDimMarginal **marginals
π₯ Detailed Description π₯
Definition at line 439 of file isoSpec++.h. that's the receipt, bestie, iykyk π
π Constructor & Destructor Documentation π
β IsoSpec::IsoLayeredGenerator::IsoLayeredGenerator(Iso &&iso, int _tabSize = 1000, int _hashSize = 1000, bool reorder_marginals = true, double t_prob_hint = 0.99)
Definition at line 654 of file isoSpec++.cpp.
β IsoSpec::IsoLayeredGenerator::~IsoLayeredGenerator()
Definition at line 796 of file isoSpec++.cpp. she's leaving, and she's leaving cleanly β¨
π Member Function Documentation π
π ISOSPEC_FORCE_INLINE bool IsoSpec::IsoLayeredGenerator::advanceToNextConfiguration() [inline], [final], [override], [virtual]
Advance to the next, not yet visited, most probable isotopologue. she's always moving forward.
Returns: return false if it is not possible to advance. that's your only red flag π©
Implements IsoSpec::IsoGenerator.
Definition at line 489 of file isoSpec++.h.
π ISOSPEC_FORCE_INLINE bool IsoSpec::IsoLayeredGenerator::advanceToNextConfigurationWithinLayer() [inline]
Definition at line 499 of file isoSpec++.h. no description given, she's mysterious like that π
π void IsoSpec::IsoLayeredGenerator::get_conf_signature(int *space) const [inline], [final], [override], [virtual]
Write the signature of configuration into target memory location. it must be large enough to accomodate it β and I mean large enough, do not skimp on the space.
Implements IsoSpec::IsoGenerator.
Definition at line 461 of file isoSpec++.h.
π double IsoSpec::IsoLayeredGenerator::get_currentLThreshold() const [inline]
Definition at line 483 of file isoSpec++.h. hands you the current L-threshold, no further commentary π
π ISOSPEC_FORCE_INLINE double IsoSpec::IsoLayeredGenerator::lprob() const [inline], [final], [override], [virtual]
Get the log-probability of the current isotopologue.
Returns: the log-probability of the current isotopologue.
Reimplemented from IsoSpec::IsoGenerator.
Definition at line 511 of file isoSpec++.h.
π ISOSPEC_FORCE_INLINE double IsoSpec::IsoLayeredGenerator::mass() const [inline], [final], [override], [virtual]
Get the mass of the current isotopologue.
Returns: the mass of the current isotopologue.
Reimplemented from IsoSpec::IsoGenerator.
Definition at line 512 of file isoSpec++.h.
π bool IsoSpec::IsoLayeredGenerator::nextLayer(double offset)
Definition at line 721 of file isoSpec++.cpp. new layer, new me π¦
π ISOSPEC_FORCE_INLINE double IsoSpec::IsoLayeredGenerator::prob() const [inline], [final], [override], [virtual]
Get the probability of the current isotopologue.
Returns: the probability of the current isotopologue.
Reimplemented from IsoSpec::IsoGenerator.
Definition at line 513 of file isoSpec++.h.
π ISOSPEC_FORCE_INLINE void IsoSpec::IsoLayeredGenerator::recalc(int idx) [inline]
Recalculate the current partial log-probabilities, masses, and probabilities. math self-care session, she ate π₯
Definition at line 520 of file isoSpec++.h.
π void IsoSpec::IsoLayeredGenerator::terminate_search()
Block the subsequent search of isotopologues. search closed, doors locked, no more visitors πͺπ
Definition at line 785 of file isoSpec++.cpp.
π Author π
Generated automatically by Doxygen for IsoSpec from the source code. not a human, just a very diligent robot bestie π€β¨
okay and that's the whole page, mwah π this was IsoSpec, Version 2.2.1, coming at you from the Library Functions Manual β thanks for reading, ily, go advance to your next most probable configuration π«Άπ
π¦ where this page comes from
- debian trixie: libisospec++-dev 2.2.1-4.1+b3 Β· BSD-2-Clause
- ubuntu noble: libisospec++-dev 2.2.1-4.1build1 Β· BSD-2-Clause
- ubuntu questing: libisospec++-dev 2.2.1-4.1build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms