annotate CADDSuite-1.6/data/OpenBabel/SMARTS_InteLigand.txt @ 8:dbb480e39d95 draft

Uploaded
author marcel
date Sat, 15 Dec 2012 13:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
1 #
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
2 # SMARTS Patterns for Functional Group Classification
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
3 #
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
4 # written by Christian Laggner
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
5 # Copyright 2005 Inte:Ligand Software-Entwicklungs und Consulting GmbH
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
6 #
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
7 # Released under the Lesser General Public License (LGPL license)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
8 # see http://www.gnu.org/copyleft/lesser.html
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
9 # Modified from Version 221105
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
10 #####################################################################################################
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
11
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
12 # General Stuff:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
13 # These patters were written in an attempt to represent the classification of organic compounds
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
14 # from the viewpoint of an organic chemist.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
15 # They are often very restrictive. This may be generally a good thing, but it also takes some time
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
16 # for filtering/indexing large compound sets.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
17 # For filtering undesired groups (in druglike compounds) one will want to have more general patterns
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
18 # (e.g. you don't want *any* halide of *any* acid, *neither* aldehyde *nor* formyl esters and amides, ...).
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
19 #
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
20
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
21 # Part I: Carbon
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
22 # ==============
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
23
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
24
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
25 # I.1: Carbon-Carbon Bonds
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
26 # ------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
27
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
28 # I.1.1 Alkanes:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
29
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
30 Primary_carbon: [CX4H3][#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
31
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
32 Secondary_carbon: [CX4H2]([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
33
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
34 Tertiary_carbon: [CX4H1]([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
35
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
36 Quaternary_carbon: [CX4]([#6])([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
37
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
38
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
39 # I.1.2 C-C double and Triple Bonds
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
40
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
41 Alkene: [CX3;$([H2]),$([H1][#6]),$(C([#6])[#6])]=[CX3;$([H2]),$([H1][#6]),$(C([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
42 # sp2 C may be substituted only by C or H -
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
43 # does not hit ketenes and allenes, nor enamines, enols and the like
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
44
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
45 Alkyne: [CX2]#[CX2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
46 # non-carbon substituents (e.g. alkynol ethers) are rather rare, thus no further discrimination
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
47
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
48 Allene: [CX3]=[CX2]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
49
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
50
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
51 # I.2: One Carbon-Hetero Bond
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
52 # ---------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
53
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
54
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
55 # I.2.1 Alkyl Halogenides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
56
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
57 Alkylchloride: [ClX1][CX4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
58 # will also hit chloromethylethers and the like, but no chloroalkenes, -alkynes or -aromats
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
59 # a more restrictive version can be obtained by modifying the Alcohol string.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
60
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
61 Alkylfluoride: [FX1][CX4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
62
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
63 Alkylbromide: [BrX1][CX4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
64
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
65 Alkyliodide: [IX1][CX4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
66
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
67
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
68 # I.2.2 Alcohols and Ethers
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
69
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
70 Alcohol: [OX2H][CX4;!$(C([OX2H])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
71 # nonspecific definition, no acetals, aminals, and the like
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
72
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
73 Primary_alcohol: [OX2H][CX4H2;!$(C([OX2H])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
74
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
75 Secondary_alcohol: [OX2H][CX4H;!$(C([OX2H])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
76
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
77 Tertiary_alcohol: [OX2H][CX4D4;!$(C([OX2H])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
78
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
79 Dialkylether: [OX2]([CX4;!$(C([OX2])[O,S,#7,#15,F,Cl,Br,I])])[CX4;!$(C([OX2])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
80 # no acetals and the like; no enolethers
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
81
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
82 Dialkylthioether: [SX2]([CX4;!$(C([OX2])[O,S,#7,#15,F,Cl,Br,I])])[CX4;!$(C([OX2])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
83 # no acetals and the like; no enolethers
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
84
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
85 Alkylarylether: [OX2](c)[CX4;!$(C([OX2])[O,S,#7,#15,F,Cl,Br,I])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
86 # no acetals and the like; no enolethers
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
87
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
88 Diarylether: [c][OX2][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
89
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
90 Alkylarylthioether: [SX2](c)[CX4;!$(C([OX2])[O,S,#7,#15,F,Cl,Br,I])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
91
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
92 Diarylthioether: [c][SX2][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
93
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
94 Oxonium: [O+;!$([O]~[!#6]);!$([S]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
95 # can't be aromatic, thus O and not #8
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
96
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
97 # I.2.3 Amines
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
98
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
99 Amine: [NX3+0,NX4+;!$([N]~[!#6]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
100 # hits all amines (prim/sec/tert/quart), including ammonium salts, also enamines, but not amides, imides, aminals, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
101
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
102 # the following amines include also the protonated forms
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
103
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
104 Primary_aliph_amine: [NX3H2+0,NX4H3+;!$([N][!C]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
105
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
106 Secondary_aliph_amine: [NX3H1+0,NX4H2+;!$([N][!C]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
107
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
108 Tertiary_aliph_amine: [NX3H0+0,NX4H1+;!$([N][!C]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
109
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
110 Quaternary_aliph_ammonium: [NX4H0+;!$([N][!C]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
111
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
112 Primary_arom_amine: [NX3H2+0,NX4H3+]c
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
113
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
114 Secondary_arom_amine: [NX3H1+0,NX4H2+;!$([N][!c]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
115
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
116 Tertiary_arom_amine: [NX3H0+0,NX4H1+;!$([N][!c]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
117
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
118 Quaternary_arom_ammonium: [NX4H0+;!$([N][!c]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
119
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
120 Secondary_mixed_amine: [NX3H1+0,NX4H2+;$([N]([c])[C]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
121
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
122 Tertiary_mixed_amine: [NX3H0+0,NX4H1+;$([N]([c])([C])[#6]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
123
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
124 Quaternary_mixed_ammonium: [NX4H0+;$([N]([c])([C])[#6][#6]);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
125
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
126 Ammonium: [N+;!$([N]~[!#6]);!$(N=*);!$([N]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
127 # only C and H substituents allowed. Quaternary or protonated amines
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
128 # NX4+ or Nv4+ is not recognized by Daylight's depictmatch if less than four C are present
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
129
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
130
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
131 # I.2.4 Others
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
132
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
133 Alkylthiol: [SX2H][CX4;!$(C([SX2H])~[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
134
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
135 Dialkylthioether: [SX2]([CX4;!$(C([SX2])[O,S,#7,#15,F,Cl,Br,I])])[CX4;!$(C([SX2])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
136
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
137 Alkylarylthioether: [SX2](c)[CX4;!$(C([SX2])[O,S,#7,#15])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
138
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
139 Disulfide: [SX2D2][SX2D2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
140
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
141 1,2-Aminoalcohol: [OX2H][CX4;!$(C([OX2H])[O,S,#7,#15,F,Cl,Br,I])][CX4;!$(C([N])[O,S,#7,#15])][NX3;!$(NC=[O,S,N])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
142 # does not hit alpha-amino acids, enaminoalcohols, 1,2-aminoacetals, o-aminophenols, etc.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
143
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
144 1,2-Diol: [OX2H][CX4;!$(C([OX2H])[O,S,#7,#15])][CX4;!$(C([OX2H])[O,S,#7,#15])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
145 # does not hit alpha-hydroxy acids, enolalcohols, 1,2-hydroxyacetals, 1,2-diphenols, etc.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
146
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
147 1,1-Diol: [OX2H][CX4;!$(C([OX2H])([OX2H])[O,S,#7,#15])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
148
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
149 Hydroperoxide: [OX2H][OX2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
150 #does not neccessarily have to be connected to a carbon atom, includes also hydrotrioxides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
151
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
152 Peroxo: [OX2D2][OX2D2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
153
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
154 Organolithium_compounds: [LiX1][#6,#14]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
155
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
156 Organomagnesium_compounds: [MgX2][#6,#14]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
157 # not restricted to Grignard compounds, also dialkyl Mg
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
158
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
159 Organometallic_compounds: [!#1;!#5;!#6;!#7;!#8;!#9;!#14;!#15;!#16;!#17;!#33;!#34;!#35;!#52;!#53;!#85]~[#6;!-]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
160 # very general, includes all metals covalently bound to carbon
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
161
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
162
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
163 # I.3: Two Carbon-Hetero Bonds (Carbonyl and Derivatives)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
164 # ----------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
165
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
166 # I.3.1 Double Bond to Hetero
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
167
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
168 Aldehyde: [$([CX3H][#6]),$([CX3H2])]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
169 # hits aldehydes including formaldehyde
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
170
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
171 Ketone: [#6][CX3](=[OX1])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
172 # does not include oxo-groups connected to a (hetero-) aromatic ring
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
173
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
174 Thioaldehyde: [$([CX3H][#6]),$([CX3H2])]=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
175
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
176 Thioketone: [#6][CX3](=[SX1])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
177 # does not include thioxo-groups connected to a (hetero-) aromatic ring
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
178
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
179 Imine: [NX2;$([N][#6]),$([NH]);!$([N][CX3]=[#7,#8,#15,#16])]=[CX3;$([CH2]),$([CH][#6]),$([C]([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
180 # nitrogen is not part of an amidelike strukture, nor of an aromatic ring, but can be part of an aminal or similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
181
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
182 Immonium: [NX3+;!$([N][!#6]);!$([N][CX3]=[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
183
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
184 Oxime: [NX2](=[CX3;$([CH2]),$([CH][#6]),$([C]([#6])[#6])])[OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
185
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
186 Oximether: [NX2](=[CX3;$([CH2]),$([CH][#6]),$([C]([#6])[#6])])[OX2][#6;!$(C=[#7,#8])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
187 # ether, not ester or amide; does not hit isoxazole
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
188
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
189
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
190 # I.3.2. Two Single Bonds to Hetero
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
191
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
192 Acetal: [OX2]([#6;!$(C=[O,S,N])])[CX4;!$(C(O)(O)[!#6])][OX2][#6;!$(C=[O,S,N])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
193 # does not hit hydroxy-methylesters, ketenacetals, hemiacetals, orthoesters, etc.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
194
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
195 Hemiacetal: [OX2H][CX4;!$(C(O)(O)[!#6])][OX2][#6;!$(C=[O,S,N])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
196
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
197 Aminal: [NX3v3;!$(NC=[#7,#8,#15,#16])]([#6])[CX4;!$(C(N)(N)[!#6])][NX3v3;!$(NC=[#7,#8,#15,#16])][#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
198 # Ns are not part of an amide or similar. v3 ist to exclude nitro and similar groups
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
199
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
200 Hemiaminal: [NX3v3;!$(NC=[#7,#8,#15,#16])]([#6])[CX4;!$(C(N)(N)[!#6])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
201
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
202 Thioacetal: [SX2]([#6;!$(C=[O,S,N])])[CX4;!$(C(S)(S)[!#6])][SX2][#6;!$(C=[O,S,N])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
203
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
204 Thiohemiacetal: [SX2]([#6;!$(C=[O,S,N])])[CX4;!$(C(S)(S)[!#6])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
205
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
206 Halogen_acetal_like: [NX3v3,SX2,OX2;!$(*C=[#7,#8,#15,#16])][CX4;!$(C([N,S,O])([N,S,O])[!#6])][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
207 # hits chloromethylenethers and other reactive alkylating agents
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
208
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
209 Acetal_like: [NX3v3,SX2,OX2;!$(*C=[#7,#8,#15,#16])][CX4;!$(C([N,S,O])([N,S,O])[!#6])][FX1,ClX1,BrX1,IX1,NX3v3,SX2,OX2;!$(*C=[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
210 # includes all of the above and other combinations (S-C-N, hydrates, ...), but still no aminomethylenesters and similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
211
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
212 Halogenmethylen_ester_and_similar: [NX3v3,SX2,OX2;$(**=[#7,#8,#15,#16])][CX4;!$(C([N,S,O])([N,S,O])[!#6])][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
213 # also reactive alkylating agents. Acid does not have to be carboxylic acid, also S- and P-based acids allowed
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
214
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
215 NOS_methylen_ester_and_similar: [NX3v3,SX2,OX2;$(**=[#7,#8,#15,#16])][CX4;!$(C([N,S,O])([N,S,O])[!#6])][NX3v3,SX2,OX2;!$(*C=[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
216 # Same as above, but N,O or S instead of halogen. Ester/amide allowed only on one side
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
217
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
218 Hetero_methylen_ester_and_similar: [NX3v3,SX2,OX2;$(**=[#7,#8,#15,#16])][CX4;!$(C([N,S,O])([N,S,O])[!#6])][FX1,ClX1,BrX1,IX1,NX3v3,SX2,OX2;!$(*C=[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
219 # Combination of the last two patterns
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
220
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
221 Cyanhydrine: [NX1]#[CX2][CX4;$([CH2]),$([CH]([CX2])[#6]),$(C([CX2])([#6])[#6])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
222
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
223
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
224 # I.3.3 Single Bond to Hetero, C=C Double Bond (Enols and Similar)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
225
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
226 Chloroalkene: [ClX1][CX3]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
227
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
228 Fluoroalkene: [FX1][CX3]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
229
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
230 Bromoalkene: [BrX1][CX3]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
231
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
232 Iodoalkene: [IX1][CX3]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
233
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
234 Enol: [OX2H][CX3;$([H1]),$(C[#6])]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
235 # no phenols
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
236
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
237 Endiol: [OX2H][CX3;$([H1]),$(C[#6])]=[CX3;$([H1]),$(C[#6])][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
238 # no 1,2-diphenols, ketenacetals, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
239
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
240 Enolether: [OX2]([#6;!$(C=[N,O,S])])[CX3;$([H0][#6]),$([H1])]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
241 # finds also endiodiethers, but not enolesters, no aromats
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
242
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
243 Enolester: [OX2]([CX3]=[OX1])[#6X3;$([#6][#6]),$([H1])]=[#6X3;!$(C[OX2H])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
244
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
245
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
246 Enamine: [NX3;$([NH2][CX3]),$([NH1]([CX3])[#6]),$([N]([CX3])([#6])[#6]);!$([N]*=[#7,#8,#15,#16])][CX3;$([CH]),$([C][#6])]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
247 # does not hit amines attached to aromatic rings, nor may the nitrogen be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
248
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
249 Thioenol: [SX2H][CX3;$([H1]),$(C[#6])]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
250
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
251 Thioenolether: [SX2]([#6;!$(C=[N,O,S])])[CX3;$(C[#6]),$([CH])]=[CX3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
252
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
253
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
254 # I.4: Three Carbon-Hetero Bonds (Carboxyl and Derivatives)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
255 # ------------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
256
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
257 Acylchloride: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[ClX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
258
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
259 Acylfluoride: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[FX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
260
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
261 Acylbromide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[BrX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
262
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
263 Acyliodide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
264
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
265 Acylhalide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
266 # all of the above
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
267
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
268
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
269 # The following contains all simple carboxylic combinations of O, N, S, & Hal -
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
270 # - acids, esters, amides, ... as well as a few extra cases (anhydride, hydrazide...)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
271 # Cyclic structures (including aromats) like lactones, lactames, ... got their own
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
272 # definitions. Structures where both heteroatoms are part of an aromatic ring
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
273 # (oxazoles, imidazoles, ...) were excluded.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
274
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
275 Carboxylic_acid: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
276 # includes carboxylate anions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
277
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
278 Carboxylic_ester: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
279 # does not hit anhydrides or lactones
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
280
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
281 Lactone: [#6][#6X3R](=[OX1])[#8X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
282 # may also be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
283
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
284 Carboxylic_anhydride: [CX3;$([H0][#6]),$([H1])](=[OX1])[#8X2][CX3;$([H0][#6]),$([H1])](=[OX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
285 # anhydride formed by two carboxylic acids, no mixed anhydrides (e.g. between carboxylic acid and sulfuric acid); may be part of a ring, even aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
286
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
287 Carboxylic_acid_derivative: [$([#6X3H0][#6]),$([#6X3H])](=[!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
288 # includes most of the structures of I.4 and many more, also 1,3-heteroaromatics such as isoxazole
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
289
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
290 Carbothioic_acid: [CX3;!R;$([C][#6]),$([CH]);$([C](=[OX1])[$([SX2H]),$([SX1-])]),$([C](=[SX1])[$([OX2H]),$([OX1-])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
291 # hits both tautomeric forms, as well as anions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
292
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
293 Carbothioic_S_ester: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[SX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
294
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
295 Carbothioic_S_lactone: [#6][#6X3R](=[OX1])[#16X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
296 # may also be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
297
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
298 Carbothioic_O_ester: [CX3;$([H0][#6]),$([H1])](=[SX1])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
299
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
300 Carbothioic_O_lactone: [#6][#6X3R](=[SX1])[#8X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
301
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
302 Carbothioic_halide: [CX3;$([H0][#6]),$([H1])](=[SX1])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
303
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
304 Carbodithioic_acid: [CX3;!R;$([C][#6]),$([CH]);$([C](=[SX1])[SX2H])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
305
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
306 Carbodithioic_ester: [CX3;!R;$([C][#6]),$([CH]);$([C](=[SX1])[SX2][#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
307
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
308 Carbodithiolactone: [#6][#6X3R](=[SX1])[#16X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
309
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
310
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
311 Amide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
312 # does not hit lactames
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
313
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
314 Primary_amide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[NX3H2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
315
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
316 Secondary_amide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[#7X3H1][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
317
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
318 Tertiary_amide: [CX3;$([R0][#6]),$([H1R0])](=[OX1])[#7X3H0]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
319
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
320 Lactam: [#6R][#6X3R](=[OX1])[#7X3;$([H1][#6;!$(C=[O,N,S])]),$([H0]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
321 # cyclic amides, may also be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
322
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
323 Alkyl_imide: [#6X3;$([H0][#6]),$([H1])](=[OX1])[#7X3H0]([#6])[#6X3;$([H0][#6]),$([H1])](=[OX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
324 # may be part of a ring, even aromatic. only C allowed at central N. May also be triacyl amide
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
325
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
326 N_hetero_imide: [#6X3;$([H0][#6]),$([H1])](=[OX1])[#7X3H0]([!#6])[#6X3;$([H0][#6]),$([H1])](=[OX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
327 # everything else than H or C at central N
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
328
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
329 Imide_acidic: [#6X3;$([H0][#6]),$([H1])](=[OX1])[#7X3H1][#6X3;$([H0][#6]),$([H1])](=[OX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
330 # can be deprotonated
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
331
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
332 Thioamide: [$([CX3;!R][#6]),$([CX3H;!R])](=[SX1])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
333 # does not hit thiolactames
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
334
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
335 Thiolactam: [#6R][#6X3R](=[SX1])[#7X3;$([H1][#6;!$(C=[O,N,S])]),$([H0]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
336 # cyclic thioamides, may also be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
337
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
338
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
339 Oximester: [#6X3;$([H0][#6]),$([H1])](=[OX1])[#8X2][#7X2]=,:[#6X3;$([H0]([#6])[#6]),$([H1][#6]),$([H2])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
340 # may also be part of a ring / aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
341
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
342 Amidine: [NX3;!$(NC=[O,S])][CX3;$([CH]),$([C][#6])]=[NX2;!$(NC=[O,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
343 # only basic amidines, not as part of aromatic ring (e.g. imidazole)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
344
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
345 Hydroxamic_acid: [CX3;$([H0][#6]),$([H1])](=[OX1])[#7X3;$([H1]),$([H0][#6;!$(C=[O,N,S])])][$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
346
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
347 Hydroxamic_acid_ester: [CX3;$([H0][#6]),$([H1])](=[OX1])[#7X3;$([H1]),$([H0][#6;!$(C=[O,N,S])])][OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
348 # does not hit anhydrides of carboxylic acids withs hydroxamic acids
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
349
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
350
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
351 Imidoacid: [CX3R0;$([H0][#6]),$([H1])](=[NX2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
352 # not cyclic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
353
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
354 Imidoacid_cyclic: [#6R][#6X3R](=,:[#7X2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
355 # the enamide-form of lactames. may be aromatic like 2-hydroxypyridine
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
356
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
357 Imidoester: [CX3R0;$([H0][#6]),$([H1])](=[NX2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
358 # esters of the above structures. no anhydrides.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
359
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
360 Imidolactone: [#6R][#6X3R](=,:[#7X2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
361 # no oxazoles and similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
362
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
363 Imidothioacid: [CX3R0;$([H0][#6]),$([H1])](=[NX2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[$([SX2H]),$([SX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
364 # not cyclic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
365
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
366 Imidothioacid_cyclic: [#6R][#6X3R](=,:[#7X2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[$([SX2H]),$([SX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
367 # the enamide-form of thiolactames. may be aromatic like 2-thiopyridine
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
368
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
369 Imidothioester: [CX3R0;$([H0][#6]),$([H1])](=[NX2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[SX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
370 # thioesters of the above structures. no anhydrides.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
371
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
372 Imidothiolactone: [#6R][#6X3R](=,:[#7X2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[SX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
373 # no thioxazoles and similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
374
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
375 Amidine: [#7X3v3;!$(N([#6X3]=[#7X2])C=[O,S])][CX3R0;$([H1]),$([H0][#6])]=[NX2v3;!$(N(=[#6X3][#7X3])C=[O,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
376 # only basic amidines, not substituted by carbonyl or thiocarbonyl, not as part of a ring
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
377
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
378 Imidolactam: [#6][#6X3R;$([H0](=[NX2;!$(N(=[#6X3][#7X3])C=[O,S])])[#7X3;!$(N([#6X3]=[#7X2])C=[O,S])]),$([H0](-[NX3;!$(N([#6X3]=[#7X2])C=[O,S])])=,:[#7X2;!$(N(=[#6X3][#7X3])C=[O,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
379 # one of the two C~N bonds is part of a ring (may be aromatic), but not both - thus no imidazole
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
380
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
381 Imidoylhalide: [CX3R0;$([H0][#6]),$([H1])](=[NX2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
382 # not cyclic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
383
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
384 Imidoylhalide_cyclic: [#6R][#6X3R](=,:[#7X2;$([H1]),$([H0][#6;!$(C=[O,N,S])])])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
385 # may also be aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
386
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
387 # may be ring, aromatic, substituted with carbonyls, hetero, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
388 # (everything else would get too complicated)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
389
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
390 Amidrazone: [$([$([#6X3][#6]),$([#6X3H])](=[#7X2v3])[#7X3v3][#7X3v3]),$([$([#6X3][#6]),$([#6X3H])]([#7X3v3])=[#7X2v3][#7X3v3])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
391 # hits both tautomers. as above, it may be ring, aromatic, substituted with carbonyls, hetero, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
392
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
393
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
394 Alpha_aminoacid: [NX3,NX4+;!$([N]~[!#6]);!$([N]*~[#7,#8,#15,#16])][C][CX3](=[OX1])[OX2H,OX1-]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
395 # N may be alkylated, but not part of an amide (as in peptides), ionic forms are included
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
396 # includes also non-natural aminoacids with double-bonded or two aliph./arom. substituents at alpha-C
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
397 # N may not be aromatic as in 1H-pyrrole-2-carboxylic acid
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
398
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
399 Alpha_hydroxyacid: [OX2H][C][CX3](=[OX1])[OX2H,OX1-]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
400
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
401 Peptide_middle: [NX3;$([N][CX3](=[OX1])[C][NX3,NX4+])][C][CX3](=[OX1])[NX3;$([N][C][CX3](=[OX1])[NX3,OX2,OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
402 # finds peptidic structures which are neither C- nor N-terminal. Both neighbours must be amino-acids/peptides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
403
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
404 Peptide_C_term: [NX3;$([N][CX3](=[OX1])[C][NX3,NX4+])][C][CX3](=[OX1])[OX2H,OX1-]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
405 # finds C-terminal amino acids
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
406
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
407 Peptide_N_term: [NX3,NX4+;!$([N]~[!#6]);!$([N]*~[#7,#8,#15,#16])][C][CX3](=[OX1])[NX3;$([N][C][CX3](=[OX1])[NX3,OX2,OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
408 # finds N-terminal amino acids. As above, N may be substituted, but not part of an amide-bond.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
409
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
410
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
411 Carboxylic_orthoester: [#6][OX2][CX4;$(C[#6]),$([CH])]([OX2][#6])[OX2][#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
412 # hits also anhydride like struktures (e. g. HC(OMe)2-OC=O residues)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
413
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
414 Ketene: [CX3]=[CX2]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
415
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
416 Ketenacetal: [#7X2,#8X3,#16X2;$(*[#6,#14])][#6X3]([#7X2,#8X3,#16X2;$(*[#6,#14])])=[#6X3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
417 # includes aminals, silylacetals, ketenesters, etc. C=C DB is not aromatic, everything else may be
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
418
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
419 Nitrile: [NX1]#[CX2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
420 # includes cyanhydrines
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
421
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
422 Isonitrile: [CX1-]#[NX2+]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
423
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
424
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
425 Vinylogous_carbonyl_or_carboxyl_derivative: [#6X3](=[OX1])[#6X3]=,:[#6X3][#7,#8,#16,F,Cl,Br,I]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
426 # may be part of a ring, even aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
427
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
428 Vinylogous_acid: [#6X3](=[OX1])[#6X3]=,:[#6X3][$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
429
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
430 Vinylogous_ester: [#6X3](=[OX1])[#6X3]=,:[#6X3][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
431
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
432 Vinylogous_amide: [#6X3](=[OX1])[#6X3]=,:[#6X3][#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
433
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
434 Vinylogous_halide: [#6X3](=[OX1])[#6X3]=,:[#6X3][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
435
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
436
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
437
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
438 # I.5: Four Carbon-Hetero Bonds (Carbonic Acid and Derivatives)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
439 # -----------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
440
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
441 Carbonic_acid_dieester: [#6;!$(C=[O,N,S])][#8X2][#6X3](=[OX1])[#8X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
442 # may be part of a ring, even aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
443
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
444 Carbonic_acid_esterhalide: [#6;!$(C=[O,N,S])][OX2;!R][CX3](=[OX1])[OX2][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
445
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
446 Carbonic_acid_monoester: [#6;!$(C=[O,N,S])][OX2;!R][CX3](=[OX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
447 # unstable
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
448
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
449 Carbonic_acid_derivatives: [!#6][#6X3](=[!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
450
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
451
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
452 Thiocarbonic_acid_dieester: [#6;!$(C=[O,N,S])][#8X2][#6X3](=[SX1])[#8X2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
453 # may be part of a ring, even aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
454
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
455 Thiocarbonic_acid_esterhalide: [#6;!$(C=[O,N,S])][OX2;!R][CX3](=[SX1])[OX2][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
456
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
457 Thiocarbonic_acid_monoester: [#6;!$(C=[O,N,S])][OX2;!R][CX3](=[SX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
458
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
459
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
460 Urea:[#7X3;!$([#7][!#6])][#6X3](=[OX1])[#7X3;!$([#7][!#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
461 # no check whether part of imide, biuret, etc. Aromatic structures are only hit if
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
462 # both N share no double bonds, like in the dioxo-form of uracil
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
463
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
464 Thiourea: [#7X3;!$([#7][!#6])][#6X3](=[SX1])[#7X3;!$([#7][!#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
465
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
466 Isourea: [#7X2;!$([#7][!#6])]=,:[#6X3]([#8X2&!$([#8][!#6]),OX1-])[#7X3;!$([#7][!#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
467 # O may be substituted. no check whether further amide-like bonds are present. Aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
468 # structures are only hit if single bonded N shares no additional double bond, like in
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
469 # the 1-hydroxy-3-oxo form of uracil
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
470
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
471 Isothiourea: [#7X2;!$([#7][!#6])]=,:[#6X3]([#16X2&!$([#16][!#6]),SX1-])[#7X3;!$([#7][!#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
472
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
473 Guanidine: [N;v3X3,v4X4+][CX3](=[N;v3X2,v4X3+])[N;v3X3,v4X4+]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
474 # also hits guanidinium salts. v3 and v4 to avoid nitroamidines
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
475
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
476 Carbaminic_acid: [NX3]C(=[OX1])[O;X2H,X1-]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
477 # quite unstable, unlikely to be found. Also hits salts
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
478
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
479 Urethan: [#7X3][#6](=[OX1])[#8X2][#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
480 # also hits when part of a ring, no check whether the last C is part of carbonyl
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
481
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
482 Biuret: [#7X3][#6](=[OX1])[#7X3][#6](=[OX1])[#7X3]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
483
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
484 Semicarbazide: [#7X3][#7X3][#6X3]([#7X3;!$([#7][#7])])=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
485
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
486 Carbazide: [#7X3][#7X3][#6X3]([#7X3][#7X3])=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
487
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
488 Semicarbazone: [#7X2](=[#6])[#7X3][#6X3]([#7X3;!$([#7][#7])])=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
489
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
490 Carbazone: [#7X2](=[#6])[#7X3][#6X3]([#7X3][#7X3])=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
491
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
492 Thiosemicarbazide: [#7X3][#7X3][#6X3]([#7X3;!$([#7][#7])])=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
493
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
494 Thiocarbazide: [#7X3][#7X3][#6X3]([#7X3][#7X3])=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
495
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
496 Thiosemicarbazone: [#7X2](=[#6])[#7X3][#6X3]([#7X3;!$([#7][#7])])=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
497
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
498 Thiocarbazone: [#7X2](=[#6])[#7X3][#6X3]([#7X3][#7X3])=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
499
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
500
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
501 Isocyanate: [NX2]=[CX2]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
502
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
503 Cyanate: [OX2][CX2]#[NX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
504
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
505 Isothiocyanate: [NX2]=[CX2]=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
506
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
507 Thiocyanate: [SX2][CX2]#[NX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
508
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
509 Carbodiimide: [NX2]=[CX2]=[NX2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
510
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
511 Orthocarbonic_derivatives: [CX4H0]([O,S,#7])([O,S,#7])([O,S,#7])[O,S,#7,F,Cl,Br,I]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
512 # halogen allowed just once, to avoid mapping to -OCF3 and similar groups (much more
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
513 # stable as for example C(OCH3)4)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
514
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
515
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
516 # I.6 Aromatics
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
517 # -------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
518
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
519 # I know that this classification is not very logical, arylamines are found under I.2 ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
520
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
521 Phenol: [OX2H][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
522
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
523 1,2-Diphenol: [OX2H][c][c][OX2H]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
524
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
525 Arylchloride: [Cl][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
526
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
527 Arylfluoride: [F][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
528
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
529 Arylbromide: [Br][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
530
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
531 Aryliodide: [I][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
532
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
533 Arylthiol: [SX2H][c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
534
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
535 Iminoarene: [c]=[NX2;$([H1]),$([H0][#6;!$([C]=[N,S,O])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
536 # N may be substituted with H or C, but not carbonyl or similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
537 # aromatic atom is always C, not S or P (these are not planar when substituted)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
538
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
539 Oxoarene: [c]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
540
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
541 Thioarene: [c]=[SX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
542
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
543 Hetero_N_basic_H: [nX3H1+0]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
544 # as in pyrole. uncharged to exclude pyridinium ions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
545
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
546 Hetero_N_basic_no_H: [nX3H0+0]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
547 # as in N-methylpyrole. uncharged to exclude pyridinium ions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
548
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
549 Hetero_N_nonbasic: [nX2,nX3+]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
550 # as in pyridine, pyridinium
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
551
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
552 Hetero_O: [o]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
553
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
554 Hetero_S: [sX2]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
555 # X2 because Daylight's depictmatch falsely describes C1=CS(=O)C=C1 as aromatic
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
556 # (is not planar because of lonepair at S)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
557
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
558 Heteroaromatic: [a;!c]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
559
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
560
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
561 # Part II: N, S, P, Si, B
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
562 # =======================
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
563
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
564
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
565 # II.1 Nitrogen
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
566 # -------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
567
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
568 Nitrite: [NX2](=[OX1])[O;$([X2]),$([X1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
569 # hits nitrous acid, its anion, esters, and other O-substituted derivatives
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
570
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
571 Thionitrite: [SX2][NX2]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
572
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
573 Nitrate: [$([NX3](=[OX1])(=[OX1])[O;$([X2]),$([X1-])]),$([NX3+]([OX1-])(=[OX1])[O;$([X2]),$([X1-])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
574 # hits nitric acid, its anion, esters, and other O-substituted derivatives
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
575
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
576 Nitro: [$([NX3](=O)=O),$([NX3+](=O)[O-])][!#8]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
577 # hits nitro groups attached to C,N, ... but not nitrates
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
578
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
579 Nitroso: [NX2](=[OX1])[!#7;!#8]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
580 # no nitrites, no nitrosamines
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
581
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
582 Azide: [NX1]~[NX2]~[NX2,NX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
583 # hits both mesomeric forms, also anion
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
584
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
585 Acylazide: [CX3](=[OX1])[NX2]~[NX2]~[NX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
586
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
587 Diazo: [$([#6]=[NX2+]=[NX1-]),$([#6-]-[NX2+]#[NX1])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
588
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
589 Diazonium: [#6][NX2+]#[NX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
590
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
591 Nitrosamine: [#7;!$(N*=O)][NX2]=[OX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
592
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
593 Nitrosamide: [NX2](=[OX1])N-*=O
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
594 # includes nitrososulfonamides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
595
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
596 N-Oxide: [$([#7+][OX1-]),$([#7v5]=[OX1]);!$([#7](~[O])~[O]);!$([#7]=[#7])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
597 # Hits both forms. Won't hit azoxy, nitro, nitroso, or nitrate.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
598
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
599
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
600 Hydrazine: [NX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6]);!$(NC=[O,N,S])][NX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6]);!$(NC=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
601 # no hydrazides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
602
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
603 Hydrazone: [NX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6]);!$(NC=[O,N,S])][NX2]=[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
604
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
605 Hydroxylamine: [NX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6]);!$(NC=[O,N,S])][OX2;$([H1]),$(O[#6;!$(C=[N,O,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
606 # no discrimination between O-, N-, and O,N-substitution
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
607
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
608
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
609 # II.2 Sulfur
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
610 # -----------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
611
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
612 Sulfon: [$([SX4](=[OX1])(=[OX1])([#6])[#6]),$([SX4+2]([OX1-])([OX1-])([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
613 # can't be aromatic, thus S and not #16
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
614
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
615 Sulfoxide: [$([SX3](=[OX1])([#6])[#6]),$([SX3+]([OX1-])([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
616
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
617 Sulfonium: [S+;!$([S]~[!#6]);!$([S]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
618 # can't be aromatic, thus S and not #16
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
619
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
620 Sulfuric_acid: [SX4](=[OX1])(=[OX1])([$([OX2H]),$([OX1-])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
621 # includes anions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
622
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
623 Sulfuric_monoester: [SX4](=[OX1])(=[OX1])([$([OX2H]),$([OX1-])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
624
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
625 Sulfuric_diester: [SX4](=[OX1])(=[OX1])([OX2][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
626
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
627 Sulfuric_monoamide: [SX4](=[OX1])(=[OX1])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
628
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
629 Sulfuric_diamide: [SX4](=[OX1])(=[OX1])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
630
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
631 Sulfuric_esteramide: [SX4](=[OX1])(=[OX1])([#7X3][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
632
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
633 Sulfuric_derivative: [SX4D4](=[!#6])(=[!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
634 # everything else (would not be a "true" derivative of sulfuric acid, if one of the substituents were less electronegative
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
635 # than sulfur, but this should be very very rare, anyway)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
636
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
637
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
638
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
639 #### sulfurous acid and derivatives missing!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
640
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
641
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
642
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
643
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
644 Sulfonic_acid: [SX4;$([H1]),$([H0][#6])](=[OX1])(=[OX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
645
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
646 Sulfonamide: [SX4;$([H1]),$([H0][#6])](=[OX1])(=[OX1])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
647
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
648 Sulfonic_ester: [SX4;$([H1]),$([H0][#6])](=[OX1])(=[OX1])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
649
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
650 Sulfonic_halide: [SX4;$([H1]),$([H0][#6])](=[OX1])(=[OX1])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
651
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
652 Sulfonic_derivative: [SX4;$([H1]),$([H0][#6])](=[!#6])(=[!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
653 # includes all of the above and many more
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
654 # for comparison: this is what "all sulfonic derivatives but not the ones above" would look like:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
655 # [$([SX4;$([H1]),$([H0][#6])](=[!#6])(=[!#6;!O])[!#6]),$([SX4;$([H1]),$([H0][#6])](=[OX1])(=[OX1])[!$([FX1,ClX1,BrX1,IX1]);!$([#6]);!$([OX2H]);!$([OX1-]);!$([OX2][#6;!$(C=[O,N,S])]);!$([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
656
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
657
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
658 Sulfinic_acid: [SX3;$([H1]),$([H0][#6])](=[OX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
659
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
660 Sulfinic_amide: [SX3;$([H1]),$([H0][#6])](=[OX1])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
661
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
662 Sulfinic_ester: [SX3;$([H1]),$([H0][#6])](=[OX1])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
663
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
664 Sulfinic_halide: [SX3;$([H1]),$([H0][#6])](=[OX1])[FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
665
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
666 Sulfinic_derivative: [SX3;$([H1]),$([H0][#6])](=[!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
667
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
668 Sulfenic_acid: [SX2;$([H1]),$([H0][#6])][$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
669
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
670 Sulfenic_amide: [SX2;$([H1]),$([H0][#6])][#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
671
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
672 Sulfenic_ester: [SX2;$([H1]),$([H0][#6])][OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
673
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
674 Sulfenic_halide: [SX2;$([H1]),$([H0][#6])][FX1,ClX1,BrX1,IX1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
675
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
676 Sulfenic_derivative: [SX2;$([H1]),$([H0][#6])][!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
677
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
678
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
679 # II.3 Phosphorous
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
680 # ----------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
681
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
682 Phosphine: [PX3;$([H3]),$([H2][#6]),$([H1]([#6])[#6]),$([H0]([#6])([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
683 # similar to amine, but less restrictive: includes also amide- and aminal-analogues
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
684
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
685 Phosphine_oxide: [PX4;$([H3]=[OX1]),$([H2](=[OX1])[#6]),$([H1](=[OX1])([#6])[#6]),$([H0](=[OX1])([#6])([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
686
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
687 Phosphonium: [P+;!$([P]~[!#6]);!$([P]*~[#7,#8,#15,#16])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
688 # similar to Ammonium
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
689
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
690 Phosphorylen: [PX4;$([H3]=[CX3]),$([H2](=[CX3])[#6]),$([H1](=[CX3])([#6])[#6]),$([H0](=[CX3])([#6])([#6])[#6])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
691
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
692
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
693 # conventions for the following acids and derivatives:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
694 # acids find protonated and deprotonated acids
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
695 # esters do not find mixed anhydrides ( ...P-O-C(=O))
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
696 # derivatives: subtituents which go in place of the OH and =O are not H or C (may also be O,
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
697 # thus including acids and esters)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
698
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
699 Phosphonic_acid: [PX4;$([H1]),$([H0][#6])](=[OX1])([$([OX2H]),$([OX1-])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
700 # includes anions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
701
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
702 Phosphonic_monoester: [PX4;$([H1]),$([H0][#6])](=[OX1])([$([OX2H]),$([OX1-])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
703
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
704 Phosphonic_diester: [PX4;$([H1]),$([H0][#6])](=[OX1])([OX2][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
705
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
706 Phosphonic_monoamide: [PX4;$([H1]),$([H0][#6])](=[OX1])([$([OX2H]),$([OX1-])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
707
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
708 Phosphonic_diamide: [PX4;$([H1]),$([H0][#6])](=[OX1])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
709
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
710 Phosphonic_esteramide: [PX4;$([H1]),$([H0][#6])](=[OX1])([OX2][#6;!$(C=[O,N,S])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
711
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
712 Phosphonic_acid_derivative: [PX4;$([H1]),$([H0][#6])](=[!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
713 # all of the above and much more
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
714
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
715
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
716 Phosphoric_acid: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([$([OX2H]),$([OX1-])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
717 # includes anions
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
718
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
719 Phosphoric_monoester: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([$([OX2H]),$([OX1-])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
720
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
721 Phosphoric_diester: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([OX2][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
722
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
723 Phosphoric_triester: [PX4D4](=[OX1])([OX2][#6;!$(C=[O,N,S])])([OX2][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
724
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
725 Phosphoric_monoamide: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([$([OX2H]),$([OX1-])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
726
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
727 Phosphoric_diamide: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
728
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
729 Phosphoric_triamide: [PX4D4](=[OX1])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
730
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
731 Phosphoric_monoestermonoamide: [PX4D4](=[OX1])([$([OX2H]),$([OX1-])])([OX2][#6;!$(C=[O,N,S])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
732
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
733 Phosphoric_diestermonoamide: [PX4D4](=[OX1])([OX2][#6;!$(C=[O,N,S])])([OX2][#6;!$(C=[O,N,S])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
734
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
735 Phosphoric_monoesterdiamide: [PX4D4](=[OX1])([OX2][#6;!$(C=[O,N,S])])([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
736
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
737 Phosphoric_acid_derivative: [PX4D4](=[!#6])([!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
738
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
739
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
740 Phosphinic_acid: [PX4;$([H2]),$([H1][#6]),$([H0]([#6])[#6])](=[OX1])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
741
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
742 Phosphinic_ester: [PX4;$([H2]),$([H1][#6]),$([H0]([#6])[#6])](=[OX1])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
743
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
744 Phosphinic_amide: [PX4;$([H2]),$([H1][#6]),$([H0]([#6])[#6])](=[OX1])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
745
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
746 Phosphinic_acid_derivative: [PX4;$([H2]),$([H1][#6]),$([H0]([#6])[#6])](=[!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
747
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
748
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
749 Phosphonous_acid: [PX3;$([H1]),$([H0][#6])]([$([OX2H]),$([OX1-])])[$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
750
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
751 Phosphonous_monoester: [PX3;$([H1]),$([H0][#6])]([$([OX2H]),$([OX1-])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
752
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
753 Phosphonous_diester: [PX3;$([H1]),$([H0][#6])]([OX2][#6;!$(C=[O,N,S])])[OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
754
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
755 Phosphonous_monoamide: [PX3;$([H1]),$([H0][#6])]([$([OX2H]),$([OX1-])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
756
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
757 Phosphonous_diamide: [PX3;$([H1]),$([H0][#6])]([#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
758
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
759 Phosphonous_esteramide: [PX3;$([H1]),$([H0][#6])]([OX2][#6;!$(C=[O,N,S])])[#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
760
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
761 Phosphonous_derivatives: [PX3;$([D2]),$([D3][#6])]([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
762
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
763
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
764 Phosphinous_acid: [PX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6])][$([OX2H]),$([OX1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
765
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
766 Phosphinous_ester: [PX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6])][OX2][#6;!$(C=[O,N,S])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
767
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
768 Phosphinous_amide: [PX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6])][#7X3;$([H2]),$([H1][#6;!$(C=[O,N,S])]),$([#7]([#6;!$(C=[O,N,S])])[#6;!$(C=[O,N,S])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
769
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
770 Phosphinous_derivatives: [PX3;$([H2]),$([H1][#6]),$([H0]([#6])[#6])][!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
771
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
772
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
773 # II.4 Silicon
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
774 # ------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
775
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
776 Quart_silane: [SiX4]([#6])([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
777 # four C-substituents. non-reactive, non-toxic, in experimental phase for drug development
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
778
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
779 Non-quart_silane: [SiX4;$([H1]([#6])([#6])[#6]),$([H2]([#6])[#6]),$([H3][#6]),$([H4])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
780 # has 1-4 hydride(s), reactive. Daylight's depictmatch does not add hydrogens automatically to
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
781 # the free positions at Si, thus Hs had to be added implicitly
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
782
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
783 Silylmonohalide: [SiX4]([FX1,ClX1,BrX1,IX1])([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
784 # reagents for inserting protection groups
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
785
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
786 Het_trialkylsilane: [SiX4]([!#6])([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
787 # mostly acid-labile protection groups such as trimethylsilyl-ethers
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
788
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
789 Dihet_dialkylsilane: [SiX4]([!#6])([!#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
790
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
791 Trihet_alkylsilane: [SiX4]([!#6])([!#6])([!#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
792
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
793 Silicic_acid_derivative: [SiX4]([!#6])([!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
794 # four substituent which are neither C nor H
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
795
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
796
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
797 # II.5 Boron
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
798 # ----------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
799
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
800 Trialkylborane: [BX3]([#6])([#6])[#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
801 # also carbonyls allowed
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
802
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
803 Boric_acid_derivatives: [BX3]([!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
804 # includes acids, esters, amides, ... H-substituent at B is very rare.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
805
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
806 Boronic_acid_derivative: [BX3]([!#6])([!#6])[!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
807 # # includes acids, esters, amides, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
808
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
809 Borohydride: [BH1,BH2,BH3,BH4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
810 # at least one H attached to B
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
811
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
812 Quaternary_boron: [BX4]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
813 # mostly borates (negative charge), in complex with Lewis-base
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
814
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
815
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
816
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
817 # Part III: Some Special Patterns
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
818 # ===============================
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
819
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
820
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
821 # III.1 Chains
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
822 # ------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
823
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
824 # some simple chains
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
825
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
826
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
827
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
828 # III.2 Rings
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
829 # -----------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
830
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
831 Aromatic: a
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
832
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
833 Heterocyclic: [!#6;!R0]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
834 # may be aromatic or not
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
835
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
836 Epoxide: [OX2r3]1[#6r3][#6r3]1
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
837 # toxic/reactive. may be annelated to aromat, but must not be aromatic itself (oxirane-2,3-dione)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
838
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
839 NH_aziridine: [NX3H1r3]1[#6r3][#6r3]1
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
840 # toxic/reactive according to Maybridge's garbage filter
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
841
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
842 Spiro: [D4R;$(*(@*)(@*)(@*)@*)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
843 # at least two different rings can be found which are sharing just one atom.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
844 # these two rings can be connected by a third ring, so it matches also some
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
845 # bridged systems, like morphine
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
846
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
847 Annelated_rings: [R;$(*(@*)(@*)@*);!$([R2;$(*(@*)(@*)(@*)@*)])]@[R;$(*(@*)(@*)@*);!$([R2;$(*(@*)(@*)(@*)@*)])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
848 # two different rings sharing exactly two atoms
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
849
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
850 Bridged_rings: [R;$(*(@*)(@*)@*);!$([D4R;$(*(@*)(@*)(@*)@*)]);!$([R;$(*(@*)(@*)@*);!$([R2;$(*(@*)(@*)(@*)@*)])]@[R;$(*(@*)(@*)@*);!$([R2;$(*(@*)(@*)(@*)@*)])])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
851 # part of two or more rings, not spiro, not annelated -> finds bridgehead atoms,
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
852 # but only if they are not annelated at the same time - otherwise impossible (?)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
853 # to distinguish from non-bridgehead annelated atoms
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
854
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
855 # some basic ring-patterns (just size, no other information):
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
856
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
857
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
858
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
859
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
860
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
861 # III.3 Sugars and Nucleosides/Nucleotides, Steroids
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
862 # --------------------------------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
863
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
864 # because of the large variety of sugar derivatives, different patterns can be applied.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
865 # The choice of patterns and their combinations will depend on the contents of the database
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
866 # e.g. natural products, nucleoside analoges with modified sugars, ... as well as on the
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
867 # desired restriction
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
868
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
869
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
870 Sugar_pattern_1: [OX2;$([r5]1@C@C@C(O)@C1),$([r6]1@C@C@C(O)@C(O)@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
871 # 5 or 6-membered ring containing one O and at least one (r5) or two (r6) oxygen-substituents.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
872
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
873 Sugar_pattern_2: [OX2;$([r5]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C1),$([r6]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
874 # 5 or 6-membered ring containing one O and an acetal-like bond at postion 2.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
875
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
876 Sugar_pattern_combi: [OX2;$([r5]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C(O)@C1),$([r6]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C(O)@C(O)@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
877 # combination of the two above
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
878
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
879 Sugar_pattern_2_reducing: [OX2;$([r5]1@C(!@[OX2H1])@C@C@C1),$([r6]1@C(!@[OX2H1])@C@C@C@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
880 # 5 or 6-membered cyclic hemi-acetal
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
881
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
882 Sugar_pattern_2_alpha: [OX2;$([r5]1@[C@@](!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C1),$([r6]1@[C@@](!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
883 # 5 or 6-membered cyclic hemi-acetal
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
884
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
885 Sugar_pattern_2_beta: [OX2;$([r5]1@[C@](!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C1),$([r6]1@[C@](!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C@C1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
886 # 5 or 6-membered cyclic hemi-acetal
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
887
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
888 ##Poly_sugar_1: ([OX2;$([r5]1@C@C@C(O)@C1),$([r6]1@C@C@C(O)@C(O)@C1)].[OX2;$([r5]1@C@C@C(O)@C1),$([r6]1@C@C@C(O)@C(O)@C1)])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
889 # pattern1 occours more than once (in same molecule, but moieties don't have to be adjacent!)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
890
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
891 ##Poly_sugar_2: ([OX2;$([r5]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C1),$([r6]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C@C1)].[OX2;$([r5]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C1),$([r6]1@C(!@[OX2,NX3,SX2,FX1,ClX1,BrX1,IX1])@C@C@C@C1)])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
892 # pattern2 occours more than once (in same molecule, but moieties don't have to be adjacent!)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
893
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
894
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
895 # III.4 Everything else...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
896 # ------------------------
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
897
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
898 Conjugated_double_bond: *=*[*]=,#,:[*]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
899
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
900 Conjugated_tripple_bond: *#*[*]=,#,:[*]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
901
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
902 Cis_double_bond: */[D2]=[D2]\*
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
903 # only one single-bonded substituent on each DB-atom. no aromats.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
904 # only found when character of DB is explicitely stated.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
905
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
906 Trans_double_bond: */[D2]=[D2]/*
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
907 # analog
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
908
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
909 Mixed_anhydrides: [$(*=O),$([#16,#14,#5]),$([#7]([#6]=[OX1]))][#8X2][$(*=O),$([#16,#14,#5]),$([#7]([#6]=[OX1]))]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
910 # should hits all combinations of two acids
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
911
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
912 Halogen_on_hetero: [FX1,ClX1,BrX1,IX1][!#6]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
913
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
914 Halogen_multi_subst: [F,Cl,Br,I;!$([X1]);!$([X0-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
915 # Halogen which is not mono-substituted nor an anion, e.g. chlorate.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
916 # Most of these cases should be also filtered by Halogen_on_hetero.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
917
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
918 Trifluoromethyl: [FX1][CX4;!$([H0][Cl,Br,I]);!$([F][C]([F])([F])[F])]([FX1])([FX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
919 # C with three F attached, connected to anything which is not another halogen
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
920
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
921 C_ONS_bond: [#6]~[#7,#8,#16]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
922 # probably all drug-like molecules have at least one O, N, or S connected to a C -> nice filter
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
923
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
924 ## Mixture: (*).(*)
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
925 # two or more seperate parts, may also be salt
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
926 # component-level grouping is not yet supported in Open Babel Version 2.0
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
927
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
928
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
929 Charged: [!+0]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
930
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
931 Anion: [-1,-2,-3,-4,-5,-6,-7]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
932
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
933 Kation: [+1,+2,+3,+4,+5,+6,+7]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
934
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
935 Salt: ([-1,-2,-3,-4,-5,-6,-7]).([+1,+2,+3,+4,+5,+6,+7])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
936 # two or more seperate components with opposite charges
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
937
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
938 ##Zwitterion: ([-1,-2,-3,-4,-5,-6,-7].[+1,+2,+3,+4,+5,+6,+7])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
939 # both negative and positive charges somewhere within the same molecule.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
940
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
941 1,3-Tautomerizable: [$([#7X2,OX1,SX1]=*[!H0;!$([a;!n])]),$([#7X3,OX2,SX2;!H0]*=*),$([#7X3,OX2,SX2;!H0]*:n)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
942 # 1,3 migration of H allowed. Includes keto/enol and amide/enamide.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
943 # Aromatic rings must stay aromatic - no keto form of phenol
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
944
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
945 1,5-Tautomerizable: [$([#7X2,OX1,SX1]=,:**=,:*[!H0;!$([a;!n])]),$([#7X3,OX2,SX2;!H0]*=**=*),$([#7X3,OX2,SX2;!H0]*=,:**:n)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
946
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
947 Rotatable_bond: [!$(*#*)&!D1]-!@[!$(*#*)&!D1]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
948 # taken from http://www.daylight.com/support/contrib/smarts/content.html
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
949
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
950 Michael_acceptor: [CX3]=[CX3][$([CX3]=[O,N,S]),$(C#[N]),$([S,P]=[OX1]),$([NX3]=O),$([NX3+](=O)[O-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
951 # the classical case: C=C near carbonyl, nitrile, nitro, or similar
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
952 # Oxo-heteroaromats and similar are not included.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
953
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
954 Dicarbodiazene: [CX3](=[OX1])[NX2]=[NX2][CX3](=[OX1])
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
955 # Michael-like acceptor, see Mitsunobu reaction
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
956
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
957 # H-Bond_donor:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
958
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
959 # H-Bond_acceptor:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
960
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
961 # Pos_ionizable:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
962
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
963 # Neg_ionizable:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
964
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
965 # Unlikely_ions:
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
966 # O+,N-,C+,C-, ...
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
967
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
968 CH-acidic: [$([CX4;!$([H0]);!$(C[!#6;!$([P,S]=O);!$(N(~O)~O)])][$([CX3]=[O,N,S]),$(C#[N]),$([S,P]=[OX1]),$([NX3]=O),$([NX3+](=O)[O-]);!$(*[S,O,N;H1,H2]);!$([*+0][S,O;X1-])]),$([CX4;!$([H0])]1[CX3]=[CX3][CX3]=[CX3]1)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
969 # C-H alpha to carbony, nitro or similar, C is not double-bonded, only C, H, S,P=O and nitro substituents allowed.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
970 # pentadiene is included. acids, their salts, prim./sec. amides, and imides are excluded.
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
971 # hits also CH-acidic_strong
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
972
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
973 CH-acidic_strong: [CX4;!$([H0]);!$(C[!#6;!$([P,S]=O);!$(N(~O)~O)])]([$([CX3]=[O,N,S]),$(C#[N]),$([S,P]=[OX1]),$([NX3]=O),$([NX3+](=O)[O-]);!$(*[S,O,N;H1,H2]);!$([*+0][S,O;X1-])])[$([CX3]=[O,N,S]),$(C#[N]),$([S,P]=[OX1]),$([NX3]=O),$([NX3+](=O)[O-]);!$(*[S,O,N;H1,H2]);!$([*+0][S,O;X1-])]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
974 # same as above (without pentadiene), but carbonyl or similar on two or three sides
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
975
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
976 Chiral_center_specified: [$([*@](~*)(~*)(*)*),$([*@H](*)(*)*),$([*@](~*)(*)*),$([*@H](~*)~*)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
977 # Hits atoms with tetrahedral chirality, if chiral center is specified in the SMILES string
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
978 # depictmach does not find oxonium, sulfonium, or sulfoxides!
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
979
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
980 # Chiral_center_unspecified: [$([*@?](~*)(~*)(*)*),$([*@?H](*)(*)*),$([*@?](~*)(*)*),$([*@?H](~*)~*)]
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
981 # Hits atoms with tetrahedral chirality, if chiral center is not specified in the SMILES string
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
982 # "@?" (unspecified chirality) is not yet supported in Open Babel Version 2.0
dbb480e39d95 Uploaded
marcel
parents:
diff changeset
983