IsoSpec  2.1.2
Classes | Typedefs | Functions | Variables
IsoSpec Namespace Reference

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)
 
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. More...
 
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
 

Detailed Description

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.

Function Documentation

◆ getMLogProbs()

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.

◆ writeInitialConfiguration()

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.

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

Variable Documentation

◆ aa_elem_masses

const double IsoSpec::aa_elem_masses
Initial value:
= {
elem_table_mass[9], elem_table_mass[10],
elem_table_mass[0], elem_table_mass[1],
elem_table_mass[11], elem_table_mass[12],
elem_table_mass[13], elem_table_mass[14], elem_table_mass[15],
elem_table_mass[29], elem_table_mass[30], elem_table_mass[31], elem_table_mass[32],
elem_table_mass[85], elem_table_mass[86], elem_table_mass[87], elem_table_mass[88], elem_table_mass[89], elem_table_mass[90]
}

Definition at line 27 of file fasta.cpp.

◆ aa_elem_nominal_masses

const double IsoSpec::aa_elem_nominal_masses
Initial value:
= {
elem_table_massNo[9], elem_table_massNo[10],
elem_table_massNo[0], elem_table_massNo[1],
elem_table_massNo[11], elem_table_massNo[12],
elem_table_massNo[13], elem_table_massNo[14], elem_table_massNo[15],
elem_table_massNo[29], elem_table_massNo[30], elem_table_massNo[31], elem_table_massNo[32],
elem_table_massNo[85], elem_table_massNo[86], elem_table_massNo[87], elem_table_massNo[88], elem_table_massNo[89], elem_table_massNo[90]
}

Definition at line 37 of file fasta.cpp.

◆ aa_elem_probabilities

const double IsoSpec::aa_elem_probabilities
Initial value:
= {
elem_table_probability[9], elem_table_probability[10],
elem_table_probability[0], elem_table_probability[1],
elem_table_probability[11], elem_table_probability[12],
elem_table_probability[13], elem_table_probability[14], elem_table_probability[15],
elem_table_probability[29], elem_table_probability[30], elem_table_probability[31], elem_table_probability[32],
elem_table_probability[85], elem_table_probability[86], elem_table_probability[87], elem_table_probability[88], elem_table_probability[89], elem_table_probability[90]
}

Definition at line 47 of file fasta.cpp.