Modification of the code of Rajarshi Guha (which uses OECHem) to use RDKIT.
http://www.rguha.net/code/python/cats2d.py
The CATS family of descriptors were described by Schneider and are topological pharmacophore descriptors. Guha's original code uses the OECHem toolkit which I don't have a license for . Code changed to use RDKit substructure searching and atom/bond iteration.
A huge thanks to Guha for making his code available.