1. Adrian Schreyer
  2. usrcat



Ultrafast Shape Recognition with CREDO Atom Types (USRCAT)


USRCAT is an extension of the Ultrafast Shape Recognition (USR) algorithm that includes pharmacophoric information.


There are several ways to install USRCAT. The recommended method is to run

$ python setup.py install

Another option is to simply add the usrcat subfolder source to your $PYTHONPATH. After successful installation functions from the package can be easily be imported with something like

# use RDKit as backend for USRCAT
from usrcat.toolkits.rd import generate_moments

Software requirements

USRCAT is written in the Python programming language and tested with version 2.7 but should also work with 2.6. The following Python modules are required: NumPy and SciPy. Also required are the Python bindings for at least one of the supported cheminformatics toolkits. Currently supported are OEChem and RDKit.


The following code shows an example of how to generate the USRCAT moments with RDKit as cheminformatics backend:

from rdkit import Chem
from rdkit.Chem import AllChem

from usrcat.toolkits.rd import generate_moments

# Imatinib
molecule = Chem.MolFromSmiles('Cc1ccc(cc1Nc2nccc(n2)c3cccnc3)NC(=O)c4ccc(cc4)C[NH+]5CC[NH+](CC5)C')

# generate 10 conformers

# generates the USRCAT moments for all conformers
moments = generate_moments(molecule)


Code contributions to implement USRCAT with other chemical toolkits (or to improve the existing code) are much appreciated. Please see the existing function based on OpenEye's OEChem toolkit as an example of how to implement the USRCAT method.


USRCAT is released under the MIT License.