# cats2d module¶

# CATS2D Potential Pharmacophore Point (PPP) definitions as describes in # Pharmacophores and Pharmacophore Searches 2006 (Eds. T. Langer and R.D. Hoffmann), Chapter 3: # Alignment-free Pharmacophore Patterns - A Correlattion-vector Approach. # The last lipophilic pattern on page 55 of the book is realized as a graph search and not # as a SMARTS search. Therefore, the list contains only two lipophilic SMARTS patterns. # The format is tab separated and contains in the first column the PPP type (D = H-bond donor, # A = H-bond acceptor, P = positive, N = negative, L = lipophilic). The second column of each entry # contains the SMARTS pattern(s). The last entry is a description of the molecular feature

D [OH] Oxygen atom of an OH group D [#7H,#7H2] Nitrogen atom of an NH or NH2 group A [O] Oxygen atom A [#7H0] Nitrogen atom not adjacent to a hydrogen atom P [+] atom with a positive charge P [#7H2] Nitrogen atom of an NH2 group N [-] Atom with a negative charge N [C&D2&$(C(=O)O),P&D2&$(P(=O)O),S&D2&$(S(=O)O)] Carbon, sulfur or phosphorus atom of a COOH, SOOH or POOH group. This pattern is realized by an graph algorithm L [Cl,Br,I] Chlorine, bromine, or iodine atom L [S;D2;$(S(C)(C))] Sulfur atom adjacent to exactly two carbon atoms

Created on Thu Sep 1 20:13:38 2016

Authors: Zhijiang Yao and Dongsheng Cao.

cats2d.AssignAtomType(mol)[source]

Assign the atoms in the mol object into each of the PPP type

according to PPP list definition.

cats2d.CATS2D(mol, PathLength=10, scale=3)[source]

The main program for calculating the CATS descriptors.

—-> CATS_DA0 ....

Usage:

result=CATS2D(mol,PathLength = 10,scale = 1)

Input: mol is a molecule object.

PathLength is the max topological distance between two atoms.

scale is the normalization method (descriptor scaling method)

scale = 1 indicates that no normalization. That is to say: the

values of the vector represent raw counts (“counts”).

scale = 2 indicates that division by the number of non-hydrogen

atoms (heavy atoms) in the molecule.

scale = 3 indicates that division of each of 15 possible PPP pairs

by the added occurrences of the two respective PPPs.

Output: result is a dict format with the definitions of each descritor.

cats2d.ContructLFromGraphSearch(mol)[source]

The last lipophilic pattern on page 55 of the book is realized as a graph search and not as a SMARTS search.

“L” carbon atom adjacent only to carbon atoms.

cats2d.FormCATSDict(AtomDict, CATSLabel)[source]

Construt the CATS dict.

cats2d.FormCATSLabel(PathLength=10)[source]

Construct the CATS label such as AA0, AA1,....AP3,.......

The result is a list format.

A acceptor; P positive; N negative; L lipophilic; D donor; #################################################################

cats2d.MatchAtomType(IndexList, AtomTypeDict)[source]

Mapping two atoms with a certain distance into their atom types

such as AA,AL, DP,LD etc.