Mercurial > repos > marcel > caddsuite_linux_x86_64
comparison CADDSuite-1.6/data/bond_lengths/BondOrder.xml @ 17:25a03362403c draft
Uploaded
author | marcel |
---|---|
date | Sat, 15 Dec 2012 13:10:41 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
16:1a24aef40d01 | 17:25a03362403c |
---|---|
1 <?xml version="1.0" encoding="ISO-8859-1"?> | |
2 <table> | |
3 <!-- This file supplies improved penalty scores for different | |
4 atom types in bond type perception based on the work of | |
5 | |
6 Wang, J., Wang, W., Kollman P. A.; Case, D. A. "Automatic atom type and | |
7 bond type perception in molecular mechanical calculations". Journal of | |
8 Molecular Graphics and Modelling , 25, 2006, 247260 | |
9 | |
10 A penalty score of 0 means that the corresponding valence is optimal. | |
11 Note that the first matching entry is taken as the final atom type. | |
12 | |
13 Note that in the SMARTS strings we use atomic numbers rather than symbols (e.g. #8 instead of O). | |
14 The reason is that wrongly assigned aromatic bonds in the input would lead to failure to identify the | |
15 right rule! | |
16 --> | |
17 <!-- for charged H --> | |
18 <entry id="0"> | |
19 <elementstring>H</elementstring> | |
20 <smartstring>SMARTS([#1+])</smartstring> | |
21 <penalty valence="0">0</penalty> | |
22 </entry> | |
23 <entry id="1"> | |
24 <elementstring>H</elementstring> | |
25 <smartstring>SMARTS([#1])</smartstring> | |
26 <penalty valence="1">0</penalty> | |
27 </entry> | |
28 <entry id="2"> | |
29 <elementstring>F</elementstring> | |
30 <smartstring>SMARTS(F)</smartstring> | |
31 <penalty valence="0">64</penalty> | |
32 <penalty valence="1">0</penalty> | |
33 <penalty valence="2">64</penalty> | |
34 </entry> | |
35 <entry id="4"> | |
36 <elementstring>Br</elementstring> | |
37 <smartstring>SMARTS(Br)</smartstring> | |
38 <penalty valence="0">64</penalty> | |
39 <penalty valence="1">0</penalty> | |
40 <penalty valence="2">64</penalty> | |
41 </entry> | |
42 <entry id="5"> | |
43 <elementstring>I</elementstring> | |
44 <smartstring>SMARTS(I)</smartstring> | |
45 <penalty valence="0">64</penalty> | |
46 <penalty valence="1">0</penalty> | |
47 <penalty valence="2">64</penalty> | |
48 </entry> | |
49 <entry id="6"> <!-- SMARTS([CD1]~[ND2]) AND element(C)</smartstring> --> | |
50 <elementstring>C</elementstring> | |
51 <smartstring>SMARTS([$([#6D1](~[#7D2]))])</smartstring> | |
52 <penalty valence="3">0</penalty> | |
53 <penalty valence="4">1</penalty> | |
54 <penalty valence="5">32</penalty> | |
55 </entry> | |
56 <entry id="7"> | |
57 <elementstring>C</elementstring> | |
58 <smartstring>SMARTS([#6D1])</smartstring> | |
59 <penalty valence="3">1</penalty> | |
60 <penalty valence="4">0</penalty> | |
61 <penalty valence="5">32</penalty> | |
62 </entry> | |
63 <entry id="9"> | |
64 <elementstring>C</elementstring> | |
65 <smartstring>SMARTS([#6])</smartstring> | |
66 <penalty valence="2">64</penalty> | |
67 <penalty valence="3">32</penalty> | |
68 <penalty valence="4">0</penalty> | |
69 <penalty valence="5">32</penalty> | |
70 <penalty valence="6">64</penalty> | |
71 </entry> | |
72 <entry id="10"> | |
73 <elementstring>Si</elementstring> | |
74 <smartstring>SMARTS(Si)</smartstring> | |
75 <penalty valence="4">0</penalty> | |
76 </entry> | |
77 <entry id="11"> | |
78 <elementstring>N</elementstring> | |
79 <smartstring>SMARTS([$([#7D1](~[#7D2]))])</smartstring> <!--SMARTS([ND1]~[ND2]) AND SMARTS([ND1])</smartstring> --> | |
80 <penalty valence="2">0</penalty> | |
81 <penalty valence="3">0</penalty> | |
82 </entry> | |
83 <entry id="12"> | |
84 <elementstring>N</elementstring> | |
85 <smartstring>SMARTS([#7D1])</smartstring> | |
86 <penalty valence="2">3</penalty> | |
87 <penalty valence="3">0</penalty> | |
88 <penalty valence="4">32</penalty> | |
89 </entry> | |
90 <entry id="13"> | |
91 <elementstring>N</elementstring> | |
92 <smartstring>SMARTS([$([#7D2](~[#7D1]))])</smartstring> <!--SMARTS([ND1]~[ND2]) AND SMARTS([ND2])</smartstring> --> | |
93 <penalty valence="3">1</penalty> | |
94 <penalty valence="4">0</penalty> | |
95 </entry> | |
96 <entry id="14"> | |
97 <elementstring>N</elementstring> | |
98 <smartstring>SMARTS([#7D2])</smartstring> | |
99 <penalty valence="2">4</penalty> | |
100 <penalty valence="3">0</penalty> | |
101 <penalty valence="4">2</penalty> | |
102 </entry> | |
103 <entry id="151"><!-- for charged N in O == N+ __ O- --> | |
104 <elementstring>N</elementstring> | |
105 <smartstring>SMARTS([$([#7D3](~[#8D1-,#16D1-])~[#8D1,#16D1])])</smartstring> | |
106 <penalty valence="3">32</penalty> | |
107 <penalty valence="4">0</penalty> | |
108 <penalty valence="5">32</penalty> | |
109 <penalty valence="6">64</penalty> | |
110 </entry> | |
111 <entry id="15"> | |
112 <elementstring>N</elementstring> | |
113 <smartstring>SMARTS([$([#7D3](~[#8D1,#16D1])~[#8D1,#16D1])])</smartstring> | |
114 <penalty valence="3">64</penalty> | |
115 <penalty valence="4">32</penalty> | |
116 <penalty valence="5">0</penalty> | |
117 <penalty valence="6">32</penalty> | |
118 </entry> | |
119 <entry id="16"> | |
120 <elementstring>N</elementstring> | |
121 <!-- <smartstring>SMARTS([$(*OD1)&$(*aR)&n]) OR SMARTS([$(*OD1);$(*R);N])</smartstring> --> | |
122 <smartstring>SMARTS([$([#7D3](~[#8D1,#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1]))])</smartstring> | |
123 <penalty valence="3">1</penalty> | |
124 <penalty valence="4">0</penalty> | |
125 </entry> | |
126 <entry id="17"> | |
127 <elementstring>N</elementstring> | |
128 <smartstring>SMARTS([#7D3])</smartstring> | |
129 <penalty valence="2">32</penalty> | |
130 <penalty valence="3">0</penalty> | |
131 <penalty valence="4">1</penalty> | |
132 <penalty valence="5">2</penalty> | |
133 </entry> | |
134 <entry id="181"><!-- for charged N in N+ H_4 --> | |
135 <elementstring>N</elementstring> | |
136 <smartstring>SMARTS([#7D4+])</smartstring> | |
137 <penalty valence="3">32</penalty> | |
138 <penalty valence="4">0</penalty> | |
139 </entry> | |
140 <entry id="18"> | |
141 <elementstring>N</elementstring> | |
142 <smartstring>SMARTS([#7D4])</smartstring> | |
143 <penalty valence="2">64</penalty> | |
144 <penalty valence="3">0</penalty> | |
145 <penalty valence="4">64</penalty> | |
146 </entry> | |
147 <entry id="182"> | |
148 <elementstring>N</elementstring> | |
149 <smartstring>SMARTS([#7D5])</smartstring> | |
150 <penalty valence="5">0</penalty> | |
151 </entry> | |
152 <entry id="191"><!-- for charged O- --> | |
153 <elementstring>O</elementstring> | |
154 <smartstring>SMARTS([#8D1-])</smartstring> | |
155 <penalty valence="1">0</penalty> | |
156 <penalty valence="2">32</penalty> | |
157 </entry> | |
158 <entry id="192"> | |
159 <elementstring>O</elementstring> | |
160 <smartstring>SMARTS([$([#8D1](~[#6D3]~[#8D1,#16D1]))])</smartstring> | |
161 <penalty valence="1">0</penalty> | |
162 <penalty valence="2">0</penalty> | |
163 </entry> | |
164 <entry id="19"> | |
165 <elementstring>O</elementstring> | |
166 <smartstring>SMARTS([#7D3](~[#8D1,#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1])) AND element(O)</smartstring> | |
167 <penalty valence="1">0</penalty> | |
168 <penalty valence="2">1</penalty> | |
169 </entry> | |
170 <entry id="20"> | |
171 <elementstring>O</elementstring> | |
172 <smartstring> SMARTS([#8D1])</smartstring> | |
173 <penalty valence="1">1</penalty> | |
174 <penalty valence="2">0</penalty> | |
175 <penalty valence="3">64</penalty> | |
176 </entry> | |
177 <entry id="21"> | |
178 <elementstring>O</elementstring> | |
179 <smartstring>SMARTS([#8D2])</smartstring> | |
180 <penalty valence="1">32</penalty> | |
181 <penalty valence="2">0</penalty> | |
182 <penalty valence="3">64</penalty> | |
183 </entry> | |
184 <entry id="211"> | |
185 <elementstring>O</elementstring> | |
186 <smartstring>SMARTS([#8D3])</smartstring> | |
187 <penalty valence="3">0</penalty> | |
188 </entry> | |
189 <entry id="22"> | |
190 <elementstring>P</elementstring> | |
191 <smartstring>SMARTS(#15D1)</smartstring> | |
192 <penalty valence="2">2</penalty> | |
193 <penalty valence="3">0</penalty> | |
194 <penalty valence="4">32</penalty> | |
195 </entry> | |
196 <entry id="23"> | |
197 <elementstring>P</elementstring> | |
198 <smartstring>SMARTS(#15D2)</smartstring> | |
199 <penalty valence="2">4</penalty> | |
200 <penalty valence="3">0</penalty> | |
201 <penalty valence="4">2</penalty> | |
202 </entry> | |
203 <entry id="24"> | |
204 <elementstring>P</elementstring> | |
205 <smartstring>SMARTS(#15D3)</smartstring> | |
206 <penalty valence="2">32</penalty> | |
207 <penalty valence="3">0</penalty> | |
208 <penalty valence="4">1</penalty> | |
209 <penalty valence="5">2</penalty> | |
210 </entry> | |
211 <entry id="251"> | |
212 <elementstring>P</elementstring> | |
213 <!-- Note: this is _SLOW_ --> | |
214 <smartstring>SMARTS([$([#15D4](~[#8D1,#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1,#8D1-,#16D1-])(~[#8D1-,#16D1-]))])</smartstring> | |
215 <penalty valence="5">0</penalty> | |
216 <penalty valence="6">32</penalty> | |
217 </entry> | |
218 <entry id="25"> | |
219 <elementstring>P</elementstring> | |
220 <!-- Note: this is _SLOW_ --> | |
221 <smartstring>SMARTS([$([#15D4](~[#8D1,#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1])(~[#8D1,#16D1]))])</smartstring> | |
222 <penalty valence="5">32</penalty> | |
223 <penalty valence="6">0</penalty> | |
224 <penalty valence="7">32</penalty> | |
225 </entry> | |
226 <entry id="26"> | |
227 <elementstring>P</elementstring> | |
228 <smartstring>SMARTS([$([#15D4](~[#8D1,#16D1])(~[#8D1,#16D1])(~[#8D1,#16D1])(~[!#8&!#16,!D1]))])</smartstring> | |
229 <penalty valence="6">32</penalty> | |
230 <penalty valence="7">0</penalty> | |
231 </entry> | |
232 <entry id="27"> | |
233 <elementstring>P</elementstring> | |
234 <!-- This rule should be the last PD4 rule because it should only match when the other rules fail! --> | |
235 <smartstring>SMARTS(#15D4)</smartstring> | |
236 <penalty valence="3">64</penalty> | |
237 <penalty valence="4">1</penalty> | |
238 <penalty valence="5">0</penalty> | |
239 <penalty valence="6">32</penalty> | |
240 </entry> | |
241 <entry id="28"> | |
242 <elementstring>S</elementstring> | |
243 <smartstring>SMARTS([#7D3](~[#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1])) AND element(S)</smartstring> | |
244 <penalty valence="1">0</penalty> | |
245 <penalty valence="2">1</penalty> | |
246 </entry> | |
247 <entry id="291"> | |
248 <elementstring>S</elementstring> | |
249 <smartstring>SMARTS([$([#16D1](~[#6D3]~[#8D1,#16D1]))])</smartstring> | |
250 <penalty valence="1">0</penalty> | |
251 <penalty valence="2">0</penalty> | |
252 </entry> | |
253 <entry id="29"> | |
254 <elementstring>S</elementstring> | |
255 <smartstring>SMARTS([#16D1])</smartstring> | |
256 <penalty valence="1">2</penalty> | |
257 <penalty valence="2">0</penalty> | |
258 <penalty valence="3">64</penalty> | |
259 </entry> | |
260 <entry id="30"> | |
261 <elementstring>S</elementstring> | |
262 <smartstring>SMARTS([#16D2])</smartstring> | |
263 <penalty valence="1">2</penalty> | |
264 <penalty valence="2">0</penalty> | |
265 <penalty valence="3">64</penalty> | |
266 </entry> | |
267 <entry id="31"> | |
268 <elementstring>S</elementstring> | |
269 <smartstring>SMARTS([#16D3])</smartstring> | |
270 <penalty valence="3">1</penalty> | |
271 <penalty valence="4">0</penalty> | |
272 <penalty valence="5">2</penalty> | |
273 <penalty valence="6">2</penalty> | |
274 </entry> | |
275 <entry id="32"> | |
276 <elementstring>S</elementstring> | |
277 <smartstring> SMARTS([$([#16D4](~[#8D1,#16D1])(~[#8D1,#16D1])(~[!#8&!#16,!D1])(~[!#8&!#16,!D1]))])</smartstring> | |
278 <penalty valence="6">0</penalty> | |
279 <penalty valence="7">32</penalty> | |
280 </entry> | |
281 <entry id="331"><!--for a charged O in SO_4 --> | |
282 <elementstring>S</elementstring> | |
283 <smartstring>SMARTS([$([#16D4](~[#8D1-,#16D1-])(~[#8D1,#16D1])(~[#8D1,#16D1])(~[!#8&!#16,!D1]))])</smartstring> | |
284 <penalty valence="6">0</penalty> | |
285 </entry> | |
286 <entry id="33"> | |
287 <elementstring>S</elementstring> | |
288 <smartstring>SMARTS([$([#16D4](~[#8D1,#16D1])(~[#8D1,#16D1])(~[#8D1,#16D1])(~[!#8&!#16,!D1]))])</smartstring> | |
289 <penalty valence="6">32</penalty> | |
290 <penalty valence="7">0</penalty> | |
291 </entry> | |
292 <entry id="34"> | |
293 <elementstring>S</elementstring> | |
294 <smartstring>SMARTS([$([#16D4](~[#8D1,#16D1])(~[#8D1,#16D1])(~[#8D1,#16D1])(~[#8D1,#16D1]))])</smartstring> | |
295 <penalty valence="6">32</penalty> | |
296 <penalty valence="7">0</penalty> | |
297 </entry> | |
298 <entry id="35"> | |
299 <elementstring>S</elementstring> | |
300 <smartstring>SMARTS([#16D4])</smartstring> | |
301 <penalty valence="4">4</penalty> | |
302 <penalty valence="5">2</penalty> | |
303 <penalty valence="6">0</penalty> | |
304 </entry> | |
305 <entry id="36"> | |
306 <elementstring>S</elementstring> | |
307 <smartstring>SMARTS([#16D5])</smartstring> | |
308 <penalty valence="5">2</penalty> | |
309 <penalty valence="6">0</penalty> | |
310 </entry> | |
311 <!-- The following rules are added to cope with ions --> | |
312 <entry id="40"> | |
313 <elementstring>Li</elementstring> | |
314 <smartstring>SMARTS([#3])</smartstring> | |
315 <penalty valence="0">0</penalty> | |
316 </entry> | |
317 <entry id="41"> | |
318 <elementstring>Na</elementstring> | |
319 <smartstring>SMARTS([#11])</smartstring> | |
320 <penalty valence="0">0</penalty> | |
321 </entry> | |
322 <entry id="42"> | |
323 <elementstring>Mg</elementstring> | |
324 <smartstring>SMARTS([#12])</smartstring> | |
325 <penalty valence="0">0</penalty> | |
326 </entry> | |
327 <entry id="43"> | |
328 <elementstring>K</elementstring> | |
329 <smartstring>SMARTS([#19])</smartstring> | |
330 <penalty valence="0">0</penalty> | |
331 </entry> | |
332 <entry id="44"> | |
333 <elementstring>Ca</elementstring> | |
334 <smartstring>SMARTS([#20])</smartstring> | |
335 <penalty valence="0">0</penalty> | |
336 </entry> | |
337 <entry id="45"> | |
338 <elementstring>Cu</elementstring> | |
339 <smartstring>SMARTS([#29])</smartstring> | |
340 <penalty valence="0">0</penalty> | |
341 </entry> | |
342 <entry id="46"> | |
343 <elementstring>Zn</elementstring> | |
344 <smartstring>SMARTS([#30])</smartstring> | |
345 <penalty valence="0">0</penalty> | |
346 </entry> | |
347 <entry id="47"> | |
348 <elementstring>Fe</elementstring> | |
349 <smartstring>SMARTS([#26])</smartstring> | |
350 <penalty valence="0">0</penalty> | |
351 </entry> | |
352 <entry id="48"> | |
353 <elementstring>Cl</elementstring> | |
354 <smartstring>SMARTS([#17-])</smartstring> | |
355 <penalty valence="0">0</penalty> | |
356 </entry> | |
357 <entry id="49"> | |
358 <elementstring>Cl</elementstring> | |
359 <smartstring>SMARTS([#17])</smartstring> | |
360 <penalty valence="0">64</penalty> | |
361 <penalty valence="1">0</penalty> | |
362 <penalty valence="2">64</penalty> | |
363 <penalty valence="3">128</penalty> | |
364 <penalty valence="4">128</penalty> | |
365 </entry> | |
366 </table> |