Classes | Enumerations | Functions | Variables
BioLCCC Namespace Reference

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  ChemicalBasisException
 This exception is raised when something goes wrong with a ChemicalBasis. More...
class  ChemicalBasis
 An instance of ChemicalBasis contains a set of BioLCCC constants. More...
class  ChemicalGroup
 A ChemicalGroup instance contains the properties of a group of atoms. More...
class  ChromoConditionsException
 This exception is raised when something goes wrong with a ChromoConditions. More...
class  ChromoConditions
 A ChromoConditions instance describes conditions of chromatography. More...
class  GradientException
 This exception is raised when something goes wrong with a Gradient. More...
class  Gradient
 An instance of Gradient describes an elution gradient. More...
class  GradientPointException
 This exception is raised when something goes wrong with a GradientPoint. More...
class  GradientPoint
 An instance of GradientPoint keeps the properties of a point of a gradient. 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) throw (BioLCCCException)
 Calculates the retention time of a peptide.
double calculateAverageMass (const std::string &sequence, const ChemicalBasis &chemBasis) throw (BioLCCCException)
 Calculates the average (molar) mass of a peptide.
double calculateMonoisotopicMass (const std::string &sequence, const ChemicalBasis &chemBasis) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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) throw (BioLCCCException)
 Calculates coefficient of distribution of a polymer using the chain model.
std::vector< ChemicalGroupparseSequence (const std::string &source, const ChemicalBasis &chemBasis) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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) throw (BioLCCCException)
 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.

Detailed Description

Apart from classes, BioLCCC contains calculation methods and constants.


Enumeration Type Documentation

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.

Enumerator:
ROD 

The model in which a polymer molecule is assumed to be absolutely rigid. This model works better for short molecules, e.g. peptides. The advantage of this model is that it uses explicit expressions for Kd. The equations are valid only for molecules, which are shorter than the size of a pore. More precisely: Length < PoreSize - 2 * AdsorptionLayerWidth

CHAIN 

The free-joint chain model of a polymer. This model relies heavily on the matrix equations.

Definition at line 28 of file chemicalbasis.h.

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.

Definition at line 51 of file chemicalbasis.h.


Function Documentation

double BioLCCC::calculateAverageMass ( const std::string &  sequence,
const ChemicalBasis &  chemBasis 
) throw (BioLCCCException)

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.

Definition at line 285 of file biolccc.cpp.

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

Definition at line 9 of file chain_model.cpp.

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 
) throw (BioLCCCException)

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

Parameters:
sequenceThe sequence of a peptide.
secondSolventConcentrationThe concentration of the second solvent in the liquid phase
chemBasisThe set of the physicochemical constants.
columnPoreSizeThe size of adsorbent pores.
columnRelativeStrengthThe relative strength of adsorption.
temperatureTemperature of the column.

Definition at line 269 of file biolccc.cpp.

double BioLCCC::calculateMonoisotopicMass ( const std::string &  sequence,
const ChemicalBasis &  chemBasis 
) throw (BioLCCCException)

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.

Definition at line 303 of file biolccc.cpp.

std::vector< double > BioLCCC::calculateMonomerEnergyProfile ( const std::vector< ChemicalGroup > &  parsedSequence,
const ChemicalBasis &  chemBasis,
const double  secondSolventConcentration,
const double  columnRelativeStrength,
const double  temperature 
) throw (BioLCCCException)

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

Definition at line 11 of file parsing.cpp.

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.

Definition at line 223 of file auxiliary.cpp.

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 
) throw (BioLCCCException)

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.

Definition at line 251 of file biolccc.cpp.

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.

Definition at line 87 of file parsing.cpp.

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.

Definition at line 36 of file auxiliary.cpp.

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.

Definition at line 209 of file auxiliary.cpp.

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.

Definition at line 8 of file auxiliary.cpp.

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.

Definition at line 61 of file auxiliary.cpp.

std::vector< ChemicalGroup > BioLCCC::parseSequence ( const std::string &  source,
const ChemicalBasis &  chemBasis 
) throw (BioLCCCException)

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.

Definition at line 134 of file parsing.cpp.

double BioLCCC::partitionFunctionRodPartiallySubmergedGeneral ( double  segmentLength,
double  slitWidth,
double  layerWidth,
const std::vector< double > &  rodEnergyProfile,
bool  reversed = false 
) throw (BioLCCCException)

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.

Definition at line 235 of file rod_model.cpp.

double BioLCCC::partitionFunctionRodPartiallySubmergedSpecial ( double  segmentLength,
double  slitWidth,
double  layerWidth,
const std::vector< double > &  rodEnergyProfile,
bool  reversed = false 
) throw (BioLCCCException)

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.

Definition at line 298 of file rod_model.cpp.

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.

Definition at line 95 of file auxiliary.cpp.

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.

Definition at line 74 of file auxiliary.cpp.

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.

Definition at line 133 of file auxiliary.cpp.


Variable Documentation

Initial value:
    ChemicalBasis(RP_ACN_FA_ROD)

A ChemicalBasis instance of predefined RP_ACN_FA_ROD.

Definition at line 24 of file biolccc.h.

Initial value:
    ChemicalBasis(RP_ACN_TFA_CHAIN)

A ChemicalBasis instance of predefined RP_ACN_TFA_CHAIN.

Definition at line 20 of file biolccc.h.

 All Classes Namespaces Functions Variables Enumerations Enumerator