Pages

Sunday, May 22, 2011

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

Hot on the heels of the stable update 1.2.9, here is a new developers release. The 1.4.0 is still waiting for the basic (molecule) rendering of the CDK-JChemPaint patch to be submitted, but I think I will just submit it and see what happens. If rejected, I will release 1.4.0 without it. Mind you, I rather get that renderbasic patch up to shape (fix some regressions, add missing docs, and unit tests where possible, etc), but there is too little movement in this area.

Summary
Like many, this release too extends atom type perception to new atom types, making CDK algorithms applicable to more types of chemistry, but also includes fixes for perception when certain bits of information is missing from the input. Otherwise, it includes an improvement for the SMARTS query tool, a new AtomContainerManipulator extractSubstructure( IAtomContainer atomContainer, int... atomIndices) helper method, aromatic bond support for the HINReader, fixes in the PDB atom type table and improved PDB file IO, a faster, aromaticity-independent fingerprinter, and a set of general bug fixes and performance improvements.

The Authors
  34  Egon Willighagen
   8  Rajarshi Guha
   4  Gilleain Torrance
   3  Jules Kerssemakers
   2  Dmitry Katsubo
   2  Jonathan Alvarsson
   1  Julio Peironcely
   1  Onkar Shinde
   1  Stephan Beisken
   1  Mark Rijnbeek
This reflects contributions from Sweden, USA, UK, The Netherlands, and, I think, Pakistan. In terms of institutes, this includes patches working at (not implying the work was done as part of the day job): Karolinska Institutet, NIH, EBI (more than one group), Radboud University Nijmegen, EPO, Uppsala University, and the Debian project. That's pretty impressive for one release :)

The Reviewers
 20  Rajarshi Guha 
 13  Egon Willighagen 
  4  Gilleain Torrance
  1  Jonathan Alvarsson
  1  Jules Kerssemakers 

And of course kudos to all who reviewed patches!

The Changes
  • Fixed detection of PH3 with implicit hydrogens 82197ac
  • Added a unit test for a failing sulphur AT detection + fix: 3 coordinate sulphur without double bonds has one implicit hydrogen and is S.anyl 14d41c8
  • Fixed detection of P.ate atom types with one implicit hydrogen 4ded3e4
  • Added unit tests for bug #3141611 359b0b0
  • Added author tags 7158552
  • Make CONNECT records work with non-protein PDB files Rewrote CONNECT parsing Do not write CONECT records for atoms that have no bonds 50f79bf
  • Use wildcards (*) in jar file references. This fixes the problem while packaging the library for Debian as jar versions in Debian may not match with upstream. c79bcdc
  • Fixed JavaDoc in accordance to current API 03cfd36
  • Added a fingerprinter which does not take into account aromaticity, but looks at SP2 hybridization as replacement. 87d562c
  • Clarified what is read from what file type b9a3cd6
  • Fixed propagating of the error handler and reading mode. 997908d
  • catch right exception and use the logger eed4717
  • Use IAtomContainer instead of AtomContainer in AtomContainerSet 74112c4
  • Escape /'s too 6941321
  • fixed pdb_atomtypes.xml errors mentioned in https://sourceforge.net/mailarchive/message.php?msg_id=27206678, including the nigly vdwRadius for GLN.CD 9a07280
  • whitespace-only: alignment of TYR-section 81ba913
  • Typo fix -> Constructs 2a334d6
  • Fixed classpath to solve those annoying error messages about unknown packages 263c7e2
  • Added missing @Test annotation (idiot) df302b3
  • Fixed typo in PDBReader constructor 92609d2
  • Added a few missing tests c143185
  • Added a missing reference for Floyd's algorithm 49eb772
  • Fixed second half of patch a3e25e69419e53291e093d9365b4187843f03736 :( 74bfbc9
  • Added missing dependencies a3e25e6
  • Updated the author list 595cc9f
  • Fixed a concurrency error, caused by the use of a static field which was not supposed to be static, as the classes are instantiated just to allow customization c0ede3f
  • Added two new authors 833a9ac
  • Updated to the 1.4.x API c5443a7
  • Fixed the use of the proper Convertor 2f19e98
  • Added the Co(3+) atom type (fixes #3093644) 67d5625
  • Added the unit test phosphine for bug #3190151 740e4a5
  • Added a unit test for a phosphor without explicit or implicit hydrogens 5e980dd
  • Fixed proper syntax for ignored tests 95a59f7
  • Added unit test to see if descriptor specifications refer to existing BODO entries 7c33f88
  • Fixed descriptor identifier 0ffd85b
  • Added unit testing of the dict module 4e47a4e
  • Added code testing for the dict module b2d4f85
  • fixed spelling error in JavaDoc 3dcf2fe
  • Enabled PMD and OJDC for the tautomer module b73a662
  • Create tautomers based on InChI 68d21b7
  • Updated OrderQueryBond in SMARTS & isomorphism matching so that we correctly match when faced with aromatic bonds (rather than just looking at the bond order) cb4335e
  • Updated HIN reader to parse aromaticring keywords and appropriately mark atoms as aromatic. Updated test and added test case 265dbba
  • Added test HIN file for aromaticrings keyword 8a565e9
  • Patch fixing isTheSame method in MolecularFormulaRange c86b52e
  • Converted the use of HashMap to store SD (and other) properties to LinkedHashMap so that the order of properties read in from a SD file is maintained. Performance hit appears to be minimal b36a3e0
  • Removed nonexisting dependency 2b3f842
  • Removed nonexisting dependency dfe8cd9
  • Added some more elements to the valence table 0629d8e
  • Fixed NPE in AtomContainerComparator when container has pseudo atoms. fe8538f
  • Implemented simple LRU caching mechanism to avoid reparsing previously used SMARTS queries. The cache size is set to 20 by default but can be set by the user c3a768d
  • Implemented simple LRU caching mechanism to avoid reparsing previously used SMARTS queries b90c252
  • Added a not-so-unit test for reading elemental data from XML using the reader and the underlying SAX handler 0c565e4
  • Method to extract substructures cfa5c93
  • StructureDiagramGenerator methods now throw CDKException instead of catch-all java.lang.Exception. 7c6a0c5