OESzybki::GetEntropy added which takes a non-const multiconformer
molecule and a reference to a new object OESzybkiEnsembleResults.
The method evaluates ligand entropy in different environments as other existing
methods, however in addition provides essential data on the ensemble of ligand conformations.
Specifically, it returns the optimized ensemble of unique ligand conformations in its first
parameter, and populates the OESzybkiEnsembleResults objects with entropy
components data for the ensemble. The OESzybkiEnsembleResults also provides
the data for individual unique optimized conformations in the ensemble; in particular
the free energy of isolating a specific conformation from the entire ensemble. An example
code explaining the usage of the new OESzybki::GetEntropy method and the
OESzybkiEnsembleResults class has been added.
Trying to reuse an OESzybki instance after an entropy calculation sometimes
(depending on the subsequent methods call order) caused a crash. To work around that problem
it was necessary to use a new instance of the OESzybki class.
This bug has been fixed.
Method OESzybki::ClearFixAtoms did not clear the unnecessary evaluation of the complete
ligand energy at the very end of optimization with a subset of atoms frozen. The problem has been
Protection against exhausting memory upon the usage of too many Coulomb atom pairs (for example
in the attempt to optimize a large protein) has been added. Also, a confusing message upon
exhausting the memory with too many vdW interactions has been removed.
A warning is now issued in the case where one of the three methods setting the protein flexibility
is used (SetSideChainsFlexibility, SetPolarHFlexibility or SetResidueFlexibility)
when protein is not set. Also, a request of single point calculation (using
SetRunType) properly clears any previous settings of partial
In the default optimization of a ligand inside the protein receptor the convergence criteria
set by the method SetOptimizerType were not consistent with the
intrinsic criteria of one the optimizers used. This inconsistency has been fixed.
Using conjugate gradient optimizer (set with the SetOptimizerType) in
combination with the method SetExactVdWProteinLigand did not report
the number of cycles made by the optimizer. This problem has been fixed.