Public Member Functions
BioLCCC::ChemicalBasis Class Reference

An instance of ChemicalBasis contains a set of BioLCCC constants. More...

#include <chemicalbasis.h>

List of all members.

Public Member Functions

 ChemicalBasis ()
 Constructs an empty ChemicalBasis instance.
 ChemicalBasis (PredefinedChemicalBasis predefinedChemicalBasisId)
 Constructs a ChemicalBasis instance with a predefined set of constants.
std::map< std::string,
ChemicalGroup > & 
chemicalGroups ()
 Returns the map of all chemical groups. Non-constant version.
const std::map< std::string,
ChemicalGroup > & 
chemicalGroups () const
 Returns the map of all chemical groups. Constant version.
const ChemicalGroupdefaultNTerminus () const throw (ChemicalBasisException)
 Returns the default N-terminal group.
const ChemicalGroupdefaultCTerminus () const throw (ChemicalBasisException)
 Returns the default C-terminal group.
void addChemicalGroup (ChemicalGroup newChemicalGroup)
 Adds newChemicalGroup to the ChemicalBasis.
void removeChemicalGroup (std::string label) throw (ChemicalBasisException)
 Removes a chemical group with the given label;.
void clearChemicalGroups ()
 Removes all chemical groups in a ChemicalBasis.
double secondSolventBindEnergy () const
 Returns the bind energy of the second solvent.
void setSecondSolventBindEnergy (double newEnergy)
 Sets newEnergy as the bind energy of the second solvent.
void setPolymerModel (PolymerModel newModel)
 Sets the model of a polymer (CHAIN or ROD).
const PolymerModel polymerModel () const
 Returns the model of a polymer (CHAIN or ROD).
double monomerLength () const
 Returns the length of a single monomer in a polymer chain in angstroms.
void setMonomerLength (double newMonomerLength) throw (ChemicalBasisException)
 Sets the length of a single monomer in a polymer chain in angstroms.
double kuhnLength () const
 Returns the Kuhn length of a polymer molecule in angstroms.
void setKuhnLength (double newKuhnLength) throw (ChemicalBasisException)
 Sets the Kuhn length of a molecule in angstroms.
double adsorptionLayerWidth () const
 Returns the width of a solid phase adsorption layer in ROD model.
void setAdsorptionLayerWidth (double newAdsorptionLayerWidth) throw (ChemicalBasisException)
 Sets the width of a solid phase adsorption layer in ROD model.
const std::vector< double > & adsorptionLayerFactors () const
 Returns the absorption factors of the near-wall layers in CHAIN model.
void setAdsorptionLayerFactors (std::vector< double > newAdsorptionLayerFactors)
 Sets the absorption factors of the near-wall layers in CHAIN model.
bool snyderApproximation () const
 Returns true if the energy of binary solvent is linearly fitted.
void setSnyderApproximation (bool flag)
 Enables the linear approximation of the energy of binary solvent.
bool specialRodModel () const
 Returns true if equations for the special case of rod model are used.
void setSpecialRodModel (bool flag)
 Enables the usage of the special equation for the rod model.
bool neglectPartiallyDesorbedStates () const
 Returns true if partially desorbed states are neglected.
void setNeglectPartiallyDesorbedStates (bool flag)
 Excludes partially desorbed states from calculation. FOR MODEL STUDY ONLY.
double firstSolventDensity () const
 Returns the density of the first solvent in kg/m^3.
void setFirstSolventDensity (double newFirstSolventDensity) throw (ChemicalBasisException)
 Sets the density of the first solvent in kg/m^3.
double secondSolventDensity () const
 Returns the density of the second solvent in kg/m^3.
void setSecondSolventDensity (double newSecondSolventDensity) throw (ChemicalBasisException)
 Sets the density of the second solvent in kg/m^3.
double firstSolventAverageMass () const
 Returns the molecular mass of the first solvent in g/mol.
void setFirstSolventAverageMass (double newFirstSolventAverageMass) throw (ChemicalBasisException)
 Sets the molecular mass of the first solvent in g/mol.
double secondSolventAverageMass () const
 Returns the molecular mass of the second solvent in g/mol.
void setSecondSolventAverageMass (double newSecondSolventAverageMass) throw (ChemicalBasisException)
 Sets the molecular mass of the second solvent in g/mol.
