1.5.9 Release Notes

johnmay edited this page Dec 24, 2014 · 8 revisions



  • The toolkit is now built with Java 7 and requires a Java SE Runtime Environment 7 to execute. If you require a Java 6 version please use the previous release 1.5.8.
  • Source code formatting entire codebase, the formatting can be executed from Maven with mvn java-formatter:format
  • Significant reduction in PMD warnings thanks to Mark and Egon.
  • Extended 2D depiction atom colours used in depictions.
  • Various bug fixes including: molfile reading, atom typing, Kekulisation, SMARTS matching, and null checks.
  • Canonical SMILES fragments. Ring numbering now restarts for each connected component such that a compound consisting of two benzenes is output as c1ccccc1.c1ccccc1 instead of c1ccccc1.c2ccccc2. Thanks to Roger Sayle for pointing out the usefulness of this.
  • Tidy up of fingerprint implementations, adding count based wrapping (ICountFingerprint) to LINGOs and allow folding to different sizes for ECFP binary fingerprints.
  • Interpretation of perspective projection stereochemistry common in carbohydrate depiction. The interpretation of specific projections must turned on in the stereofactory. The recognition is less robust than from wedges and may contain false positives particularly for Fischer projections. The recognition code is based work by Colin Bachelor – Hexagons in the plane.
// compound with 2D coordinates
IAtomContainer container = ...;

// convert wedges and perspective projection stereochemistry from 2D coordinates
StereoElementFactory stereofactory = StereoElementFactory.using2DCoordinates()

// set the elements replacing any existing elements (recommended)

Once recognised, SMILES, InChI, Cahn-Ingold-Prelog labels, and depictions can be generated. Below we see an example of using the standard generator to depict a molfile and annotate it with Cahn-Ingold-Prelog descriptors.

Test status

21,522 (+69) tests
27     (+0) failures
0      (+0) errors


    55  John May
    19  Mark B Vine
    17  Egon Willighagen
     1  John K. Sterling


  39  Egon Willighagen 
  36  John May 

Change log

  • Release 1.5.9 3f41d3b
  • Recognition of projection based stereochemistry. 3c34040
  • Improved warning message when a compound without a 3D structure is provided. 0d166ea
  • Updated JavaDocs for the IMolecule removal 772d55a
  • Updated JavaDocs for the IMolecule removal 4460b51
  • Rectify LINGOs regressions. b03297f
  • Adhere to variable name conventions 52330f4
  • Fixed a PMD warning: fixed variable names (start with lower case char; length) 121435f
  • Fixed a PMD warning: removed an underscore from a non-final var 59460f0
  • Fixed a PMD warning: removed an underscore from a non-final var 5282618
  • Fixed a PMD warning: final static vars should have fully capatalized names ceef23c
  • Removed dead code feab2b2
  • Fixed a PMD warning: removed an underscore from a non-final var cc1609e
  • Removed a private, unused variable e375961
  • Fixed a PMD warning: final static vars should have fully capatalized names df75599
  • Updated the default value in the unit test d12166a
  • Terminate SMARTS parsing on whitespace or EOF. 84c89ca
  • Check the classType is valid. d595bea
  • Delegate to the constructor of IntArrayCountFingerprint. c31bf57
  • Ensure first bit is never negative and use a count list for the hash counts. 5efab8e
  • Allow CFP of varied length. 7e3d267
  • Produce bit and count fingerprints in Lingos. 7ce4e06
  • Utils for creating bit and count fingerprints from feature maps. c160452
  • Ideally aromaticity would be done outside of the fingerprint. Since it is already there we don't want to take it out but we can avoid the need to do atom typing by using a different aromaticity model. d9bfba5
  • Tidy up Lingos similarity implementation and ensure aromatic SMILES are generated. c7896a8
  • Make method2 of the continuous tanimoto the default. It provides better discrimination. 96d70bf
  • Flip around the implementation and the default (we're going to switch them and use method2). 3739558
  • CFP does not correctly implement count fingerprints. The similarity measures (see Tanimoto class) expect the bits in sorted order. Without this invariant the CFP similarity is way off par. (Spotted by Roger) e6f9ba7
  • Avoid NPE due to implicit bond. 5a8905e
  • Update beam to 0.7. Minor fixes to Kekulisation, reset Ring Numbering between components (fragments are now canonical C1CC1.C1CC1 instead of C1CC1.C2CC2). adaed1c
  • Already okay in the CDK but needed fixing in BEAM. d058440
  • Unit tests for bug reports by Yannick on the cdk-user@ mailing list 99e38b5
  • Merge branch 'master' of github.com:cdk/cdk 5790920
  • Tell eclipse to run JavaCC on import (i.e. before the module is built). 04b1062
  • Add info on creating a Jar of sources. 1161464
  • Make sure array index is now called out of range. We only sort by low atomic number elements to minimise ring double bonds flipping between. bf4c200
  • Make it possible to obtain an atom-atom and bond-bond map all in one. This is more useful then either the atom-atom or bond-bond maps alone. 940c8a3
  • Allow SMARTS expressions of the form [h0] and [!h0] analogous to [H0] and [!H0]. Previously this was not possible to null handling semantics. 4949cd9
  • Correct handling of empty reactions. 464eeda
  • Extend CDK 2D atom coloring. 9d14dd0
  • Make the CDK 2D atom colors modifiable and simplar with a map instance. 468ff3b
  • Allow SMARTS expressions of the form [h0] and [!h0] analogous to [H0] and [!H0]. Previously this was not possible to null handling semantics. 1763da1
  • Resolve PMD variable naming violations in other qsar modules. debd6df
  • Resolve variable naming violations in qsaratomic. 5f2b4bf
  • Revert captialisation of non-constant field. 2822fc8
  • Capitalize other constants in qsarmolecular. 401f1b3
  • Capitalize variable naming violation in constant resulting from copy paste between qsarmolecular classes. 658a475
  • Resolve variable naming violations due to sentence case or underscores in qsarmolecular. 31b4b4f
  • Test that RGroups don't cause a NPE in exact/major mass of molecular formula. 2f1df2f
  • Resolve formula regressions in cdk-data. A new test was added to check for NPEs when adding formula, only cdk-silent updated. 55c8bbe
  • Null safe check for setting "am" bond order. 37bb41c
  • Map the CDK atom type 'C.allene' to SYBYL 'C.1'. d1adc99
  • Resolve PMD variable naming violations in SMSD mcgregor classed 836273c
  • Resolve PMD variable naming violations in various SMSD classes. 79fb916
  • Resolve PMD variable naming violations in SMSD mcplus classes. e787d4a
  • Resolve remaining PMD naming violations in SMSD classes. 4cc9c84
  • Define MACCS 166 Bit 44 definition - see http://www.dalkescientific.com/writings/diary/archive/2014/10/17/maccs_key_44.html c564128
  • Correctly replace atom in MDLV3000Reader. Setting just the atom does not update the bonds that reference that atom. b96674b
  • Remove unused imports (PMD report). ce5ae5d
  • Minor cleanup of test output to improve formatting of test results. 8d0132f
  • Remove printing of test method name to simplify test output log. 6eb53e4
  • Catch specific exceptions, not Exception, and use multicatch where appropriate. 1eea9dd
  • Formatting the formula module (mvn java-formatter:format). 0eebc00
  • Resolve 2 NullPointerExceptions that happen when attempting to get the mass of a molecule with a pseudo atom. 6f1767b
  • Expand star imports to minimize namespace conflicts. a32ada7
  • Add missing name to copyright header. 348884e
  • Add all missing @Override annotations. e16d319
  • Add all missing @Override annotations. 1f1b8c1
  • Add all missing @Override annotations. ba1bcde
  • Add all missing @Override annotations. b9bc2f2
  • Add all missing @Override annotations. 20704ad
  • Add all missing @Override annotations. 16dfb29
  • Add all missing @Override annotations. e5d0473
  • Duplicate PMD configuration in reporting section. 32a0a0d
  • Correct PMD exclude for javacc source. 4e74877
  • Exclude generated sources from PMD reports. b885009
  • Fixed up a bunch of typos/misspellings in javadoc. 52baf0c
  • Relocate resource files to the cdk-io module. 7bf4362
  • Add reading of ACDLabs ChemSketch atom label property from V2000 molfiles. b14f430
  • Add recognition of ACDLabs ChemSketch atom label property. c34f262
  • Fix incorrect spelling of 'pseudo' in comments and variable name. Original variable deprecated and left in place. e2388c2
  • Replace occurrences of String.indexOf(String) by String.indexOf(Char) for single-char strings (PMD report). eadef42
  • Reverse order of test to avoid having a potentially unreachable null check. c3ce376
  • Deal with null charges on 'this' too b8abf4e
  • Expose another NPE source 223b1c1
  • Fix the NPE: 0 formal charges is the common CDK default if unset d0d6d96
  • Unit test to expose a NPE happening when IAtoms do not have formal charges set 3b60711
  • Build with Java 7 SE. 5128600
  • Formatting all source files - 'mvn java-formatter:format'. dc6e3a5
  • Strip trailing whitespace from source files. 594e028
  • Normalizing line endings in source files. d2ca6e8
  • Bumping version 1.5.9-SNAPHOT. c176bd7
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.