Change log
Version 1.8.2 (13 March 2022)
- Fix bug in assignment of MMFF empirical bond stretch parameter for perboric acid, a boron compound that MMFF was not originally parameterized for.
Version 1.8.1 (2 Oct 2021)
- Sort output conformer according to ascending energy.
- Make the ordering of atoms in VBF writing deterministic.
Version 1.8.0 (1 March 2021)(rebuild for Linux on 10 April 2021)
- Introduced parallel conformer generation jobs. Option '--njobs' ('-j' for short) sets the number of jobs. Default is to use all available CPU cores.
- Pseudo-random number generator is now reinitialized with the random seed before each input structure. This makes the resulting conformer ensemble invariant of the order of processing input.
Version 1.7.0 (11 Oct 2020)
- Introduced elitism in the genetic algorithm: minimum energy conformer always survives to next generation. Using elitism tends to produce less conformers but with lower-energy than without elitism. The previous behavior can be restored by using option '--noElitism'.
- Fix cache invalidation bug in aromaticity perception when adding hydrogens.
- Fix missing verbose output header line.
Version 1.6.9 (20 Aug 2019)
- Fixed a bug that caused conformer number to be always added to conformer's title when option '--noGA' (distance geometry only) was used. The number should only be added when option '--addConformerNumberToName' is used.
Version 1.6.8 (16 March 2019)(rebuild for Linux on March 26 2019)
- Fixed a bug in parsing chiral sulfoxides in SMILES format.
Version 1.6.7 (Jun 27 2018)(rebuild for Mac OS X on Aug 24 2018)
- Fixed corner case bugs in Cahn-Ingold-Prelog (CIP) stereochemistry perception and add proposed CIP Sequence Rule 6 according to Hanson R et al. Algorithmic Analysis of Cahn-Ingold-Prelog Rules of Stereochemistry: Proposals for Revised Rules and a Guide for Machine Implementation (preprint) and tested against CIP ValidationSuite. All test cases in ValidationSuite are now correctly perceived, excluding helicene and atropisomeric centers that are not supported.
- Revised aromaticity perception, detect larger rings (up to n=5 in Hueckel's formula).
- Adhere to Daylight SMILES valence model for nitrogen (added normal valence of 5 in addition to 3).
- Fixed parsing SMILES directional bonds on double bonded nitrogen atoms.
Version 1.6.6 (7 Jan 2018)
- Fixed bug in parsing wedge bonds for cumulenes in SDF format.
Version 1.6.5 (25 Dec 2017)
- Revised Cahn-Ingold-Prelog (CIP) stereochemistry perception to better match Nomenclature of Organic Chemistry: IUPAC Recommendations and Preferred Names 2013, Chapter P-9 Specification of Configuration and Conformation, p 1156-1292.
- Detect chirality of bridgehead nitrogens.
- Added handling of spiro atom chirality.
- Output stereocenter information in very verbose mode.
- Update element symbols to include the new IUPAC approved names for elements 113, 115, 117, and 118.
- Fixed bug in applying mass difference flag in SDF file CTAB block, i.e., parsing isotope.
- Added parser support for square planar "SP" and trigonal bipyramidal "TB" stereo flags in SMILES. Note that this is just parsing support, stereochemistry for these geometries is not supported in conformer generation.
Version 1.6.4.1258 (Wed 1 June 2016)
- Made the close contact check for initial geometry less stringent. In some rare cases, it discarded geometries that MMFF94 geometry optimization could fix.
- Optimizations to memory usage of stereochemistry perception.
Version 1.6.3.1249 (Mon 2 Nov 2015)
- Fixed a bug in MMFF94 analytic gradients (introduced in version 1.6.2).
- Changed the RMSD calculation method to QCP as described in Liu et al (2010) Fast determination of the optimal rotational matrix for macromolecular superpositions. J. Comput. Chem. 31 p. 1561-1563.
Version 1.6.2.1236 (Mon 13 July 2015)
- Fixed a bug in 'stripSalts' option that caused a crash if the component to be removed contained a stereocenter.
- Fixed a bug in 'singleconf' option that generated many conformations when switching to distance geometry due to missing force field parameters file.
- Fixed a bug where addition of hydrogen atoms to 2D structure may have caused the resulting geometry to be perceived as 3D.
- Fixed a bug in distance geometry algorithm where the interatomic distance in 2D input structure was used as the minimum allowed distance between those atoms in the generated conformation.
- Parse SDF files with truncated bond line (missing bond stereo flag and all the remaining flags that should be on the line).
Version 1.6.1.1220 (Sun 31 May 2015)
- Fixed a bug in perception of stereochemistry that caused a crash in rare cases.
- Extended the list of aromatic elements in SMILES to include boron, arsenic, selenium, and tellurium ([b], [as], [se], [te]).
Version 1.6.0.1215 (Mon 18 May 2015)
- Improved internal representation of stereochemistry. Pseudo-asymmetric centers are now detected and handled, too. Balloon handles tetrahedral and trigonal pyramidal (R/S/r/s), double bond, and allene-like (E/Z and axial Ra/ra/Sa/sa) stereocenters. The ligands of a stereocenter are ranked according to the sequence rules described in Nomenclature of Organic Chemistry: IUPAC Recommendations and Preferred Names 2013, Chapter P-9 Specification of Configuration and Conformation, p 1156-1292.. Using extra verbose mode (option '-v4') lists the detected centers in the console output.
- Changed counting of implicit hydrogens and inferring formal charge for boron in order to correctly handle borohydride [BH4-] and alike compounds.
- Dropped support for old Linux (kernel 2.2.5) and FreeBSD. (Please let me know if you absolutely need a binary for those platforms.)
Version 1.5.0.1143 (Mon 24 February 2014)
- Added parser for XYZ file format.
- Made the bad initial geometry check less stringent on three and four membered rings.
- SMILES parser now assigns at most 127 implicit hydrogens instead of 232 ([CH128] equals [CH0] equals [C]).
- Made the maximum number of automorphisms considered in RMSD calculation to depend inversely on the number of conformers in the ensemble. This was necessary in order to cap the runtime for highly flexible and symmetric molecules.
- Fixed parsing of formal atomic charges from PDB files.
Version 1.4.1.1068 (Sun 14 July 2013)
- Made the bad initial geometry check introduced in 1.4.0 a little less stringent.
- Added option 'useRingAtomsForRMSD' that ignores acyclic atoms in RMSD check, which should enhance the sampling of macrocycle conformations.
- Fixed a bug in SMILES creation that caused an extraneous ring closure number on a molybdenocene containing structure.
- Minor clean-up of MMFF94 code.
Version 1.4.0.1036 (Sun Dec 2 2012)
- Dropped support for Mac OS X running on PowerPC architecture.
- Added support for Mac OS X running on 64-bit Intel architecture.
- Added MMFF94 specific aromaticity perception algorithm. The MMFF94 -like force field is now much closer to the original MMFF94.
- Always add explicit hydrogen atoms when MMFF94 force field is used.
- Added check for bad initial geometry (intercepting rings, very close contacts), which re-starts the initial geometry creation if needed.
- Fixed a bug in setting double bond stereoconfiguration from SMILES. The fix introduced in version 1.3.0 was inadequate.
- Added a limit of 1024 automorphisms to be checked in RMSD calculation in order to prevent large symmetric structures from consuming all memory.
- Added support for atomic symbols 'D' and 'T' (deuterium and tritium) in SDF parser.
- Improved detection of formal charges from MOL2, PDB and Gaussian log files.
- Improved handling of up/down wedge bonds in SDF file format.
- Added option 'listSymmetryClasses'.
Version 1.3.1.983 (Thu Jul 12 2012)
- Fixed a bug, introduced in version 1.3.0.950, in interpreting wedge/hash bond stereo flags in SDF files that caused an inversion of chirality if 3D coordinates were not present in the file.
- Fixed a bug in SMILES parser that erroneously expected an allenylic double bond to be always stereogenic.
- Fixed a bug in SMILES parser that failed to recognize aromatic sulphur as sp2-hybridized in some cases.
- SDF parser is now a little less stringent on the atom block format in order to parse some non-conforming legacy files.
- Revised ring perception algorithm for a minor performance gain.
- More informative command line option error messages.
Version 1.3.0.950 (Mon Apr 23 2012)
- Fixed a bug in detecting chirality from SMILES strings where a branch separates a chiral atom and its preceding neighbour atom.
- Changed the assignment of implicit hydrogens attached to heavy atoms in SMILES parser - now the SMILES normal valence definitions are honored for hypervalent sulfur.
- Changed parsing of bond stereo flags from SDF files to have effect only on the pointed atom of the wedge/hash bond. Previously a wedge/hash bond was considered to affect both atoms of the bond, but that was against the common "tip only" practise of parsing SDF.
- Added output of hash/wedge bond flags for tetrahedral chiral atoms in SDF format.
Version 1.2.2.927 (Sat Feb 25 2012)
- Fixed a bug in distance geometry, where a singularity condition in stereochemistry constraint term was not correctly detected.
Version 1.2.1.918 (Fre Dec 23 2011)
- Fixed a bug in 'stripSalts' functionality which caused crashes with certain structures.
- Fixed a bug in SMILES generation process which could not write out hydrogen atoms within rings, such as in diborane.
Version 1.2.0.915 (Mon Dec 5 2011)
- Fixed a bug in caching the neighbourhood information of atoms when using the '--stripSalts' option, which caused crashes on some structures.
- Fixed a shortcoming in SMILES writer, which did not consider implicit hydrogens when determining if an atom should be written inside brackets or not.
- Fixed a bug in SMILES parser where a ring closure digit was not allowed after a branch, e.g., 'C(=O)1.C1' is a valid SMILES.
- Fixed a bug in SMARTS matching of implict hydrogens atomic primitive 'h', which defaults to 'at least one', not to one as before.
- Changed implict hydrogen atoms to be written out in MOL2 format - the MOL2 chemistry model expects explicit hydrogens.
- Added support for radicals.
- Added support for dummy '*' atoms in SMILES.
- Removed 'validity' check in setting isotope value for an atom - isotope values are routinely used to flag atoms in SMILES, and the values have no chemical meaning in such applications.
Version 1.1.1.904 (Sun Oct 16 2011)
- Fixed a bug in parsing continued lines in V3000 molfiles (SDF)
- Fixed a bug in SMILES file format parser where a molecule name with a space in it was truncated at the space.
- Fixed a bug in writing MOL2 file format, where the root atom id in the substructure record was not written out.
- Minor improvements in parsing and writing MOL2 file format - now isotope information is written to and parsed from UNITY atom attribute record.
- Added file extension 'sdf:v3' for writing V3000 connection tables in SDF.
- Added atom index to the output produced by using option 'listAtomTypes'.
Version 1.1.0.866 (Tue May 17 2011)
- Added option 'neutralize' that adds or removes hydrogen atoms to/from formally charged heavy atoms in order to make them neutral.
- Fixed a bug in setting the target angle value for valence angle constraits in distance geometry.
- Revised the graph matching algorithm used in atom typing.
- Rewrote parts where the order of computations depended on the order data structures were allocated in memory. This caused different conformers in output between runs that used equal random seed.
- Fixed a bug in parsing atom class indicator in SMILES.
Version 1.0.3.772 (Mac only) (Fri Sep 3 2010)
- Recompiled targeting Mac OS X 10.5. The previous version did not run on OS X 10.5 as intended.
Version 1.0.3.734 (Thu Jun 17 2010)
- Fixed bugs in parsing SMILES related to the order of atom modifiers (hydrogen count, charge, and chirality) and the special case of explicit hydrogen atom [H].
- Fixed the addition of hydrogen atoms on aromatic nitrogens in structures parsed from SMILES.
- Fixed bugs in writing ligand-sized molecules in PDB format. Writes only HETATM atoms and CONECTs them. Writing proteins is not implemented.
- As a result of code refactorization, removed "substructure" handling from MOL2 file format.
- Fixed a bug in distance geometry that forced the configuration of stereogenic double bonds with undefined stereochemistry (as from SMILES) always to E.
- Fixed a bug in the computation of the analytic gradient for double bond constraints in distance geometry.
Version 1.0.2.618 (Fri Feb 19 2010)
- Fixed a bug in the evaluation of the analytical gradient of the stretch-bend terms of the MMFF94-like force field. The bug was introduced in 1.0.0 and may have caused convergence problems in geometry optimization.
- Fixed a bug in parsing double-digit ('%xx') ring closure numbers in SMILES strings. The parser accepted more than two digits, which consumed any following one-digit ring closure numbers.
- Fixed a bug in the Nelder-Mead Simplex geometry optimization routine.
- Changed default behavior: No conformer numbering suffix in output molecule names.
- Related to the above change; Added option 'addConformerNumberToName', which adds the conformer numbering suffix to output molecule names.
- Improved error reporting for SMILES parser.
Version 1.0.1.484 (Sun Nov 29 2009)
- Refactored and cleaned up ring detection related algorithms, which resulted in a minor speed-up.
- Refactored and cleaned up symmetry perception, which resulted in a major speed-up for large structures (oligopeptides and up) - still scales poorly to protein-size systems.
- Fixed a bug in parsing option 'rebuildGeometry' - the option had no effect. The bug was introduced in 1.0.0.
Version 1.0.0.389 (Sun Oct 4 2009)
- Breaking change: Option '-o' changed its syntax and extended its semantics; the option is now used to explicitly set the file format for output structure files and requires a file extension as an argument. If '-o' is omitted, the output file format is now recognized from the output filename.
- Added EEM charge-model parameters to the MMFF94-like force field. The derivation of these parameters is described in a manuscript by Puranen et al. (submitted).
- Added option 'listAtomTypes', which outputs a list of atoms and the force field atom types assigned to them for each processed structure.
- Added an experimental binary molecular structure file format VBF (Visipoint binary format) that takes a less disk-space than the text formats. Additionally, VBF can store metadata associated with molecular structures. An informal specification of the format is in preparation, please ask us if you are interested in the details.
- The location of the force field parameters file (MMFF94.mff) can now be set in an environment variable named BALLOON_FORCEFIELD. That saves typing on the command line.
- Speed improvements in parsing textual input file formats.
- Fixed a bug in distance geometry that may have caused a non-planar geometry around some amide nitrogens.
- Minor fault-tolerance improvements in the parsing of mol2 files.
Version 0.6.15.4943 (Sat Jan 17 2009)
- Added option 'dielectric' that controls the relative static permittivity of the medium used in the evaluation of electrostatic energy according to Coulumb's equation. The default value is one for vacuum. The value was fixed to one in the previous versions.
- Minor speed improvements in the evaluation of nonbonded energy terms in the MMFF94-like force field.
Version 0.6.14.4917 (Sun Dec 14 2008)
- Fixed a bug in the detection of dimensionality (1/2/3D) in a set of atomic coordinates. This mainly affected the parsing of Gaussian log and PDB files.
Version 0.6.13.4864 (Wed Oct 8 2008)
- Fixed a bug in writing stereo parity flags to V3000 SD files. This only affected molecules with more than 999 atoms and/or bonds.
- Enhanced checking of missing parameter values for the partial charge models when using the 'strict' option.
Version 0.6.12.4799 (Wed Aug 20 2008)
- Fixed a bug in reading stereo configuration flags from SD files: bond stereo flags now have higher precedence than atom stereo parity flags. Balloon still writes out only atom stereo parity flags to SD files.
Version 0.6.11.4784 (Tue Jul 15 2008)
- Fixed a minor bug in the computation of SFKEEM partial atomic charges.
Version 0.6.10.4772 build Jul 14
- New build for Windows and Mac OS X. The compiler optimizations used in the previous build caused corrupted SFKEEM partial atomic charges. The code itself did not change, thus no increase in the version number.
Version 0.6.10.4772 (Fri Jul 11 2008)
- Fixed warnings while reading the MMFF94 parameter file.
Version 0.6.9.4762 (Mon Jul 7 2008)
- Added option 'stripSalts', which removes all but the largest (number of atoms) connected component from each input structure.
- Added option 'evolveOverlap', which causes the shape-density overlap to be an objective for the genetic algorithm.
- The available 'chargemodel' alternatives were updated to reflect the current status of development.
- Included parameters for the SFKEEM polarizable partial atomic charge model. The correct use of the SFKEEM model is in conjunction with the 'onlycharge' option - it is not intended to be used with geometry optimization. This is a preliminary parameterization, but nevertheless reproduces electrostatic potential fields, obtained using quantum mechanics, around a large set of test molecules at a higher accuracy than the MMFF94 charge model. A manuscript on this work is in preparation.
Version 0.6.8.4706 (Fri May 2 2008)
- Fixed a bug in writing stereo parity flags to SD files. Previous versions did not write the flags in all cases.
- Added parsing of wedge bond information from SD files. Some chemical structure drawing programs omit atom stereo parity flags and write only wedge bond information.
- Improved volume constraints for chiral centers in distance geometry.
- Improved volume constraints for chiral centers in MMFF94.
Version 0.6.7.4687 (Sat Apr 12 2008)
Changed the compiler and build system for Windows, therefore only one generic Windows binary is provided from now on.- Fixed a bug in the Windows version reading input files when performing molecular alignment.
- Fixed a bug in the genetic algorithm setup when performing molecular alignment.
- Removed the 'pXO' parameter. It was a relict from the early development times and had no effect in the current genetic algorithm.
Version 0.6.6.4641 (Mon Mar 17 2008)
- Reworked shape-density based molecular alignment. The overlap is now optimized using a truncated Newton optimizer adapted from the TNPACK code of Schlick and co-workers (Schlick T and Fogelson A (1992) ACM Trans. Math. Softw. 18, 46-70 & 71-111, Xie D and Schlick T (1999) SIAM J. Opt. 10, 132-154; Xie D and Schlick T (1999) ACM Trans. Math. Softw. 25, 108-122.)
- Fixed parsing of Mulliken charges from Gaussian 03 log files.
- Fixed a bug in parsing Gaussian log and PDB files that caused carbons to form dative bonds.
- Fixed a bug in the assignment of triple bond types to structures parsed from Gaussian log and PDB files.
- Altered the hydrogen addition routine to make planar geometry around nitrogens bonded to a sp2 hybridized atom (e.g., amide nitrogens).
Version 0.6.5.4575 (Wed Jan 24 2008)
- Fixed a bug in MOL2 atom type assignment for carboxylate oxygens when writing MOL2.
- Fixed a bug in formal charge assignment when parsing MOL2.
- Fixed a bug in parsing structures with dative bonds (e.g., sulfone group) from PDB and Gaussian log files.
- Fixed a bug in parsing amide groups from PDB and Gaussian log files.
- Fixed a bug in parsing total molecular charge from Gaussian log files.
- Aromatic bonds are Kekulized upon parsing from MOL2.
- Changed atom typing rules for MMFF94 types NGD+ and NPYD.
- Uses now traditional distance geometry, because stochastic proximity embedding is patent pending.
- Added option 'singleconf': only the lowest-energy conformer is written out regardless of the population size.
- Added option 'onlycharge': calculate partial atomic charges on the input structure and write it out in MOL2 format.
Version 0.6.4.4527 (Wed Dec 5 2007)
- Fixed a bug in the assignment of empirical angle bending force constants in MMFF94.
- Fixed a bug in parsing Gaussian log files that caused obvious single bonds to be marked as double in some cases.
- Changed atom typing rules for several atom types due to changes in SMARTS semantics.
- Faster atom typing.
- A (conservative) change in aromaticity perception. Affects atom typing in some cases.
- For structures parsed from SMILES on command line, the SMILES string is used as the molecule name instead of an empty string.
Version 0.6.3.4508 (Tue Nov 27 2007)
- Improved Kekulization of structures parsed from SMILES.
- Fixed a bug in parsing SMILES that contain wild-card atoms '*'.
- Changed atom typing rules for MMFF94 types O=+, O+, HO+, HO=+, C%, N5OX, NM, NSO, HN2, OX, and N2OX.
- Change in MMFF94 bond context code determination.
- Experimental support for parsing structures from log files produced by the Gaussian ab initio electronic structure program (tested only with Gaussian 98) and from Protein Data Bank (PDB) entry files. Connectivity is always perceived from coordinates, even if the PDB file would contain 'CONECT' records.
Version 0.6.2.4485 (Sat Nov 10 2007)
- Fixed a bug in handling atom stereo configuration flags in SDF files.
- Improved removal of crowded conformers during evolution. This leads to slightly larger final ensembles compared with the earlier versions.
Version 0.6.1.4437 (Thu Oct 11 2007)
- General speedup in the evaluation of nonbonded interactions: the compound set used in the publication is now processed in 105 ± 140 s per compound, when the 0.6.0 version used 172 ± 225 s per compound on the same machine using the same settings.
Version 0.6.0.4395 (Sat Aug 4 2007)
- GA: Added an option to perform molecular superimposition using a Gaussian description of the molecular shape-density.
- GA: Fixed a bug in handling ring flexibility that sometimes caused some degrees of conformational freedom in rings to be overlooked.
- Fixed a bug in parsing directional bonds from SMILES.
- Fixed a bug in SMILES grammar that caused stereogenic double bond configurations to be missed in some cases.
- Fixed a bug in DistanceGeometry related to handling of molecules with less than four atoms.
- Improved the procedure for initial structure generations using distance geometry.
Version 0.5.2.4306 (Mon, Apr 16 2007)
First release for Mac OS X.- Introduced a parameter 'maxFlipDistance' that controls ring flexibility: ring flips are defined for all pairs of ring atoms that are separated at most by 'maxFlipDistance' bonds. This alleviates the poor scaling of ring flexibility with increasing ring size.
- Three levels of increasing verbosity.
- Fixed a bug in altering the geometry of pyramidal groups involving chiral atoms.
Version 0.5.1.4284 (Fri, Mar 30 2007)
- Fixed a bug leading to program crash in handling multiple SMILES input from command line.
- Fixed a bug (introduced in 0.5.0) in handling of ring flexibility.
Version 0.5.0.4276 (Tue, Mar 27 2007)
Many bugfixes and improvements including but not limited to:- GA: Population size adjusts according to the flexibility of the input structure.
- MMFF94: Introduced distance cutoff for the evaluation of van der Waals interactions.
- MMFF94: Overall faster evaluation of van der Waals interactions.
- Several bugfixes in the force field engine and atom typing.
- Improved reading of MOL2 file format.
- Improved CPU timing.
Version 0.4.0.4194 (Tue, Dec 5 2006)
Changes in distance geometry:- Updated the tabulated bond lengths.
- More stringent distance bounds for 1,3 -related atoms for better valence angles.
Changes in the inner workings of the genetic algorithm.
Many changes in the command-line options.
Downhill simplex minimization is now used only as an option.
Better error reporting for failed structures.
Version 0.3.0.4153 (Fri, Oct 19 2006)
Changes in the handling of stereochemical centers; Incorrect chiralities are now very seldom reported. Structures for which the GA fails to produce a valid stereoconfiguration will be output to the 'bad' structures file.Initial geometry optimization now utilizes downhill simplex minimization prior to conjugate gradient in order to "shake" the structure away from unrealistic minima.
Changes in printout in verbose mode.
Version 0.2.1.4147 (Fri, Oct 13 2006)
Changes in the handling of input geometry when using '--keepInitial' switch and the genetic algorithm: The input geometry will be used as basis for the evolved conformers, without generation of an initial geometry via distance geometry.Fixed a bug in the gradient calculation of the distance geometry penalty function. The initial geometry generation is now much more stabile.
Fixed a bug in hydrogen adjustment.
Fixed a bug in SD file parser that caused program to crash when parsing a SD file that contains no 'M END' after the CTAB.
Statistics are now output on-the-fly to a file. Also the name of each molecule is written out.
Version 0.2.0.4124 (Fri, Sep 29 2006)
Changes in the geometry optimization in the post-processing phase of the genetic algorithm. The output energies are now comparable to that reported for the input geometry (if included in the output).Added output of bad geometries (failures to generate initial geometry) to a separate file
Improved calculation of statistics on the geometries of conformer ensembles.
Changes in program output when verbose.
Fixed program crash due to structures with elements unknown to the force field. As a consequence, lone pairs and dummy atoms will be removed from output structures.