Skip to content

1.5.11 Release Notes

John May edited this page Sep 4, 2015 · 12 revisions

DOI

Summary

It's been a while since 1.5.10 (Dec '14) and although the bulk of this release consists of bug fixes, PMD coverage improvements, and clean up there are several notable additions.

Mmff mmff = new Mmff();
mmff.assignAtomTypes(mol); // check return
mmff.assignPartialCharges(mol);
  • Data representation of pentuple and sextuple order bonds - note no format IO ATM.
  • Faster pharmacophore though using modern search APIs.
  • Extended canonical labelling to handle large (bio)molecules. Unique SMILES (all-atom) can now be generated for ~98% of SwissProt. The largest protein handled was CO1A1_BOVIN (1463 AAs) in 28.5 ms (see Blog Post).
  • Faster InChI generation through disabling AuxInfo generation. This InChI part is normally discarded but can account for a moderate (>10%) portion of runtime.

Legacy/Deprecation

  • The ionisation potential tool has been deprecated. It is based on a machine learning method that used a bugged version of some descriptors. Now the descriptors are fixed the results are not correct.
  • DeAromatizationTool and DeduceBondSystemTool use Kekulization instead.
  • MMFF94AtomTypeMatcher use Mmff

API/Functional changes

  • AuxInfo is not longer generated for InChI unless no options are explicitly passed.
// wrong (okay under 1.5.10)
String auxinfo = InChIGeneratorFactory.getInChIGenerator(ac).getAuxInfo();
// right
String auxinfo = InChIGeneratorFactory.getInChIGenerator(ac, "").getAuxInfo();
  • Several low-level methods have been upgraded from raw type lists, a cast may now be needed when invoking them.
    • ChiIndexUtils.evalValenceIndex
    • ChiIndexUtils.getUniqueBondSubgraphs
    • WeightedPathDescriptor. getPathWeights
    • MDMolecule.setResidues
    • MDMolecule.setChargeGroups

Test Status

21,292 (+/-?) tests - not including slow tests
7      (-21) failures
0      (+0) errors

Authors

    74  John May
    68  Egon Willighagen
     4  Tomas Pluskal
     4  Krishna Dole
     2  Zach Charlop-Powers
     3  Yap Chun Wei
     2  Alex Clark
     1  Gilleain Torrance
     1  Miguel Correa     

Reviewers

  39  Egon Willighagen 
  42  John May 

