FastROCS TK 1.7.0¶
OEShapeDatabase now consumes approximately 50% less main memory. This improvement was gained by compressing color information in a more concise way. There should be negligible difference in color Tanimoto scores (only seen in the 4th decimal place).
Tversky similarity scoring is now available in FastROCS TK in addition to the default Tanimoto scoring. The following APIs have been added to support this new scoring:
OEShapeDatabaseOptions.GetSimFuncmethods have been added to set and retrieve the scoring type.
OEShapeDatabaseOptions.SetTverskyCoeffsmethod has been included to allow custom tuning of the alpha and beta coefficients.
OEShapeDatabaseOptions.GetTverskyBetamethods have been added to retrieve the coefficients.
OEShapeDatabaseScore.GetScoremethods have been provided for retrieving Tversky scores.
For more details about Tversky similarity scoring, see the Molecular Shape section of the Shape TK theory documentation.
OEFastROCSIsGPUReadyfunction has been added to easily determine if the GPU is ready to accept FastROCS TK queries. It returns
trueif OEShapeDatabase can successfully execute queries on a supported accelerator device, and otherwise returns
false. This function checks for the presence and status of GPU devices on the system, throwing an error message if the GPU is not ready for use. This function allows for any potential GPU issues to be caught prior to loading large databases.
OEShapeDatabase.PrintMemoryUsagehas been added to write out simple statistics about how much memory a particular OEShapeDatabase object is using and for what kinds of data.
Driver support has been extended to include driver
361.*. A list of currently supported NVIDIA drivers for FastROCS TK can be found in the Installation section.
Major bug fixes¶
OEShapeDatabase.GetSortedScoreswill no longer add color atoms to queries passed as OEConfBase objects. Previously, the following code would yield non-deterministic color scores and bugs:
for conf in mol.GetConfs(): for score in shapedb.GetScores(conf): ...
Users were previously instructed to make a temporary copy of the conformer into a new OEGraphMol before passing it to the methods that should have been logically
const. This is no longer necessary.
OEShapeDatabaseScore.Transformwill now only change the coordinates of the molecule as the name implies. The method will transform hydrogens and color atoms in the molecule.
ShapeDatabaseServer.py will now remove hydrogens from hit lists so that results from a cached OEB file (
OEPrepareFastROCSMol) are identical to when the server is started on a non-cached OEB file.
Minor bug fixes¶
OEShapeDatabase.GetScoresmethods now throw an error message if a molecule contains no heavy atoms.
OEShapeDatabaseScore methods will no longer release the Python global interpreter lock.
ShapeDatabasePrep.py example now has an optional argument to trim to a desired lower number of conformers.
BestShapeOverlay.py example will now output the proper filenames when a problem occurs while opening them.
Bugs in ShapeDatabaseServer.py, ShapeDatabaseClient.py, and ShapeDatabaseHistogram.py that were exposed when tested using Python 3.5 have been fixed. Python 3.5 now has a more efficient caching system in which file objects are required to be explicitly closed to ensure data writes are flushed.