#37 2D template handling uses fingerprint screens


Since the 2D layout code uses subgraph isomoprhism to identify when template coordinates can be used for a given query molecule, the use of fingerprint screening helps to avoid unnecessary isomorphism tests.

The current patch provides for the following:

  1. Added a text file containing GraphOnlyFingerprint results for the current template molecules
  2. Added a build target (makefp2d) that can be run from the CLI to regenerate this above fp file
  3. Updated TemplateHandler to have
  4. main() that generates the template fp's
  5. mapTemplates now generates a fingerprint for the incoming molecule and only performs subgraph matching a template fingerprint is a subset of the incoming molecules' fingerprint
  6. Added a test case to specifically check when molecules pass the fingerprint screen. Requires a protected variable in the main code - but since it won't show inthe API, it's useful to keep it there for testing purposes

You can get the changes by

git pull git://rguha.ath.cx/cdk fp2d


  • Egon Willighagen

    Rajarshi asked me to put up the branch on a machine here in Uppsala, as his ath.cx machine is going down, so please check the patch from:

    git pull http://pele.farmbio.uu.se/git/rajarshi.git/ fp2d

  • Egon Willighagen

    Rajarshi, what should we do with this one? Can you perhaps update the patch to the current master?

  • Egon Willighagen

    • Branch: --> master
    • Group: --> Needs_Revision
  • John May

    John May - 2013-12-11

    Ah I thought I remember a patch for this. This is really needed the SDG uses templates by default and worst of all loads them from CML! for every single structure. Some of the cuff tests on chebi.

    useTemplates(false): 6220 structures 8585 ms (724.47 s-1)
    useTemplates(true): 350 structures 10020 ms (34.93 s-1) DEFAULT

  • Egon Willighagen

    John, Rajarshi, what's the state of this patch?

  • John May

    John May - 2016-08-10

    No longer relavent, we do SDG tables via canonical SMILES so you can have a huge library and include graph only matching by default.

  • John May

    John May - 2016-08-10
    • status: open --> closed

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks