![]() |
IsoSpec 2.2.1
|
Classes | |
class | Allocator |
class | ConfEqual |
class | ConfOrder |
class | ConfOrderMarginal |
class | ConfOrderMarginalDescending |
class | DirtyAllocator |
class | FixedEnvelope |
class | Iso |
The Iso class for the calculation of the isotopic distribution. More... | |
class | IsoGenerator |
The generator of isotopologues. More... | |
class | IsoLayeredGenerator |
class | IsoOrderedGenerator |
The generator of isotopologues sorted by their probability of occurrence. More... | |
class | IsoStochasticGenerator |
class | IsoThresholdGenerator |
The generator of isotopologues above a given threshold value. More... | |
class | KeyHasher |
class | LayeredMarginal |
LayeredMarginal class. More... | |
class | Marginal |
The marginal distribution class (a subisotopologue). More... | |
class | MarginalTrek |
The marginal distribution class (a subisotopologue). More... | |
class | OrderMarginalsBySizeDecresing |
class | PrecalculatedMarginal |
Precalculated Marginal class. More... | |
struct | ProbAndConfPtr |
class | ReverseOrder |
class | SSummator |
class | Summator |
class | TableOrder |
class | TSummator |
Typedefs | |
typedef double | RealType |
typedef int64_t | IntType |
typedef int * | Conf |
Functions | |
template<typename T > | |
void | copyConf (const T *source, T *destination, int dim) |
IntType | btrd (IntType _t, RealType p, IntType m, std::mt19937 &urng=random_gen) |
IntType | invert (IntType t, RealType p, std::mt19937 &urng=random_gen) |
IntType | boost_binomial_distribution_variate (IntType t_arg, RealType p_arg, std::mt19937 &urng=random_gen) |
void | parse_fasta (const char *fasta, int atomCounts[6]) |
template<typename T > | |
void | reorder_array (T *arr, size_t *order, size_t size, bool can_destroy=false) |
double | AbyssalWassersteinDistanceGrad (FixedEnvelope *const *envelopes, const double *scales, double *ret_gradient, size_t N, double abyss_depth_exp, double abyss_depth_the) |
void | release_g_lfact_table () |
double * | alloc_lfact_table () |
double | RationalApproximation (double t) |
double | NormalCDFInverse (double p) |
double | NormalCDFInverse (double p, double mean, double stdev) |
double | NormalCDF (double x, double mean, double stdev) |
double | NormalPDF (double x, double mean, double stdev) |
double | LowerIncompleteGamma2 (int a, double x) |
double | InverseLowerIncompleteGamma2 (int a, double x) |
std::mt19937 | random_gen (random_dev()) |
std::uniform_real_distribution< double > | stdunif (0.0, 1.0) |
size_t | rdvariate_binom (size_t tries, double succ_prob, std::mt19937 &rgen) |
double | InverseChiSquareCDF2 (int k, double x) |
double | rdvariate_beta_1_b (double b, std::mt19937 &rgen=random_gen) |
unsigned int | parse_formula (const char *formula, std::vector< double > &isotope_masses, std::vector< double > &isotope_probabilities, int **isotopeNumbers, int **atomCounts, unsigned int *confSize, bool use_nominal_masses) |
void | writeInitialConfiguration (const int atomCnt, const int isotopeNo, const double *lprobs, int *res) |
Find one of the most probable subisotopologues. | |
double * | getMLogProbs (const double *probs, int isoNo) |
double | get_loggamma_nominator (int x) |
int | verify_atom_cnt (int atomCnt) |
void * | quickselect (void **array, int n, int start, int end) |
double | combinedSum (const int *conf, const std::vector< double > **valuesContainer, int dimNumber) |
double | combinedSum (const int *conf, const pod_vector< double > **valuesContainer, int dimNumber) |
int * | getConf (void *conf) |
double | getLProb (void *conf) |
double | unnormalized_logProb (const int *conf, const double *logProbs, int dim) |
double | calc_mass (const int *conf, const double *masses, int dim) |
template<typename T > | |
void | printArray (const T *array, int size, const char *prefix="") |
template<typename T > | |
void | printVector (const std::vector< T > &vec) |
template<typename T > | |
void | printOffsets (const T **array, int size, const T *offset, const char *prefix="") |
template<typename T > | |
void | printNestedArray (const T **array, const int *shape, int size) |
void * | quickselect (const void **array, int n, int start, int end) |
Quickly select the n'th positional statistic, including the weights. | |
template<typename T > | |
void | dealloc_table (T *tbl, int dim) |
template<typename T > | |
void | realloc_append (T **array, T what, size_t old_array_size) |
template<typename T > | |
size_t * | get_order (T *order_array, size_t N) |
template<typename T > | |
size_t * | get_inverse_order (T *order_array, size_t N) |
template<typename TA , typename TB > | |
void | impose_order (size_t *O, size_t N, TA *A, TB *B) |
Variables | |
const size_t | isospec_number_of_isotopic_entries = ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES |
const int | elem_table_ID [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const int | elem_table_atomicNo [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const double | elem_table_mass [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const double | elem_table_massNo [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const int | elem_table_extraNeutrons [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const char * | elem_table_element [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const char * | elem_table_symbol [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const bool | elem_table_Radioactive [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const double | elem_table_probability [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const double | elem_table_log_probability [ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES] |
const int | aa_isotope_numbers [6] = {2, 2, 2, 3, 4, 6} |
const double | aa_elem_masses [19] |
const double | aa_elem_nominal_masses [19] |
const double | aa_elem_probabilities [19] |
const int | aa_symbol_to_elem_counts [256 *6] |
double * | g_lfact_table = alloc_lfact_table() |
const double | sqrt_pi = 1.772453850905516027298167483341145182798 |
std::random_device | random_dev |
const double | pi = 3.14159265358979323846264338328 |
const double | logpi = 1.144729885849400174143427351353058711647294812915311571513623071472137769884826079783623270275489708 |
std::mt19937 | random_gen |
std::uniform_real_distribution< double > | stdunif |
Copyright (C) 2015-2020 Mateusz Łącki and Michał Startek.
This file is part of IsoSpec.
IsoSpec is free software: you can redistribute it and/or modify it under the terms of the Simplified ("2-clause") BSD licence.
IsoSpec is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You should have received a copy of the Simplified BSD Licence along with IsoSpec. If not, see https://opensource.org/licenses/BSD-2-Clause.
double * IsoSpec::alloc_lfact_table | ( | ) |
Definition at line 32 of file isoMath.cpp.
IntType IsoSpec::boost_binomial_distribution_variate | ( | IntType | t_arg, |
RealType | p_arg, | ||
std::mt19937 & | urng = random_gen ) |
IntType IsoSpec::btrd | ( | IntType | _t, |
RealType | p, | ||
IntType | m, | ||
std::mt19937 & | urng = random_gen ) |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 26 of file allocator.h.
void IsoSpec::dealloc_table | ( | T * | tbl, |
int | dim ) |
size_t * IsoSpec::get_inverse_order | ( | T * | order_array, |
size_t | N ) |
double IsoSpec::get_loggamma_nominator | ( | int | x | ) |
Definition at line 149 of file marginalTrek++.cpp.
size_t * IsoSpec::get_order | ( | T * | order_array, |
size_t | N ) |
double * IsoSpec::getMLogProbs | ( | const double * | probs, |
int | isoNo ) |
Here we order the processor to round the numbers up rather than down. Rounding down could result in the algorithm falling in an infinite loop because of the numerical instability of summing.
Definition at line 122 of file marginalTrek++.cpp.
void IsoSpec::impose_order | ( | size_t * | O, |
size_t | N, | ||
TA * | A, | ||
TB * | B ) |
|
inline |
double IsoSpec::InverseLowerIncompleteGamma2 | ( | int | a, |
double | x ) |
Definition at line 131 of file isoMath.cpp.
IntType IsoSpec::invert | ( | IntType | t, |
RealType | p, | ||
std::mt19937 & | urng = random_gen ) |
double IsoSpec::LowerIncompleteGamma2 | ( | int | a, |
double | x ) |
Definition at line 104 of file isoMath.cpp.
double IsoSpec::NormalCDF | ( | double | x, |
double | mean, | ||
double | stdev ) |
Definition at line 70 of file isoMath.cpp.
double IsoSpec::NormalCDFInverse | ( | double | p | ) |
Definition at line 57 of file isoMath.cpp.
double IsoSpec::NormalCDFInverse | ( | double | p, |
double | mean, | ||
double | stdev ) |
Definition at line 65 of file isoMath.cpp.
double IsoSpec::NormalPDF | ( | double | x, |
double | mean, | ||
double | stdev ) |
Definition at line 95 of file isoMath.cpp.
|
inline |
unsigned int IsoSpec::parse_formula | ( | const char * | formula, |
std::vector< double > & | isotope_masses, | ||
std::vector< double > & | isotope_probabilities, | ||
int ** | isotopeNumbers, | ||
int ** | atomCounts, | ||
unsigned int * | confSize, | ||
bool | use_nominal_masses ) |
Definition at line 355 of file isoSpec++.cpp.
void IsoSpec::printArray | ( | const T * | array, |
int | size, | ||
const char * | prefix = "" ) |
void IsoSpec::printNestedArray | ( | const T ** | array, |
const int * | shape, | ||
int | size ) |
void IsoSpec::printOffsets | ( | const T ** | array, |
int | size, | ||
const T * | offset, | ||
const char * | prefix = "" ) |
void IsoSpec::printVector | ( | const std::vector< T > & | vec | ) |
void * IsoSpec::quickselect | ( | void ** | array, |
int | n, | ||
int | start, | ||
int | end ) |
double IsoSpec::RationalApproximation | ( | double | t | ) |
Definition at line 47 of file isoMath.cpp.
|
inline |
size_t IsoSpec::rdvariate_binom | ( | size_t | tries, |
double | succ_prob, | ||
std::mt19937 & | rgen ) |
Definition at line 153 of file isoMath.cpp.
void IsoSpec::realloc_append | ( | T ** | array, |
T | what, | ||
size_t | old_array_size ) |
void IsoSpec::release_g_lfact_table | ( | ) |
Definition at line 23 of file isoMath.cpp.
void IsoSpec::reorder_array | ( | T * | arr, |
size_t * | order, | ||
size_t | size, | ||
bool | can_destroy = false ) |
Definition at line 134 of file fixedEnvelopes.cpp.
|
inline |
int IsoSpec::verify_atom_cnt | ( | int | atomCnt | ) |
Definition at line 156 of file marginalTrek++.cpp.
void IsoSpec::writeInitialConfiguration | ( | const int | atomCnt, |
const int | isotopeNo, | ||
const double * | lprobs, | ||
int * | res ) |
Find one of the most probable subisotopologues.
The algorithm uses the hill-climbing algorithm. It starts from a subisotopologue close to the mean of the underlying multinomial distribution. There might be more than one modes, in case of which this function will return only one of them, close to the mean.
atomCnt |
Here we perform hill climbing to the mode of the marginal distribution (the subisotopologue distribution). We start from the point close to the mean of the underlying multinomial distribution.
Definition at line 50 of file marginalTrek++.cpp.
const double IsoSpec::aa_elem_masses |
const double IsoSpec::aa_elem_nominal_masses |
const double IsoSpec::aa_elem_probabilities |
ISOSPEC_C_API const int IsoSpec::elem_table_atomicNo |
Definition at line 325 of file element_tables.cpp.
ISOSPEC_C_API const char * IsoSpec::elem_table_element |
Definition at line 1509 of file element_tables.cpp.
ISOSPEC_C_API const int IsoSpec::elem_table_extraNeutrons |
Definition at line 1213 of file element_tables.cpp.
ISOSPEC_C_API const int IsoSpec::elem_table_ID |
Definition at line 28 of file element_tables.cpp.
ISOSPEC_C_API const double IsoSpec::elem_table_log_probability |
Definition at line 2693 of file element_tables.cpp.
ISOSPEC_C_API const double IsoSpec::elem_table_mass |
Definition at line 621 of file element_tables.cpp.
ISOSPEC_C_API const double IsoSpec::elem_table_massNo |
Definition at line 917 of file element_tables.cpp.
ISOSPEC_C_API const double IsoSpec::elem_table_probability |
Definition at line 2397 of file element_tables.cpp.
ISOSPEC_C_API const bool IsoSpec::elem_table_Radioactive |
Definition at line 2101 of file element_tables.cpp.
ISOSPEC_C_API const char * IsoSpec::elem_table_symbol |
Definition at line 1805 of file element_tables.cpp.
double * IsoSpec::g_lfact_table = alloc_lfact_table() |
Definition at line 44 of file isoMath.cpp.
ISOSPEC_C_API const size_t IsoSpec::isospec_number_of_isotopic_entries = ISOSPEC_NUMBER_OF_ISOTOPIC_ENTRIES |
Definition at line 26 of file element_tables.cpp.
const double IsoSpec::logpi = 1.144729885849400174143427351353058711647294812915311571513623071472137769884826079783623270275489708 |
std::random_device IsoSpec::random_dev |
Definition at line 149 of file isoMath.cpp.
const double IsoSpec::sqrt_pi = 1.772453850905516027298167483341145182798 |
Definition at line 102 of file isoMath.cpp.