Full Change Log

  • Bump version for release 8e11eb3
  • Merge pull request #147 from cdk/java3d-dep e2a307c
  • Merge pull request #146 from egonw/fix/pmdWarnings 2b89dbd
  • Creates fewer String objects: only concatenate when debugging is turned on 4bd50de
  • Fixed a PMD warning: Variables that are final and static should be all capitals 1e6e999
  • Close readers when we're done with them 220a863
  • Removed some unused code 8f54e78
  • Fixed the unit tests: fail() causes the method to exit, so that not all tests were run cec4cb4
  • Fixed a few 'unused variable' warnings 857b0c0
  • Removed some dead code c53eac9
  • Cooked some lists (no longer 'raw type') 3398981
  • Upgrade java3d dependency - we previously used 1.5.2 then switch to 1.3.1 but this had an API difference that users depended on. 40c1007
  • Disable AuxInfo generation in InChIFactory by default. This can be as much as 20% of the compute time and is largely ignored. If the AuxInfo is wanted it can be generated by explicitly passing in an empty set of options. dfd18ef
  • Merge pull request #144 from egonw/fix/pmdWarnings ace58d2
  • Merge pull request #143 from egonw/feature/ignorePMDonSMSD ee57194
  • Removed unused imports d47a308
  • User indexOf(char) instead of indexOf(String). a05ca52
  • Fixed a few variable name warnings ed84551
  • Ignore PMD warnings/errors in the SMSD section f22bc97
  • More efficient use of StringBuilder.append() d865450
  • Don't use String concatenation to deal with null atoms 42ae450
  • Don't use String concatenation to deal with null atoms 20c145a
  • Use interfaces instead of implementations: IPseudoAtom cd91c50
  • Fixed a PMD warning: use append(char) instead of append(String) for single chars (and a few more append() split ups) 66f8f71
  • Don't compare doubles as identical, as there is machine uncertainty in any non-integer value af852f0
  • Include copyright statements and some cleanup after review. 7acf190
  • Deprecate implementations and ignore failing tests of old methods. ef57f35
  • Delegate existing MMFF partial charge methods to new implementation. cce1021
  • New MMFF partial charges implementation. Relocate tests from descriptor and rebase using SMILES (required due to InChI standardisations). aea097e
  • Correct citation id. df40c1c
  • Internal class for MMFF Parameter Loading - duplicates/replaces some functionality of the ForceFieldConfigurator/MMFF94BasedParameterSetReader. 86fcbe1
  • Map symbolic types HOCS and HON down to integer type 21. These appear in the validation suite and labelled as new in the parameter files but do not appear in the papers. ac69e27
  • Internal API additions allow us to pass back which bonds are aromatic by MMFF's model. Ideally we would seperate out the aromaticity to a optional preprocessing step but at the moment the aromaticity needs to be assigned after the initial symbolic types. 9e6a6e4
  • Representation independant type assignment for nitro groups. 5d825f6
  • Load prime numbers from an external file. dc7f453
  • In lieu of planned improvments to canonical labelling, extend the primes table to allow handling of much large molecules. e037988
  • Added Miguel Correa, of a recent patch 4072b0d
  • Default name is null. dfc4d22
  • Bad SMILES are marked with an empty molecule and property. This mirrors behaviour of the IteratingSMILESReader. a45f745
  • Removed code to enable debug output 9bec3fc
  • It's 2015. 8afd272
  • Report the build status in the README 1bfa2d1
  • Enable travis-ci building b7b89f3
  • Detect correct molfile format in IteratingSDFReader. 976ad3e
  • Added the literature reference 0efa7e1
  • Just count the number of oxygens directly from the containers d26551b
  • Backported the first descriptor from NanoJava: chem formula oxygen count 4436bde
  • Revert "Backported the first descriptor from NanoJava: chem formula oxygen count" dbdb7ed
  • Revert "Added JavaDoc" 3a9dea3
  • Revert "Just count the number of oxygens directly from the containers" 8b36b5e
  • Revert "Added the literature reference" 6e21795
  • Added the literature reference a84db31
  • Just count the number of oxygens directly from the containers bddda96
  • Added JavaDoc 68331e1
  • Backported the first descriptor from NanoJava: chem formula oxygen count c92f855
  • Updated to fit in. cfcd236
  • Copied in ISubstance from NanoJava 835e0fc
  • Merge branch 'master' of github.com:cdk/cdk 5b169e9
  • Update README.md 58a4e74
  • Base object property handling tweaks. 753adfe
  • SMARTS matching for smallest ring size atom defaults to any ring atom. fc07d45
  • Allowing setting of stereochemistry. ba945d3
  • Expose lower level API allowing efficient matching of different parameters (e.g. charge and symettry class etc). 1b022f0
  • Provide access to the sub-expressions in the newer logical atom implementations. 877427c
  • Handle quadruple bonds in SMARTS matches. c963d7b
  • Merge pull request #134 from cdd/readme-fixes 1ba0333
  • Merge pull request #133 from cdd/java-version be3a339
  • Java 1.6 does not appear to be supported anymore: update readme. dc6d42c
  • Readme typo fixes and consistent command examples. f5de611
  • Merge pull request #132 from cdd/bundle-cdk-model 19c14f8
  • Include cdk-model when packaging a single JAR. e159604
  • Not all InChIs have connections c097bb0
  • Unit test for InChIs with no connectivity layer 17ae8f2
  • Closes readers when we're done with them 96b4896
  • Merge pull request #130 from miguelcorrea/master b1a7e4d
  • Fixed several grammar and spelling errors in the Javadocs 090b355
  • Added a note about this not being the primary source of this file 912ba0f
  • Use the newer cdk-build-utils version with cite support (inbook and techreport) and DOI outlinks. feb5fd8
  • Added email and url for developer Egon f98e38f
  • Use new Mappings API - the current pcore API doesn't really fit well since the mappings is lazy and it is redone multiple times. However the new calls are now decoupled and only required calling of matches() instead of other methods in order. Dirrect return of Mappings instance (ala. Pattern.matchAll) would perhaps be better - also interfaces (List instead List) would be an improvement but would break existing usages. a0c9dc7
  • Slightly faster tests using silent and avoiding redundant setup. bf8dbbd
  • There appears to be some equality logic in the PCoreAtom so the contains check on IAtomContainer might be needed. However it was still doing reference equality, behaviour is now working as expected. 58cccb6
  • Extract new pcore atom creation to method. b1c2c43
  • contains does an identity check and is therefore redunant - unless some extra logic was intended here? cb28cde
  • Use newer SMARTS/Substructure API calls. 1d76286
  • Minor tidy up/variable renaming. b0c9468
  • YourKit info. fafd8b3
  • Access new instance variables in test. 3b021dd
  • Move DeAromatizationTool to legacy and deprecate. 1438a84
  • Improve the dearomatization of aromatic rings by extending it to handle three fused 6-membered rings, fused 5-membered ring with two 6-membered rings, two fused 6-membered rings, 5-membered ring fused with 6-membered ring systems. Also generalize the dearomatization of 5-membered ring and 6-membered ring systems. 6a9ff75
  • Remove static variables so that VFlibTurboHandler can be used in a threaded environment. f0c1512
  • Remove static keywords from variables source and target so that this class can be used in a threaded environment. 15d8205
  • Correct flag for single or double. 13c5303
  • Lazy initialize substructure templates, also logging tool is suspiciously expensive. f5b6ad7
  • Cheaper SDG creation through reuse of the same identity template library. 4660f71
  • Additional hint in LengthOverBreadthDescriptor to configure istopes. de3ce25
  • SMARTS stereo matching requires additional checks to ensure we don't accidentally attempt to compare a tetrahedral centre to a double-bond (was causing a class cast). The typical case is when this occurs is when bond orders are not matched. b12d2ca
  • Correct handling of explicit hydrogens in model builder 3D. 60d85be
  • Exclude slf4j-log4j from iordf. c64509b
  • Synchronise and look atom type matcher. f7b3388
  • Fixed setting the electron counts for QUINTUPLE and SEXTUPLE 9a4638e
  • Added testing for QUINTUPLE and SEXTUPLE electron counts ce411d7
  • Added the missing JavaDoc for QUINTUPLE and SEXTUPLE 4153827
  • Ensure that V2000 fail in STRICT mode f78a9c7
  • Resolve issue with properties in old MDL format - bug 1356 ef3ec5d
  • Updated the AUTHOR list 40746fd
  • Handle minus character in formula parsing [O]2- vs [O2]–. Hyphen is still handled correctly. f63fce8
  • Resolve NPE in circular fingerprint - SF bug:1357. 989fd7d
  • Tests taking more than a second tagged as slow (non-unit) tests. f698b3d
  • fingerprint.model.Bayesian & test materials added a2ba77e
  • Added literature reference 62f9ddd
  • A new module for the cdd bayes modelling code. 5ee6b1c
  • Mark unspecified double bond steroechemistry when labelling bonds of a depiction. bed9d12
  • tyrosine and tryptophan were switched. 28e1215
  • Merge pull request #113 from zachcp/patch-2 b228ea8
  • add the github site to the readme 03c2353
  • Removed no longer existing dependencies 98b9d77
  • Removed TestClass and TestMethod 7e1f347
  • Thirteenth batch of removal of TestClass/-Method use a3d6cdc
  • Twelveth batch of removal of TestClass/-Method use b7a348d
  • Eleventh batch of removal of TestClass/-Method use 1c0410b
  • Tenth batch of removal of TestClass/-Method use 15f0098
  • Nineth batch of removal of TestClass/-Method use ffa5858
  • Eight batch of removal of TestClass/-Method use 00bd54c
  • Seventh batch of removal of TestClass/-Method use 9424578
  • Sixth batch of removal of TestClass/-Method use 1951f68
  • Fifth batch of removal of TestClass/-Method use fb51e91
  • Fourth batch of removal of TestClass/-Method use 1f3633c
  • Third batch of removal of TestClass/-Method use 415f7ce
  • Second batch of removal of TestClass/-Method use ac85c9f
  • First batch of removal of TestClass/-Method use 5ad585b
  • Describing Maven Plugin Usage 5f7e99b
  • Replacing CDKException in MolecularFormulaGenerator constructor with IllegalArgumentException. fa05c86
  • Added two additional tests for molecular formula generator. Fixed a problem that was revealed by these tests. f05e04d
  • Remove now defunct modulesuites, tests are now grouped by module automatically due separate source tree. a70db08
  • Demonstrate correct parsing of SMARTS in bug 909. e977970
  • Demonstrate bug 844 has been resolved. 41adfbc
  • Ensure aromaticity applies a consistent representation. 2ffb503
  • Deprecating DeduceBondSystemTool. 9bc384c
  • Resolve off by one error in bug 489 by ensuring substring doesn't fail. 09ef737
  • Demonstrate bug 328 is resolved. a25a2da
  • Bug report number is incorrect 185c53d
  • Bug reported fixed and closed 426800b
  • All three bugs are reported fixed and reports are closed 3966474
  • Bug #545 (previously #1793446) is fixed in master 896a9bd
  • Reported fixed: https://sourceforge.net/p/cdk/bugs/463/ 75e9450
  • This bug was fixed. See https://sourceforge.net/p/cdk/bugs/581/ f02abd7
  • The class seems tested now 8af6be5
  • PMD variable name warning fixes 9805f3e
  • Bug #549 (previously #1802998) is fixed: diborane parses fine in 1.5 d93a4ef
  • Move ionpot classes to the legacy module. d0f7f98
  • Deprecate the IonizationPotentialTool and ignore the fail tests. Mark tests as slow - most of these are taking more than a second. 6ab531a
  • Updates to README. 7432e34
  • Ignore deficiency tests in the old MassToFormulaTool. 4084574
  • Minor code cleanup 2d784cc
  • Added 2 additional tests for MassToFormulaTool and MolecularFormulaGenerator 8110419
  • Use the hasItems matcher instead of is to match a list, avoiding ordering problems d4215c0
  • Resolve failing unit test from vecmath bug. Looks to be a bug in the 64-bit (double) rotation, using the 32-bit (float) transformation gives the expected and correct value. 5d22594
  • Bumping version, open for changes. a2ebdef