This file is indexed.

/usr/share/RDKit/Contrib/M_Kossner/BaseFeatures_DIP2_NoMicrospecies.fdef is in rdkit-data 201603.5-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# $Id$
#
# FDef file contributed by Markus Kossner

AtomType AcidicN	[$([NH,N-1](S(=O))(C(=O))),$([NH,N-1](C(=O))(C(=O))),$([NH,N-1](S(=O)(=O))c),$([NH2]S(=O)(=O)c)]
AtomType AmideN [$([#7]-C(=O))]
AtomType AmidineTripleN [$([#7]-C(=[#7]))]
AtomType SulfonamideN [$([N;H0]S(=O)(=O))]
AtomType NDonor [N&!H0&v3,N&!H0&+1&v4,n&H1&+0;!{AcidicN};!{AmidineTripleN}]
AtomType NDonor [$([Nv3](-C)(-C)-C);!{AmideN};!{AmidineTripleN}] #Primary Amine but not Amide!
AtomType NDonor [$(n[n;H1]),$(nc[n;H1]);!{AcidicN}]

AtomType AcidicHydroxyl [$([O]C(=[O,S,P]))]
AtomType ChalcDonor [O,S;H1;+0]
DefineFeature SingleAtomDonor [{NDonor},{ChalcDonor};!{AcidicHydroxyl}]
  Family Donor
  Weights 1
EndFeature

# aromatic N, but not indole or pyrole or fusing two rings or tetrazole
AtomType NAcceptor [$([N;H0]#,=[C&v4])]
AtomType NAcceptor [n;+0;H0;!X3] #;!$([n](n))   !$([n;H1](cc)cc)
# tertiary nitrogen adjacent to aromatic carbon
AtomType NAcceptor [N&v3;H0;$(Nc)]

# removes ether, thioether and nitro oxygen
AtomType ChalcAcceptor [O;H0;!$(O=N-*);!$([OD2]([#6])[#6])]

# Removed aromatic sulfur from ChalcAcceptor definition
#We will not use aromatic oxygens! cf Leach, Gillet ... J Med Chem 2010,53, 539-558
#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 NOT delightfully easy :-) 
#We wil define some additional NegIonizable Features 
#I later found some similar substructures in 
# Good,Oprea J.Comput.Aided.Mol.Des (2008) 22:169-178:

DefineFeature AcidicGroup [C,S,P](=[O,S])-[O;H1,H0&-1]
  Family NegIonizable
  Weights 1.0,1.0,1.0
EndFeature

DefineFeature AcidicN [{AcidicN};!$([nH,n-1]1cnnn1)]
  Family NegIonizable
  Weights 1
EndFeature

DefineFeature Tetrazole c1nnn[nH,n-1]1
  Family NegIonizable
  Weights 1,1,1,1,1
EndFeature

AtomType Carbon_NotDouble [C;!$(C=*)]
AtomType BasicNH2 [$([N;H2&+0;!R][{Carbon_NotDouble}])]
AtomType BasicNH1 [$([N;H1&+0;!R]([{Carbon_NotDouble}])[{Carbon_NotDouble}])]
AtomType BasicNH0 [$([N;H0&+0;!R]([{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

# 14.11.2007 (GL): add !$([N+]-[O-]) constraint so we don't match
# nitro (or similar) groups
DefineFeature PosN [#7;+;!$([N+]-[O-])]
 Family PosIonizable
 Weights 1.0
EndFeature

#Define electronegative atoms that might have an impact on pka of moieties otherwise basic?
AtomType ElectroNegative [N,n,O,o,F,Cl,Br]
# imidazole group can be positively charged (too promiscuous?)
#DefineFeature Imidazole  [n,+0]1[$(cC),$([cH])][n;+0][$(cC),$([cH])][$(cC),$([cH])]1
#  Family PosIonizable
#  Weights 1.0,1.0,1.0,1.0,1.0
#EndFeature

# guanidine group is positively charged (too promiscuous? We do not match any aromatic systems here. That would be too promiscuous!)
DefineFeature Guanidine [N;+0;!{AmideN}][#6;+0](=[N;+0;!{AmideN}])[N;+0;!{AmideN}]
  Family PosIonizable
  Weights 1.0,1.0,1.0,1.0
EndFeature

# amidine group is positively charged (too promiscuous?)
DefineFeature Amidine [N;+0;!{AmideN}][#6]=,:[#7;+0;!$(ncn);!{AmideN}]
  Family PosIonizable
  Weights 1.0,1.0,1.0
EndFeature

# aromatic rings of various sizes:
#
# Note that with the aromatics, it's important to include the ring-size queries 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.
# 21.1.2008 (GL): update ring membership tests to reflect corrected meaning of
# "r" in SMARTS parser
#
AtomType AromR4 [a;r4,!R1&r3]
DefineFeature Arom4 [{AromR4}]1:[{AromR4}]:[{AromR4}]:[{AromR4}]:1
 Family Aromatic
 Weights 1.0,1.0,1.0,1.0
EndFeature
AtomType AromR5 [a;r5,!R1&r4,!R1&r3]
DefineFeature Arom5 [{AromR5}]1:[{AromR5}]:[{AromR5}]:[{AromR5}]:[{AromR5}]:1
 Family Aromatic
 Weights 1.0,1.0,1.0,1.0,1.0
EndFeature
AtomType AromR6 [a;r6,!R1&r5,!R1&r4,!R1&r3]
DefineFeature Arom6 [{AromR6}]1:[{AromR6}]:[{AromR6}]:[{AromR6}]:[{AromR6}]:[{AromR6}]:1
 Family Aromatic
 Weights 1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
AtomType AromR7 [a;r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]
DefineFeature Arom7 [{AromR7}]1:[{AromR7}]:[{AromR7}]:[{AromR7}]:[{AromR7}]:[{AromR7}]:[{AromR7}]:1
 Family Aromatic
 Weights 1.0,1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
AtomType AromR8 [a;r8,!R1&r7,!R1&r6,!R1&r5,!R1&r4,!R1&r3]
DefineFeature Arom8 [{AromR8}]1:[{AromR8}]:[{AromR8}]:[{AromR8}]:[{AromR8}]:[{AromR8}]:[{AromR8}]:[{AromR8}]: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
# 
# 23.11.2007 (GL): match any bond (not just single bonds); add #6 at
#  beginning to make it more efficient
AtomType Carbon_Polar [#6;$([#6]~[#7,#8,#9])]
# 23.11.2007 (GL): don't match charged carbon
AtomType Carbon_NonPolar [#6;+0;!{Carbon_Polar}]

# 6.2009 (MK): aromatic c is not per se a hydrophobic atom
#AtomType RingHphobe [R;{Hphobe}]
AtomType Hphobe [s,S&H0&v2,Br,I,Cl,F,{Carbon_NonPolar}]

# 8.2009 (MK): update  'Hydrophobes'
DefineFeature Hphobe [{Hphobe}{Hphobe}]
 Family Hydrophobe
  Weights 1.0
EndFeature

# 8.2009 (MK): 
DefineFeature Methyl [CH3]
  Family Hydrophobe
  Weights 1.0
EndFeature

# 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 ThreeWayAttach [D3,D4]
  Family LumpedHydrophobe
  Weights 1.0
EndFeature

DefineFeature ChainEnd [R0;D1][R0;D2]
  Family LumpedHydrophobe
  Weights 1.0,1.0
EndFeature

# 5.2009 (MK): update ring membership tests to reflect 'Lumped Hydrophobes' 
AtomType Ring6 [r6,!R1&r5,!R1&r4,!R1&r3]
DefineFeature R6_6 [{Ring6}]1[{Ring6}][{Ring6}][{Ring6}][{Ring6}][{Ring6}]1
  Family LumpedHydrophobe
  Weights 1.0,1.0,1.0,1.0,1.0,1.0
EndFeature
AtomType Ring5 [r5,!R1&r4,!R1&r3]
DefineFeature R5_5 [{Ring5}]1[{Ring5}][{Ring5}][{Ring5}][{Ring5}]1
  Family LumpedHydrophobe
  Weights 1.0,1.0,1.0,1.0,1.0
EndFeature
AtomType Ring4 [r4,!R1&r3]
DefineFeature H4_4 [{Ring4}]1[{Ring4}][{Ring4}][{Ring4}]1
  Family LumpedHydrophobe
  Weights 1.0,1.0,1.0,1.0
EndFeature
AtomType Ring3 [r3]
DefineFeature R3_3 [{Ring3}]1[{Ring3}][{Ring3}]1
  Family LumpedHydrophobe
  Weights 1.0,1.0,1.0
EndFeature