Updated murcko fragmenter to speed up preprocessing and avoid processing duplicate fragments in recursive calls.

Signed-off-by: Rajarshi Guha <rajarshi.guha@gmail.com>
Signed-off-by: John May <john.wilkinsonmay@gmail.com>
Updated to allow user specified molecule hash generator and included the orbital information in default molecular hash generator Removed reset method, no need for it Ensured that we output SMILES rather than fragment hashes Updated check for zero atom linkers to avoid redoing cycle detection. 5x speedup for large symmetric/branched structures Keep molecule hash as Long rather than String

Signed-off-by: Rajarshi Guha <rajarshi.guha@gmail.com>
Signed-off-by: John May <john.wilkinsonmay@gmail.com>
Added dependency of frag module on hash module

Signed-off-by: Rajarshi Guha <rajarshi.guha@gmail.com>
Signed-off-by: John May <john.wilkinsonmay@gmail.com>
Added inchi for macrocycle test case
Went back to use of spanning tree in check for zero atom linker
Added Javadoc annotation to indicate the class is not threadsafe

Signed-off-by: John May <john.wilkinsonmay@gmail.com>
Made the method threadsafe by removing static field

Signed-off-by: John May <john.wilkinsonmay@gmail.com>
Made the method threadsafe by removing static field
Avoided repeated calls to spanning tree by manually flagging ring bonds before starting search

Signed-off-by: John May <john.wilkinsonmay@gmail.com>