ChemicalBasis setPredefinedChemicalBasis (PredefinedChemicalBasis predefinedChemicalBasisId)
 Sets one of predefined chemical basis.

Detailed Description

An instance of ChemicalBasis contains a set of BioLCCC constants.

An instance of ChemicalBasis manages all the physicochemical constants, which are used in the calculations. Currently it contains:

Note that the constants are highly interconnected. That leads to the fact, that a change in a single constant, like the width of adsorbing layer or type of BioLCCC model, deteriorates the accuracy of RT prediction.

Definition at line 86 of file chemicalbasis.h.


Member Function Documentation

void BioLCCC::ChemicalBasis::addChemicalGroup ( ChemicalGroup  newChemicalGroup)

Adds newChemicalGroup to the ChemicalBasis.

If an instance of ChemicalBasis already contains a chemical group with the same label than it is overwritten.

Definition at line 136 of file chemicalbasis.cpp.

const std::vector< double > & BioLCCC::ChemicalBasis::adsorptionLayerFactors ( ) const

Returns the absorption factors of the near-wall layers in CHAIN model.

The standard CHAIN BioLCCC model assumes that adsorption occurs only in one layer, which is closest to the wall. This assumption can be generalized to the case when several near-wall layers adsorb segments of a polymer chain. adsorptionLayerFactors() vector contains the relative adsorption strengths of the near-wall layers. This adsorption strength have the same meaning as the relative adsorption strength of a column and is multiplied by it. The first element of the vector corresponds to the layer closest to the wall, second to the next and so on.

This value is used only in the CHAIN model.

Definition at line 125 of file chemicalbasis.cpp.

double BioLCCC::ChemicalBasis::adsorptionLayerWidth ( ) const

Returns the width of a solid phase adsorption layer in ROD model.

The width of a solid phase adsorption layer can be defined as a characteristic distance of interaction between an amino acid residue and the surface of a solid phase.

This value is used only in the ROD model.

Definition at line 109 of file chemicalbasis.cpp.

std::map< std::string, ChemicalGroup > & BioLCCC::ChemicalBasis::chemicalGroups ( )

Returns the map of all chemical groups. Non-constant version.

A chemical group can be retrieved from the map by its label.

Definition at line 31 of file chemicalbasis.cpp.

const std::map< std::string, ChemicalGroup > & BioLCCC::ChemicalBasis::chemicalGroups ( ) const

Returns the map of all chemical groups. Constant version.

A chemical group can be retrieved from the map by its label.

Definition at line 37 of file chemicalbasis.cpp.

double BioLCCC::ChemicalBasis::kuhnLength ( ) const

Returns the Kuhn length of a polymer molecule in angstroms.

A polymer molecule can be modelled as a chain of equal-sized rigid rods, freely joined with each other. In this case, the rods would be called Kuhn segments, and the length of a segment would be the Kuhn length. The effective adsorption energy of a Kuhn segment equals to the total adsorption energy of all monomers that contains in this segment. If only a part of monomer contains in a segment than its energy is taken proportionally.

There are no joints in the ROD model, the whole molecule is assumed to be shorter than a single Kuhn segment. However, in ROD model kuhnLength is still used to calculate the energy profile of a rod. The whole rod is divided into segments of kuhnLength and each segment transforms into an adsorbing bead. The effective energy of adsorption equals to the total effective energy of a segment, with the same expression as in the CHAIN model.

Definition at line 93 of file chemicalbasis.cpp.

double BioLCCC::ChemicalBasis::monomerLength ( ) const

Returns the length of a single monomer in a polymer chain in angstroms.

Due to the complex geometry of peptide molecule, this length is defined only approximately. The definition is the average length of an amino acid residue along backbone. In other terms, it is the length of a backbone divided by the number of amino acid residues.

Definition at line 76 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::removeChemicalGroup ( std::string  label) throw (ChemicalBasisException)

Removes a chemical group with the given label;.

Throws ChemicalBasisException if a chemical group with the given label is not found.

Definition at line 141 of file chemicalbasis.cpp.

double BioLCCC::ChemicalBasis::secondSolventBindEnergy ( ) const

Returns the bind energy of the second solvent.

!Sets newBindEnergy as the binding energy of chemical group label. !

