this should have been added long ago

This commit is contained in:
Greg Landrum
2007-07-16 04:00:10 +00:00
parent e2fb1cd532
commit bb7e81cbe6

199
Data/BaseFeatures.fdef Normal file
View File

@@ -0,0 +1,199 @@
# $Id$
#
# RDKit base fdef file.
# Created by Greg Landrum
#
AtomType NDonor [N&!H0&v3,N&!H0&+1&v4,n&H1&+0]
AtomType AmideN [$(N-C(=O))]
AtomType SulfonamideN [$([N;H0]S(=O)(=O))]
AtomType NDonor [$([Nv3](-C)(-C)-C)]
AtomType NDonor [$(n[n;H1]),$(nc[n;H1])]
AtomType ChalcDonor [O,S;H1;+0]
DefineFeature SingleAtomDonor [{NDonor},{ChalcDonor}]
Family Donor
Weights 1
EndFeature
# aromatic N, but not indole or pyrole or fusing two rings
AtomType NAcceptor [n;+0;!X3;!$([n;H1](cc)cc)]
AtomType NAcceptor [$([N;H0]#[C&v4])]
# tertiary nitrogen adjacent to aromatic carbon
AtomType NAcceptor [N&v3;H0;$(Nc)]
# removes thioether and nitro oxygen
AtomType ChalcAcceptor [O;H0;v2;!$(O=N-*)]
Atomtype ChalcAcceptor [O;-;!$(*-N=O)]
# Removed aromatic sulfur from ChalcAcceptor definition
Atomtype ChalcAcceptor [o;+0]
# Hydroxyls and acids
AtomType Hydroxyl [O;H1;v2]
# F is an acceptor so long as the C has no other halogen neighbors. This is maybe
# a bit too general, but the idea is to eliminate things like CF3
AtomType HalogenAcceptor [F;$(F-[#6]);!$(FC[F,Cl,Br,I])]
DefineFeature SingleAtomAcceptor [{Hydroxyl},{ChalcAcceptor},{NAcceptor},{HalogenAcceptor}]
Family Acceptor
Weights 1
EndFeature
# this one is delightfully easy:
DefineFeature AcidicGroup [C,S](=[O,S,P])-[O;H1,H0&-1]
Family NegIonizable
Weights 1.0,1.0,1.0
EndFeature
AtomType Carbon_NotDouble [C;!$(C=*)]
AtomType BasicNH2 [$([N;H2&+0][{Carbon_NotDouble}])]
AtomType BasicNH1 [$([N;H1&+0]([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
AtomType PosNH3 [$([N;H3&+1][{Carbon_NotDouble}])]
AtomType PosNH2 [$([N;H2&+1]([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
AtomType PosNH1 [$([N;H1&+1]([{Carbon_NotDouble}])([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
AtomType BasicNH0 [$([N;H0&+0]([{Carbon_NotDouble}])([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
AtomType QuatN [$([N;H0&+1]([{Carbon_NotDouble}])([{Carbon_NotDouble}])([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
DefineFeature BasicGroup [{BasicNH2},{BasicNH1},{BasicNH0};!$(N[a])]
Family PosIonizable
Weights 1.0
EndFeature
DefineFeature PosN [#7;+]
Family PosIonizable
Weights 1.0
EndFeature
# imidazole group can be positively charged (too promiscuous?)
DefineFeature Imidazole c1ncnc1
Family PosIonizable
Weights 1.0,1.0,1.0,1.0,1.0
EndFeature
# guanidine group is positively charged (too promiscuous?)
DefineFeature Guanidine NC(=N)N
Family PosIonizable
Weights 1.0,1.0,1.0,1.0
EndFeature
# the LigZn binder features were adapted from combichem.fdl
DefineFeature ZnBinder1 [S;D1]-[#6]
Family ZnBinder
Weights 1,0
EndFeature
DefineFeature ZnBinder2 [#6]-C(=O)-C-[S;D1]
Family ZnBinder
Weights 0,0,1,0,1
EndFeature
DefineFeature ZnBinder3 [#6]-C(=O)-C-C-[S;D1]
Family ZnBinder
Weights 0,0,1,0,0,1
EndFeature
DefineFeature ZnBinder4 [#6]-C(=O)-N-[O;D1]
Family ZnBinder
Weights 0,0,1,0,1
EndFeature
DefineFeature ZnBinder5 [#6]-C(=O)-[O;D1]
Family ZnBinder
Weights 0,0,1,1
EndFeature
DefineFeature ZnBinder6 [#6]-P(=O)(-O)-[C,O,N]-[C,H]
Family ZnBinder
Weights 0,0,1,1,0,0
EndFeature
# aromatic rings of various sizes:
#
# Note that with the aromatics, it's important to include the ring-size queries (;rN) along with
# the aromaticity query for two reasons:
# 1) Much of the current feature-location code assumes that the feature point is
# equidistant from the atoms defining it. Larger definitions like: a1aaaaaaaa1 will actually
# match things like 'o1c2cccc2ccc1', which have an aromatic unit spread across multiple simple
# rings and so don't fit that requirement.
# 2) It's *way* faster.
#
DefineFeature Arom4 [a;r4]1[a;r4][a;r4][a;r4]1
Family Aromatic
Weights 1.0,1.0,1.0,1.0
EndFeature
DefineFeature Arom5 [a;r5]1[a;r5][a;r5][a;r5][a;r5]1
Family Aromatic
Weights 1.0,1.0,1.0,1.0,1.0
EndFeature
DefineFeature Arom6 [a;r6]1[a;r6][a;r6][a;r6][a;r6][a;r6]1
Family Aromatic
Weights 1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
DefineFeature Arom7 [a;r7]1[a;r7][a;r7][a;r7][a;r7][a;r7][a;r7]1
Family Aromatic
Weights 1.0,1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
DefineFeature Arom8 [a;r8]1[a;r8][a;r8][a;r8][a;r8][a;r8][a;r8][a;r8]1
Family Aromatic
Weights 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
# hydrophobic features
# any carbon that is not bonded to a polar atom is considered a hydrophobe
#
# generic non-polar carbon atom
AtomType Carbon_Polar [$([#6][#7,#8,#9])]
AtomType Carbon_NonPolar [#6;!{Carbon_Polar}]
DefineFeature ThreeWayAttach [D3,D4;{Carbon_NonPolar}]
Family Hydrophobe
Weights 1.0
EndFeature
DefineFeature ChainTwoWayAttach [R0;D2;{Carbon_NonPolar}]
Family Hydrophobe
Weights 1.0
EndFeature
# hydrophobic atom
AtomType Hphobe [c,s,S&H0&v2,Br,I,{Carbon_NonPolar}]
AtomType RingHphobe [R;{Hphobe}]
# nitro groups in the RD code are always: *-[N+](=O)[O-]
DefineFeature Nitro2 [N;D3;+](=O)[O-]
Family LumpedHydrophobe
Weights 1.0,1.0,1.0
EndFeature
DefineFeature RH6_6 [r6;{RingHphobe}]1[r6;{RingHphobe}][r6;{RingHphobe}][r6;{RingHphobe}][r6;{RingHphobe}][r6;{RingHphobe}]1
Family LumpedHydrophobe
Weights 1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
DefineFeature RH5_5 [r5;{RingHphobe}]1[r5;{RingHphobe}][r5;{RingHphobe}][r5;{RingHphobe}][r5;{RingHphobe}]1
Family LumpedHydrophobe
Weights 1.0,1.0,1.0,1.0,1.0
EndFeature
DefineFeature RH4_4 [r4;{RingHphobe}]1[r4;{RingHphobe}][r4;{RingHphobe}][r4;{RingHphobe}]1
Family LumpedHydrophobe
Weights 1.0,1.0,1.0,1.0
EndFeature
DefineFeature RH3_3 [r3;{RingHphobe}]1[r3;{RingHphobe}][r3;{RingHphobe}]1
Family LumpedHydrophobe
Weights 1.0,1.0,1.0
EndFeature
DefineFeature tButyl [C;!R](-[CH3])(-[CH3])-[CH3]
Family LumpedHydrophobe
Weights 1.0,0.0,0.0,0.0
EndFeature
DefineFeature iPropyl [CH;!R](-[CH3])-[CH3]
Family LumpedHydrophobe
Weights 1.0,1.0,1.0
EndFeature