SMARTS Definitions
Contains a collection of Simplified Molecular-Input Line-Entry System (SMARTS) strings used for SMARTS pattern matching.
The SMARTS strings cater to a variety of chemical functionalities and patterns, including but not limited to hydrogen bond acceptors and donors, positively and negatively ionizable groups, hydrophobic functionalities, carbonyl groups, and aromatic systems.
Each SMARTS string represents a specific chemical pattern or functionality, with separate SMARTS strings defined for different types of hydrogen bond acceptors, such as a standard acceptor, enol, tautomeric NH, and terminal amide.
The SMARTS strings are grouped into dictionaries based on their functionality. For example, HBOND_ACCEPTOR_SMARTS includes all SMARTS strings for different types of hydrogen bond acceptors, while POSITIVELY_IOINISABLE_SMARTS contains SMARTS strings representing different types of positively ionizable groups.
The module also defines aromatic systems of varying ring sizes, ranging from 4 to 8.
Notes
SMARTS is a language used to specify substructural patterns in molecules. It extends the simpler SMILES syntax and provides a more flexible way to describe molecular patterns.
This module does not contain any functions or classes, but only data in the form of strings and dictionaries of strings.
It is expected to be used as a source of SMARTS strings for other modules and applications dealing with molecular structure processing, matching, and analysis.
HBOND_ACCEPTOR_SMARTS
module-attribute
¶
HBOND_ACCEPTOR_SMARTS = {'acceptor': SMARTS_STR_HBA_ACCEPTOR, 'enol': SMARTS_STR_HBA_ENOL, 'tautomeric nH': SMARTS_STR_HBA_TAUTOMERIC_NH, 'NH2 terminal amide': SMARTS_STR_HBA_TERMINAL_AMIDE}
POSITIVELY_IOINISABLE_SMARTS
module-attribute
¶
POSITIVELY_IOINISABLE_SMARTS = {'rdkit basic group': SMARTS_STR_PI_RDKIT_BASIC_GRP, 'imidazole': SMARTS_STR_PI_IMIDAZOLE, 'guanidine amidine': SMARTS_STR_PI_GUANIDINE_AMIDINE, 'rdkit posn': SMARTS_STR_PI_RDKIT_POSN, 'cations': SMARTS_STR_PI_CATIONS, 'metals': SMARTS_STR_PI_METALS}
HBOND_DONOR_SMARTS
module-attribute
¶
HBOND_DONOR_SMARTS = {'donor': SMARTS_STR_HBD_DONOR, 'oxygen acid': SMARTS_STR_HBD_OXYGEN_ACID, 'tautomer nH': SMARTS_STR_HBD_TAUTOMERIC_NH, 'oxygen amide term': SMARTS_STR_HBD_OXYGEN_AMIDE_TERM}
AROMATIC_SMARTS
module-attribute
¶
AROMATIC_SMARTS = {'arom_4': SMARTS_STR_AROMATIC_4, 'arom_5': SMARTS_STR_AROMATIC_5, 'arom_6': SMARTS_STR_AROMATIC_6, 'arom_7': SMARTS_STR_AROMATIC_7, 'arom_8': SMARTS_STR_AROMATIC_8}
SMARTS_STR_HBA_ACCEPTOR
module-attribute
¶
SMARTS_STR_HBA_ACCEPTOR = '[#8,#9,$([#16;H0,H1;v2,v1]),$([N;v3;!$(N-*=!@[O,N,P,S]);!$(N-!@a);!$([NH]=!@*)]),$([nH0;+0])]'
Type: str
: Standard hydrogen bond acceptor. Helps define
HBOND_ACCEPTOR_SMARTS.
SMARTS_STR_HBA_ENOL
module-attribute
¶
SMARTS_STR_HBA_ENOL = '[$([nH]:@c(=O))]'
Type: str
: Enol. Helps define
HBOND_ACCEPTOR_SMARTS.
SMARTS_STR_HBA_TAUTOMERIC_NH
module-attribute
¶
SMARTS_STR_HBA_TAUTOMERIC_NH = '[$([n;H1;v3;!$([nH]cccc)])]'
Type: str
: Tautomeric NH. Helps define
HBOND_ACCEPTOR_SMARTS.
SMARTS_STR_HBA_TERMINAL_AMIDE
module-attribute
¶
SMARTS_STR_HBA_TERMINAL_AMIDE = '[$([N;H2;v3;$(N-C(=O))])]'
Type: str
: NH2 terminal amide. Helps define
HBOND_ACCEPTOR_SMARTS.
SMARTS_STR_HBD_DONOR
module-attribute
¶
SMARTS_STR_HBD_DONOR = '[N!H0v3,N!H0+v4,OH+0,SH+0,nH+0]'
Type: str
: Standard hydrogen bond donor. Helps define
HBOND_DONOR_SMARTS.
SMARTS_STR_HBD_OXYGEN_ACID
module-attribute
¶
SMARTS_STR_HBD_OXYGEN_ACID = '[$([O;H0;$(O=C([OH])-*)])]'
Type: str
: Oxygen acid. Helps define
HBOND_DONOR_SMARTS.
SMARTS_STR_HBD_TAUTOMERIC_NH
module-attribute
¶
SMARTS_STR_HBD_TAUTOMERIC_NH = '[$(n:a:[nH])]'
Type: str
: Tautomeric NH. Helps define
HBOND_DONOR_SMARTS.
SMARTS_STR_HBD_OXYGEN_AMIDE_TERM
module-attribute
¶
SMARTS_STR_HBD_OXYGEN_AMIDE_TERM = '[$([O;H0;$(O=C-[NH2])])]'
Type: str
: Oxygen amide terminal. Helps define
HBOND_DONOR_SMARTS.
SMARTS_STR_WHBD
module-attribute
¶
SMARTS_STR_WHBD = '[#6!H0]'
Type: str
: Weak hydrogen bond donor. Helps define
WEAK_HBOND_DONOR.
SMARTS_STR_XBD
module-attribute
¶
SMARTS_STR_XBD = '[Cl,Br,I;X1;$([Cl,Br,I]-[#6])]'
Type: str
: Halogen bond donor. Helps define
XBOND_DONOR.
SMARTS_STR_PI_RDKIT_BASIC_GRP
module-attribute
¶
SMARTS_STR_PI_RDKIT_BASIC_GRP = '[$([N;H2&+0][C;!$(C=*)]),$([N;H1&+0]([C;!$(C=*)])[C;!$(C=*)]),$([N;H0&+0]([C;!$(C=*)])([C;!$(C=*)])[C;!$(C=*)]);!$(N[a])]'
Type: str
: RDKIT basic group. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_PI_IMIDAZOLE
module-attribute
¶
SMARTS_STR_PI_IMIDAZOLE = '[n;R1]1[c;R1][n;R1][c;R1][c;R1]1'
Type: str
: Imidazole. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_PI_GUANIDINE_AMIDINE
module-attribute
¶
SMARTS_STR_PI_GUANIDINE_AMIDINE = 'NC(=N)'
Type: str
: Guanidine amidine. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_PI_RDKIT_POSN
module-attribute
¶
SMARTS_STR_PI_RDKIT_POSN = '[#7;+;!$([N+]-[O-])]'
Type: str
: RDKIT positive nitrogen. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_PI_CATIONS
module-attribute
¶
SMARTS_STR_PI_CATIONS = '[$([*+1,*+2,*+3]);!$([N+]-[O-])]'
Type: str
: Cations. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_PI_METALS
module-attribute
¶
SMARTS_STR_PI_METALS = '[Li,Be,Na,Mg,Al,K,Ca,Sc,Ti,V,Cr,Mn,Fe,Co,Ni,Cu,Zn,Ga,Rb,Sr,Y,Zr,Nb,Mo,Tc,Ru,Rh,Pd,Ag,Cd,In,Sn,Cs,Ba,La,Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu,Hf,Ta,W,Re,Os,Ir,Pt,Au,Hg,Tl,Pb,Bi,Po,Fr,Ra,Ac,Th,Pa,U,Np,Pu,Am,Cm,Bk,Cf]'
Type: str
: Metals. Helps define
POSITIVELY_IOINISABLE_SMARTS.
SMARTS_STR_NI_ANIONS
module-attribute
¶
SMARTS_STR_NI_ANIONS = '[*-1,*-2]'
Type: str
: Anions. Helps define
NEG_IONISABLE.
SMARTS_STR_NI_O_ACIDIC_GRP
module-attribute
¶
SMARTS_STR_NI_O_ACIDIC_GRP = '[$([OH,O-]-[C,S,N,P,Cl,Br,I]=O),$(O=[C,S,N,P,Cl,Br,I]-[OH,O-])]'
Type: str
: Oxygen acidic group. Helps define
NEG_IONISABLE.
SMARTS_STR_HYDROPHOBIC
module-attribute
¶
SMARTS_STR_HYDROPHOBIC = '[#6+0!$(*~[#7,#8,F]),SH0+0v2,s+0,Cl+0,Br+0,I+0]'
Type: str
: Hydrophobic. Helps define
HYDROPHOBE.
SMARTS_STR_CARBONYL_OXYGEN
module-attribute
¶
SMARTS_STR_CARBONYL_OXYGEN = '[$([OH0]=[CX3,c]);!$([OH0]=[CX3,c]-[OH,O-])]'
Type: str
: Carbonyl oxygen. Helps define
CARBONYL_OXYGEN.
SMARTS_STR_CARBONYL_CARBON
module-attribute
¶
SMARTS_STR_CARBONYL_CARBON = '[$([CX3,c]=[OH0]);!$([CX3,c](=[OH0])-[OH,O-])]'
Type: str
: Carbonyl carbon. Helps define
CARBONYL_CARBON.
SMARTS_STR_AROMATIC_4
module-attribute
¶
SMARTS_STR_AROMATIC_4 = '[a;r4,!R1&r3]1:[a;r4,!R1&r3]:[a;r4,!R1&r3]:[a;r4,!R1&r3]:1'
Type: str
: Aromatic 4. Helps define
AROMATIC_SMARTS.
SMARTS_STR_AROMATIC_5
module-attribute
¶
SMARTS_STR_AROMATIC_5 = '[a;r5,!R1&r4,!R1&r3]1:[a;r5,!R1&r4,!R1&r3]:[a;r5,!R1&r4,!R1&r3]:[a;r5,!R1&r4,!R1&r3]:[a;r5,!R1&r4,!R1&r3]:1'
Type: str
: Aromatic 5. Helps define
AROMATIC_SMARTS.
SMARTS_STR_AROMATIC_6
module-attribute
¶
SMARTS_STR_AROMATIC_6 = '[a;r6,!R1&r5,!R1&r4,!R1&r3]1:[a;r6,!R1&r5,!R1&r4,!R1&r3]:[a;r6,!R1&r5,!R1&r4,!R1&r3]:[a;r6,!R1&r5,!R1&r4,!R1&r3]:[a;r6,!R1&r5,!R1&r4,!R1&r3]:[a;r6,!R1&r5,!R1&r4,!R1&r3]:1'
Type: str
: Aromatic 6. Helps define
AROMATIC_SMARTS.
SMARTS_STR_AROMATIC_7
module-attribute
¶
SMARTS_STR_AROMATIC_7 = '[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]1:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:1'
Type: str
: Aromatic 7. Helps define
AROMATIC_SMARTS.
SMARTS_STR_AROMATIC_8
module-attribute
¶
SMARTS_STR_AROMATIC_8 = '[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]1:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:[a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]:1'
Type: str
: Aromatic 8. Helps define
AROMATIC_SMARTS.