History of changes
1.5.0
General:
- The Python interface to libBioLCCC has been renamed to pyteomics.biolccc.
- The codes are now compiled with custom-built python scripts. In practice,
that means that the binary C++ library and C++ test suite temporarily lack
building scripts. This functionality will be restored as soon as needed.
1.4.0
General:
- Add mixingCorrection option to ChromoConditions.
When mixingCorrection is true (default is false), immediate composition of
the solvent in the column does not equal to the composition of the pumped
solution, but is calculated according to the differential equation of solute
accumulation:
d[SS] / dt = flow rate / (V0 + Vp) * ([SS]pump - [SS]),
where [SS] is the second solvent concentration in the column, and [SS]pump
is the concentration in the pumped solution,
V0 is the interstitial volume, Vp is the volume of pores.
- The code of calculateRT() is significantly simplified, a part of it is moved
to ChromoConditions.
1.3.0
General:
- Add a general expression for the rod model. The previously used
special expression did not account for bridge conformations of a
polymer, in which both its ends are adsorbed to the opposite walls
of a pore. The special expression is valid only when polymerLength <
slitWidth - 2 * layerWidth. The newly introduced general expression
is valid for polymers of any length, but requires more computational
resources. The general expression is disabled by default and can be
enabled by setting specialRodModel variable of a ChemicalBasis to
false.
- Add bindArea variable to ChemicalGroup class. This variable contains
the size of the chemical group. This size is defined as a number of
binary solvent molecules which are desorbed when the chemical group
is adsorbed to the surface. By default every chemical group has a
size of 1.0, except for the terminal groups, that have zero size.
- Add experimental option neglectPartiallyDesorbedStates.
Corresponding citation from the documentation: “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.”
- Code refactoring: biolccc.cpp/.h was splitted into biolccc.cpp/.h,
parsing.cpp/.h, rod_model.cpp/.h and chain_model.cpp/.h.
API changes:
- Parsing functionality is now available through parsing.cpp.
1.2.0
General:
- Add the fast version of calculateRT function which calculates Kd only in a few
points and than use interpolation to find the remaining values.
- Change the way dV is used. Now the accuracy of calculateRT is almost
independent of dV for shallow gradients.
- The introduced changes are documented in the chapter “Changing the precision
of calculation”.
API changes:
- New arguments in calculateRT function: numInterpolationPoints and
backwardCompatibility. The former is used to set the number of points used to
interpolate the value of Kd. The default value is 0, which means that
interpolation is disabled. backwardCompatibility controls the way dV is
treated. If it is true, then the old equations for RT are used, otherwise the
new routine is invoked which almost independent of dV.
- New “auxiliary” sublibrary, which contains various math functions. Currently,
it contains interpolation routines.
1.1.0
General:
- Multiples fixes in the documentation.
API changes:
- Add variable VERSION which contains the version of the library.
- COIL model is CHAIN now.
- ModelType, setModel and model and now PolymerModel, setPolymerModel and
polymerModel.
1.0.0
General:
- The first public release.
- The project now uses mercurial instead of bazaar.
- The project now uses SCons instead of CMake.
- Add API documentation generated by doxygen.
- Add general documentation generated using Sphinx.
- Add test suite both for libBioLCCC and pyBioLCCC.
- Massive API rework.
Theory:
- Fix the bug in the expression for the effective binding energy of the binary
solvent. The relative adsorption strength is used properly now.
- Add the relative adsorption strength of layers in COIL model.
- Add the new segmentation mechanism.
Predefined chemical bases:
- Add the new set for RP/ACN/FA/ROD.
- Change the label for C-terminal carboxylic group from ‘-COOH’ to ‘-OH’.
API changes:
- Functions do not return error codes now.
- Add the exception-based mechanism of error handling.
- Merge Terminus and Aminoacid into ChemicalGroup class. Remove corresponding
methods of ChemicalBasis. Add new chemicalGroups(), clearChemicalGroups(),
addChemicalGroup() methods.
- Add isNTerminus(), isCTerminus() methods to ChemicalGroup class.
- calibrationParameter is relativeAdsorptionStrength now.
- adsorbtionLayerWidth is adsorptionLayerWidth now (what a shame!).
- Add ModelType type. It contains two values: COIL and ROD.
- Change setModel() method of ChemicalBasis.
- Add PredefinedChemicalBasis type. It contains two values: RP_ACN_FA_ROD and
RP_ACN_TFA_COIL.
- Change the ChemicalBasis() constructor. The default constructor, which takes
no arguments, returns an empty chemical basis now. Add the new constructor
which takes a PredefinedChemicalBasis argument.
- No more standardChemicalBasis. Instead, there are two new const ChemicalBasis
instances: rpAcnFaRod and rpAcnTfaCoil.
- Add snyderApproximation parameter to ChemicalBasis.
- Add adsorbtionLayerFactors to ChemicalBasis.
- segmentLength is monomerLength now.
- Remove persistentLength parameter from ChemicalBasis class.
- Add KuhnLength in angstroms to ChemicalBasis class.
- Add methods to change the densities and the molar masses of the solvents to
ChemicalBasis class.
- Change the arguments and return value of parseSequence().
- Change the arguments of calculateRT, calculateKd. There is no more the default
value for the ChemicalBasis argument.
- Remove calibrateBioLCCC and calculatePeptideProperites methods.
- Add setters to ChemicalGroup class.
pyBioLCCC:
- Remove the “min_inf” methods from ChemicalBasis.
- Add the new dict-like syntax for ChemicalBasis, ChemicalGroup and
ChromoConditions.