Note that the bind energy of water is zero and the unit is kT.

Definition at line 66 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setAdsorptionLayerFactors ( std::vector< double >  newAdsorptionLayerFactors)

Sets the absorption factors of the near-wall layers in CHAIN model.

The standard CHAIN BioLCCC model assumes that adsorption occurs only in one layer, which is closest to the wall. This assumption can be generalized to the case when several near-wall layers adsorb segments of a polymer chain. adsorptionLayerFactors() vector contains the relative adsorption strengths of the near-wall layers. This adsorption strength have the same meaning as the relative adsorption strength of a column and is multiplied by it. The first element of the vector corresponds to the layer closest to the wall, second to the next and so on.

This value is used only in the CHAIN model.

Definition at line 130 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setAdsorptionLayerWidth ( double  newAdsorptionLayerWidth) throw (ChemicalBasisException)

Sets the width of a solid phase adsorption layer in ROD model.

The width of a solid phase adsorption layer can be defined as a characteristic distance of interaction between an amino acid residue and the surface of a solid phase.

This value is used only in the ROD model.

Definition at line 114 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setKuhnLength ( double  newKuhnLength) throw (ChemicalBasisException)

Sets the Kuhn length of a molecule in angstroms.

A polymer molecule can be modelled as a chain of equal-sized rigid rods, freely joined with each other. In this case, the rods would be called Kuhn segments, and the length of a segment would be the Kuhn length. The effective adsorption energy of a Kuhn segment equals to the total adsorption energy of all monomers that contains in this segment. If only a part of monomer contains in a segment than its energy is taken proportionally.

There are no joints in the ROD model, the whole molecule is assumed to be shorter than a single Kuhn segment. However, in ROD model kuhnLength is still used to calculate the energy profile of a rod. The whole rod is divided into segments of kuhnLength and each segment transforms into an adsorbing bead. The effective energy of adsorption equals to the total effective energy of a segment, with the same expression as in the CHAIN model.

Definition at line 98 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setMonomerLength ( double  newMonomerLength) throw (ChemicalBasisException)

Sets the length of a single monomer in a polymer chain in angstroms.

Due to the complex geometry of peptide molecule, this length is defined only approximately. The definition is the average length of an amino acid residue along backbone. In other terms, it is the length of a backbone divided by the number of amino acid residues.

Definition at line 81 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setNeglectPartiallyDesorbedStates ( bool  flag)

Excludes partially desorbed states from calculation. FOR MODEL STUDY ONLY.

In BioLCCC model, the distribution coefficient of a polymer is calculated by integration over all its possible conformations. These could be differentiated into three distinct groups: totally adsorbed, totally desorbed and partially desorbed states. The latter are of particular interest, because these conformations give rise to sequence specificity of BioLCCC model. Using setNeglectPartiallyDesorbedStates function, these conformations can be excluded from calculation. This option is intended for study of BioLCCC properties, and should not be used in routine applications.

Definition at line 204 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setSecondSolventBindEnergy ( double  newEnergy)

Sets newEnergy as the bind energy of the second solvent.

Note that the bind energy of water is zero and the unit is kT.

Definition at line 71 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setSnyderApproximation ( bool  flag)

Enables the linear approximation of the energy of binary solvent.

If the value of snyderApproximation is true then the energy of binary solvent is expressed by: E_{ab} = secondSolventBindEnergy * Nb

Definition at line 184 of file chemicalbasis.cpp.

void BioLCCC::ChemicalBasis::setSpecialRodModel ( bool  flag)

Enables the usage of the special equation for the rod model.

The special equation of the rod model do not account for the bridge conformations of a polymer, in which both its ends are adsorbed to the opposite walls of a pore. Therefore, it is valid only when polymerLength < slitWidth - 2 * layerWidth.

If specialRodModel is set to false, than the general equation is used. It is valid for polymers of any length, but requires more computational resources.

Definition at line 194 of file chemicalbasis.cpp.

bool BioLCCC::ChemicalBasis::snyderApproximation ( ) const

Returns true if the energy of binary solvent is linearly fitted.

If the value of snyderApproximation is true then the energy of binary solvent is expressed by: E_{ab} = secondSolventBindEnergy * Nb

Definition at line 179 of file chemicalbasis.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Enumerations Enumerator