|
libBioLCCC
|
Apart from classes, BioLCCC contains calculation methods and constants. More...
Classes | |
| class | BioLCCCException |
| Base class for all BioLCCC exceptions. Can be used by itself. More... | |
| class | ChemicalBasis |
| An instance of ChemicalBasis contains a set of BioLCCC constants. More... | |
| class | ChemicalBasisException |
| This exception is raised when something goes wrong with a ChemicalBasis. More... | |
| class | ChemicalGroup |
| A ChemicalGroup instance contains the properties of a group of atoms. More... | |
| class | ChromoConditions |
| A ChromoConditions instance describes conditions of chromatography. More... | |
| class | ChromoConditionsException |
| This exception is raised when something goes wrong with a ChromoConditions. More... | |
| class | Gradient |
| An instance of Gradient describes an elution gradient. More... | |
| class | GradientException |
| This exception is raised when something goes wrong with a Gradient. More... | |
| class | GradientPoint |
| An instance of GradientPoint keeps the properties of a point of a gradient. More... | |
| class | GradientPointException |
| This exception is raised when something goes wrong with a GradientPoint. More... | |
| class | ParsingException |
| This exception is raised when a parsing process cannot be completed. More... | |
Enumerations | |
| enum | PolymerModel { ROD , CHAIN } |
| The model of polymer being used in calculations. More... | |
| enum | PredefinedChemicalBasis { RP_ACN_TFA_CHAIN , RP_ACN_FA_ROD } |
| This enum describes the predefined sets of physicochemical constants. More... | |
Functions | |
| void | fitSpline (const double *x, const double *y, const int n, double *y2) |
| Calculates the second derivatives of a function. | |
| double | calculateSpline (const double *x, const double *y, const double *y2, const int n, const double x_in) |
| Calculates the value of a function using the cubic spline interpolation. | |
| double | linInterpolate (const double *x, const double *y, const int n, const double x_in) |
| Calculates the value of a function using a piecewise linear interpolation. | |
| double | polInterpolate (const double *x, const double *y, const int n, const double x_in) |
| Calculates the value of a function using a polynomial interpolation. | |
| double | partPolInterpolate (const double *x, const double *y, const int n, const int n_part, const double x_in) |
| Calculates the value of a function using a partial polynomial interpolation. | |
| void | solveMatrixEquation (double *m, double *rhs, const int n) |
| Solves a linear matrix equation m * x = rhs for square matrix m of size nxn. | |
| void | fitPolynomial (double *x, double *y, const int n) |
| Constructs a polynomial whose values at n points x equals y. | |
| double | calculatePolynomial (const double *coeffs, const int n, const double x) |
| Calculates the value of a polynomial of (n-1)th power at point x. | |
| double | calculateRT (const std::string &sequence, const ChemicalBasis &chemBasis, const ChromoConditions &conditions=standardChromoConditions, const int numInterpolationPoints=0, const bool continueGradient=true, const bool backwardCompatibility=false) |
| Calculates the retention time of a peptide. | |
| double | calculateAverageMass (const std::string &sequence, const ChemicalBasis &chemBasis) |
| Calculates the average (molar) mass of a peptide. | |
| double | calculateMonoisotopicMass (const std::string &sequence, const ChemicalBasis &chemBasis) |
| Calculates the monoisotopic mass of a peptide. | |
| double | calculateKd (const std::string &sequence, const double secondSolventConcentration, const ChemicalBasis &chemBasis, const double columnPoreSize=100.0, const double columnRelativeStrength=1.0, const double temperature=293.0) |
| Calculates the coefficient of distribution Kd for the given peptide. | |
| std::vector< double > | calculateBoltzmannFactorProfile (const std::vector< double > &effectiveEnergyProfile) |
| Converts energy profile of a peptide/protein to a profile of probabilities. | |
| double | calculateKdChain (const std::vector< ChemicalGroup > &parsedSequence, const double secondSolventConcentration, const ChemicalBasis &chemBasis, const double columnPoreSize, const double columnRelativeStrength, const double temperature) |
| Calculates coefficient of distribution of a polymer using the chain model. | |
| std::vector< ChemicalGroup > | parseSequence (const std::string &source, const ChemicalBasis &chemBasis) |
| Parses a given peptide sequence. | |
| std::vector< double > | calculateMonomerEnergyProfile (const std::vector< ChemicalGroup > &parsedSequence, const ChemicalBasis &chemBasis, const double secondSolventConcentration, const double columnRelativeStrength, const double temperature) |
| Calculates the effective energy profile of monomers of the polymer chain. | |
| std::vector< double > | calculateSegmentEnergyProfile (const std::vector< double > &monomerEnergyProfile, const double monomerLength, const double kuhnLength) |
| Calculates the effective energy profile of segments of the polymer chain. | |
| double | partitionFunctionRodPartiallySubmergedTermSpecial (double segmentLength, double slitWidth, double layerWidth, int N, int n1) |
| Calculates a term in the special expression for the partition function. | |
| double | partitionFunctionRodPartiallySubmergedTermGeneral (double segmentLength, double slitWidth, double layerWidth, int N, int n1, int n2) |
| Calculates a term in the general expression for the partition function. | |
| double | rodAdsorptionEnergy (const std::vector< double > &rodEnergyProfile, int n1, int n2) |
| Calculates the adsorption energy of the first n segments of a rod. | |
| double | partitionFunctionRodFreeSlit (double rodLength, double slitWidth) |
| Calculates the partition function of a rod in a slit with impenetrable walls. | |
| double | partitionFunctionRodPartiallySubmergedGeneral (double segmentLength, double slitWidth, double layerWidth, const std::vector< double > &rodEnergyProfile, bool reversed=false) |
| Calculates Z of a rod partially submerged into the adsorbing layer. | |
| double | partitionFunctionRodPartiallySubmergedSpecial (double segmentLength, double slitWidth, double layerWidth, const std::vector< double > &rodEnergyProfile, bool reversed=false) |
| Calculates Z of the rod partially submerged into an adsorbing layer. | |
| double | partitionFunctionRodFreeVolume (double rodLength, double slitWidth) |
| Calculates the partition function of a rod in a slit without walls. | |
| double | calculateKdRod (const std::vector< ChemicalGroup > &parsedSequence, const double secondSolventConcentration, const ChemicalBasis &chemBasis, const double columnPoreSize, const double columnRelativeStrength, const double temperature) |
| Calculates the coefficient of distribution of a polymer using the rod model. | |
Variables | |
| const ChromoConditions | standardChromoConditions = ChromoConditions() |
| A ChromoConditions instance with the standard chromatographic conditions. | |
| const ChemicalBasis | rpAcnTfaChain |
| A ChemicalBasis instance of predefined RP_ACN_TFA_CHAIN. | |
| const ChemicalBasis | rpAcnFaRod |
| A ChemicalBasis instance of predefined RP_ACN_FA_ROD. | |
Apart from classes, BioLCCC contains calculation methods and constants.
The model of polymer being used in calculations.
There are different representations of a polymer model, each suitable for different substances and described by different set of equations. At this step, the BioLCCC theory describes a polymer molecule as a free-joint chain or a rigid rod.
This enum describes the predefined sets of physicochemical constants.
The BioLCCC library contains several predifined sets of physicochemical constants. Please note that usually changing only one parameter in a whole set of constants deteriorate the quality of prediction.
| Enumerator | |
|---|---|
| RP_ACN_TFA_CHAIN | Reversed phase, ACN, trifluoracetic acid, CHAIN model. A ChemicalBasis calibrated for reversed phase, ACN as a second solvent, 0.1% TFA and CHAIN type of BioLCCC model. The data was obtained in Guo et al, Journal of Chromatography, 359 (1986) 449-517. |
| RP_ACN_FA_ROD | Reversed phase, ACN, formic acid, ROD model. A ChemicalBasis calibrated for reversed phase, ACN as a second solvent, 0.1% FA and ROD type of BioLCCC model. The data was obtained in the joint research of Harvard University and Institute for Energy Problems for Chemical Physics, Russian Academy of Science. |
| double BioLCCC::calculateAverageMass | ( | const std::string & | sequence, |
| const ChemicalBasis & | chemBasis | ||
| ) |
Calculates the average (molar) mass of a peptide.
Calculates the average (molar) mass of a peptide with given sequence using the given set of physicochemical constants chemBasis.
| std::vector< double > BioLCCC::calculateBoltzmannFactorProfile | ( | const std::vector< double > & | effectiveEnergyProfile | ) |
Converts energy profile of a peptide/protein to a profile of probabilities.
This function converts the energy profile of a peptide/protein to a profile of distribution probabilities. Probability = exp(E_effective).
| double BioLCCC::calculateKd | ( | const std::string & | sequence, |
| const double | secondSolventConcentration, | ||
| const ChemicalBasis & | chemBasis, | ||
| const double | columnPoreSize = 100.0, |
||
| const double | columnRelativeStrength = 1.0, |
||
| const double | temperature = 293.0 |
||
| ) |
Calculates the coefficient of distribution Kd for the given peptide.
Calculates the coefficient of distribution Kd (i.e. the ratio of concentrations of a peptide in the pores and in the interstitial volume).
| sequence | The sequence of a peptide. |
| secondSolventConcentration | The concentration of the second solvent in the liquid phase |
| chemBasis | The set of the physicochemical constants. |
| columnPoreSize | The size of adsorbent pores. |
| columnRelativeStrength | The relative strength of adsorption. |
| temperature | Temperature of the column. |
| double BioLCCC::calculateMonoisotopicMass | ( | const std::string & | sequence, |
| const ChemicalBasis & | chemBasis | ||
| ) |
Calculates the monoisotopic mass of a peptide.
Calculates the monoisotopic mass of a peptide with given sequence using the given set of physicochemical constants chemBasis.
| std::vector< double > BioLCCC::calculateMonomerEnergyProfile | ( | const std::vector< ChemicalGroup > & | parsedSequence, |
| const ChemicalBasis & | chemBasis, | ||
| const double | secondSolventConcentration, | ||
| const double | columnRelativeStrength, | ||
| const double | temperature | ||
| ) |
Calculates the effective energy profile of monomers of the polymer chain.
Each element in this profile contains the adsorption energy of a single monomer.
E_{effective} = alpha * ( E_{residue} - E_{ab} ) * 293.0 / temperature, and Eab is the effective energy of binary solvent binding to the stationary phase. Eab = Ea + 1 / alpha * ln( 1 + Nb + Nb * exp( alpha * ( Ea - Eb ) ) )
| double BioLCCC::calculatePolynomial | ( | const double * | coeffs, |
| const int | n, | ||
| const double | x | ||
| ) |
Calculates the value of a polynomial of (n-1)th power at point x.
The computed coefficients before terms x^0, x^1, ... , x^(n-1) should stored in coeffs.
| double BioLCCC::calculateRT | ( | const std::string & | sequence, |
| const ChemicalBasis & | chemBasis, | ||
| const ChromoConditions & | conditions = standardChromoConditions, |
||
| const int | numInterpolationPoints = 0, |
||
| const bool | continueGradient = true, |
||
| const bool | backwardCompatibility = false |
||
| ) |
Calculates the retention time of a peptide.
Calculates the retention time of a peptide with given sequence using the given description of chromatographic conditions conditions and set of physicochemical constants chemBasis.
If continueGradient is true, than the last section of a gradient is prolonged.
If backwardCompatibility is true, than the calculated RT will be a multiple of dV/flow rate. This type of calculations was used in the version 1.1.0 and earlier.
| std::vector< double > BioLCCC::calculateSegmentEnergyProfile | ( | const std::vector< double > & | monomerEnergyProfile, |
| const double | monomerLength, | ||
| const double | kuhnLength | ||
| ) |
Calculates the effective energy profile of segments of the polymer chain.
The energy of a single segment equals to sum of the energies of the whole monomers containing in the segment PLUS the proportional parts of the energies of monomers which cross the borders of the segment.
| double BioLCCC::calculateSpline | ( | const double * | x, |
| const double * | y, | ||
| const double * | y2, | ||
| const int | n, | ||
| const double | x_in | ||
| ) |
Calculates the value of a function using the cubic spline interpolation.
The value of the function at arbitrary point x_in is calculated using the values of the function y and its second derivative y2 at n consecutive points x.
| void BioLCCC::fitPolynomial | ( | double * | x, |
| double * | y, | ||
| const int | n | ||
| ) |
Constructs a polynomial whose values at n points x equals y.
The computed coefficients before terms x^0, x^1, ... , x^(n-1) are stored in y.
| void BioLCCC::fitSpline | ( | const double * | x, |
| const double * | y, | ||
| const int | n, | ||
| double * | y2 | ||
| ) |
Calculates the second derivatives of a function.
The function should be described by its n values y at consecutive points x. The function stores its output in the array y2 of size n.
| double BioLCCC::linInterpolate | ( | const double * | x, |
| const double * | y, | ||
| const int | n, | ||
| const double | x_in | ||
| ) |
Calculates the value of a function using a piecewise linear interpolation.
Calculates the value of a function at the point x_in. The values of the function at n points x are known and equal y.
| std::vector< ChemicalGroup > BioLCCC::parseSequence | ( | const std::string & | source, |
| const ChemicalBasis & | chemBasis | ||
| ) |
Parses a given peptide sequence.
Parses a given peptide sequence source using chemBasis. Returns a vector with chemical groups.
Throws ParsingException if the peptide is not parseable.
| double BioLCCC::partitionFunctionRodPartiallySubmergedGeneral | ( | double | segmentLength, |
| double | slitWidth, | ||
| double | layerWidth, | ||
| const std::vector< double > & | rodEnergyProfile, | ||
| bool | reversed = false |
||
| ) |
Calculates Z of a rod partially submerged into the adsorbing layer.
This function employs the general algorithm of partion function calculation which is valid for all arguments' values.
| double BioLCCC::partitionFunctionRodPartiallySubmergedSpecial | ( | double | segmentLength, |
| double | slitWidth, | ||
| double | layerWidth, | ||
| const std::vector< double > & | rodEnergyProfile, | ||
| bool | reversed = false |
||
| ) |
Calculates Z of the rod partially submerged into an adsorbing layer.
This function employs the special algorithm of partion function calculation which is valid only when rodWidth < slitWidth - 2 * layerWidth.
| double BioLCCC::partPolInterpolate | ( | const double * | x, |
| const double * | y, | ||
| const int | n, | ||
| const int | n_part, | ||
| const double | x_in | ||
| ) |
Calculates the value of a function using a partial polynomial interpolation.
This version calculates the value of the function at the point x_in using only the values of the function at n_part * 2 nearest points.
| double BioLCCC::polInterpolate | ( | const double * | x, |
| const double * | y, | ||
| const int | n, | ||
| const double | x_in | ||
| ) |
Calculates the value of a function using a polynomial interpolation.
Finds the value of a function at the point x_in. The values of the function at n points x are known and equal y.
| void BioLCCC::solveMatrixEquation | ( | double * | m, |
| double * | rhs, | ||
| const int | n | ||
| ) |
Solves a linear matrix equation m * x = rhs for square matrix m of size nxn.
The equation is solved using the Gauss-Jordan elimination method. The resulting solution vector x is written to rhs.
| const ChemicalBasis BioLCCC::rpAcnFaRod |
A ChemicalBasis instance of predefined RP_ACN_FA_ROD.
| const ChemicalBasis BioLCCC::rpAcnTfaChain |
A ChemicalBasis instance of predefined RP_ACN_TFA_CHAIN.