An extension of the MMFF94 force field for tricoordinate boron compounds
is offered in this release. Most compounds containing B-X bonds where X=C,N,O,S,
and H are covered with the following exceptions: X=N(imine),N(sulfonamide),
N(pyridinium) and N(quaternary). Also not supported are compounds in which
boron is bonded to X=F,Cl,Br,I,B and Si, or makes a bond angle BYX.
Compounds in which boron is a part of four-membered rings of B1CCC1 type are also
not available in the current parameterization because their existence is questionable:
Ab initio calculations at the MP2/6-31G** level failed to identify stable structures
for them (highly polar structures in which boron is four-coordinated are formed).

NOTE WELL: Because of the partial parameterization for boron-containing compounds,
users of the OEMMFF class (derived from
OEGenericFF) need to pay attention to the return value of the
OEMolPotential::OEGenericFF::Setup method: In the case where the parameters
for a specific boron molecule are not available, this function returns false.
Checking the return value of OEMolPotential::OEGenericFF::PrepMol is
not enough, because it does not catch the case of missing force field parameters
for a specific compound.

Two new API methods have been added which control the salt concentration for all PB
calculations with Szybki TK. These are: SetSaltConcentration
and GetSaltConcentration. The first method takes salt concentration
in M as a float number. The valid range is 0 - 0.08M; this method should not be used for
higher salt concentrations. The second method returns the current salt concentration as
a float. Default value is zero. Previous versions of Szybki TK assumed zero salt concentration.

All PB calculations carried out with the previous Szybki TK versions used Bondi atomic
radii. The current release offers two additional sets of atomic radii, called ZAP7 and
ZAP9 as alternatives. They are described by Nicholls et. al.
The new method: SetAtomicRadii allows the use of one of these two sets.
The new method GetAtomicRadiiType returns the type of current atomic
radii set.

Better control of dielectric constants is provided. This includes a new method:
SetSolventDielectric which allows change from the default
value of 80. Method GetSolventDielectric returns the current
value of the solvent dielectric constant. Method: SetSolventModel
which determines the solvation model for a free ligand in solution, now takes an
additional default parameter which sets the intrinsic dielectric constant of the ligand.

A method which obtains gradients from the single point calculations is added.
Specifically, a new method OESzybkiResults.GetGradients is added to the
szybki_results.h header, and two new methods to the szybki.h header file. There are:
SetCalculateGradients and GetCalculateGradients.

Enforcement of proper behavior by the OESzybki.operator() for molecules
without 3D coordinates. Such molecules are not processed and a warning is issued.

Method GetProteinBoundLigandEntropy is protected from selection of
an inappropriate protein-ligand electrostatic model (entropy calculations for protein-bound
ligands are done with the OEProteinElectrostatics_ExactCoulomb model).

Calling SetRunType with an argument OERunType_CartesiansOpt
immediately after a call to same method but with an argument OERunType_TorsionsOpt
caused missing potential values for bonds and bond angles. The problem is fixed.

Method OESzybkiResults.Print was not reporting MMFF terms in the case when
OESzybki.SetProtein was used. The bug is fixed. Also, some minor improvements to this
method is made, so it is clear which terms contribute to the total protein-ligand interactions
and which are reported only for comparison. For example the usage of
OEProteinElectrostatics results in reporting the exact and approximated Coulomb
terms, however only the latter is used in the reported protein-ligand interaction.

Fixed a minor bug where unnecessary warnings regarding missing protein parameters were issued
in an entropy calculation where the protein is held rigid. This happens when mistakes or inaccuracies
in the input protein structures lead to undefined force field parameters.

Previously, processed molecules were output with aromaticity specified according to the MMFF94
aromaticity model. Now, output molecule are converted to the OE aromaticity model.

Entropy calculations using the quasi-Newton method now give significantly more accurate answers in
the two extreme cases where the input ligand structure is a) already optimized, or b) has a very
high-energy (i.e. poor) structure.