Fixed color bug that was calculating incorrect static color
scores. Large errors were caused whenever the shape optimization
produced large translations.
Fixed bug that was causing certain database molecules (usually flat
molecules) to be collapsed to a single point during the inertial
alignment step of loading the database. This would sometimes
manifest as tanimotos being outside the normal 0-1 range.
Fixed incorrect color gaussian width used in the color score
Handle zero division error in the color tanimoto calculation caused
whenever a molecule has no color atoms. These tanimotos will now be
In the event an error occurs in the OpenCL driver and a command
queue can not be opened to the GPU device only retry a finite amount
of time. That is, don’t loop infinitely in the event of a lower
Fixing order dependence problem caused whenever PYTHONPATH was
explicitly set overriding the search path explicitly set inside
Fixed bug in ShapeDatabaseServer.py caused by OEHeader objects in
OEB files. This will be fixed in a more general sense by the next
ShapeDatabaseServer.py will only allow one client query to process
at a time to ensure that GPU resources are not exhausted. This
restriction may be lifted in a future version, but for now this is
the best way to keep the server robust in a multi-user environments.
Cached color in OEB files use compressed color atoms in order to not
corrupt the OEB rotor offset compression format. Also use the cached
“AllColor” self term as it is closer to how the grid color overlap
Added support for Shape Query (.sq) files generated from
vROCS. These files can now be passed directly to
Significant performance improvement to post scoring with static
color. Post scoring with static color is now essentially “free” as
it occurs on the CPU after the shape optimization on the GPU. To
achieve this at least 2 CPU cores per Fermi GPU is recommended.
Significant performance improvement by caching the underlying GPU
context more effectively. Some queries were seeing a 1-2 second
overhead per GPU device because the GPU context could not be
cached. Later versions of the driver seem to support this without
crashing. If this version starts giving odd crashing behavior, try
updating the NVidia driver first.
ShapeDatabaseChunker.py is a little more robust in choosing output
Added ability to use 8 inertial starting points.
Added the CacheStuff.py script to cache as much as possible to
improve database load time. ShapeDatabaseChunker.py updated to cache
color stuff as well.
Totally revamped the output of Debug mode to allow for timing the
more asynchronous nature of FastROCS now.