GraphSim TK 2.3.0

New features

API Change

  • The OESimScore class, which is utilized by both the OEFPDatabase class and the new OEFastFPDatabase class, stores a similarity value with a corresponding molecule index. This pair is now stored as “double” and “size_t” rather than “float” and “unsigned int”. This non-breaking API change allows GraphSim TK to support molecular files that contain more than \(2^{32}\) entries and supports double precision similarity scores calculated using the new OEFastFPDatabase class.

C++-specific changes

  • The above-mentioned OESimScore class API change means that the following warning messages could be encountered when compiling old code with the new GraphSim TK:

    • implicit conversion loses floating point precision: 'double' to 'float'

      for (OEIter<OESimScore> si = fpdb.GetScores(mol); si; ++si)
        float score = si->GetScore(); // GetScore() now returns double
      
    • implicit conversion loses integer precision : 'size_t' to 'unsigned int'

      for (OEIter<OESimScore> si = fpdb.GetScores(mol); si; ++si)
        unsigned int molidx = si->GetIdx(); // GetIdx() now returns size_t
      

Java-specific changes

  • The above-mentioned OESimScore class API change means that a similarity value with a corresponding molecule index is now expected to be “double” and “long”, respectively.

Documentation changes