Sunday, October 07, 2012

CDK 1.4.14: the changes, the authors, and the reviewers

And here are the changes in CDK 1.4.14. Compared to 1.4.12/1.4.13 I think this release is much more interesting. For example, as of this release, we report details on the IO options for readers and writers automatically in the JavaDoc (see this post), it has improvements to the CML stack, and tetrahedral stereochemistry encoded with the ITetrahedralChirality interface is now reflected in generated InChIs.

Again, the number of changes is not that large, reflecting that we are really moving towards development in the master branch for the 1.5.x releases. The first alpha version was already released a while ago, and I will try to make a 1.5.1 release soon.

The changes
  • Added unit tests for two CML bugs - both use the same molecule to test - 3553328: Atoms missing explicit atomic number default to 1. - 3557907: Only support for bond stereo with attribute dictRef d953285
  • Implementing fix for bugs 3557907 and 3553328 3557907: Previously only the dictRef attribute of bondStereo was supported. This patch adds support for the 'content/text' of the bondStereo element to be set. This patch allows the bondStereo to be added from the charContent when the end of the element is detected. 3553328: Added support for CML files missing atomic number information. As the starting atom is a Hydrogen in the passer if no atomic number is provided the atomic number will default to '1'. This fix checks if the atom 'hasAtomicNumber' before the atom data is stored - if there is no atomic number specified but the symbol has been the atomic number is looked up in the periodic table (as per Atom constructor). 89ce74a
  • Added null check before input close. If the reader was created with a URL the input is never created and invoking '.close()' will throw a null pointer exception 345c0be
  • Implemented test for conversion of SMILES with a topological chiral centre. bd922f6
  • Added output of ITetrahedralChirality to InChI 3c0d36b
  • - Added properties for JVM arguments this allows us to switch on/off debugging and stdout via ant. This is useful as it can be seen from the run target debug had been commented out. The properties allow us to explicitly turn off debugging (on by default) - Used properties for junit-test, run-test and run targets - Added jarTestData as a required target before junit-test can be run 913c796
  • - StringBuilder instead of buffer - Separated the determination of the class name to a method - Separated the processing of the IOSetting to a method - Added default value as an extra column in the output - Added table headers for the output - Added closing - Replaced "/" with "File.Separator" - Added logging statements for null settings/no default constructors - Made toString(Tag[]) return empty string - Added @override/@inheritDoc (not really need) aed8a5d
  • Added @cdk.iooptions to all IO classes 086b8c8
  • Merged the toString(Tag) and expand(Tag) methods, and complete all output 1dc58bf
  • Added the dependencies to the taglet so that it can use reflection to extract the IO settings synamically; thanx to Stefan Ferstl, see 2f3b542
  • A go at @cdk.ioopionts d8a5504
  • Make sure we continue with an IMolecule, fixing ClassCastException's later on 0015e6f
The authors
8  Egon Willighagen
6  John May

The reviewers
3  Egon Willighagen 
2  John May 
2  Ralf Stephan