comparison CADDSuite-1.6/data/OpenBabel/atomtyp.txt @ 8:dbb480e39d95 draft

Uploaded
author marcel
date Sat, 15 Dec 2012 13:15:46 -0500
parents
children
comparison
equal deleted inserted replaced
7:bfab27640f5e 8:dbb480e39d95
1 ##############################################################################
2 # #
3 # Open Babel file: atomtyp.txt #
4 # #
5 # #
6 # Copyright (c) 1998-2001 by OpenEye Scientific Software, Inc. #
7 # Some portions Copyright (c) 2001-2008 Geoffrey R. Hutchison #
8 # Part of the Open Babel package, under the GNU General Public License (GPL)#
9 # #
10 # SMARTS patterns for atom typing (used by typer.cpp:OBAtomTyper) #
11 # #
12 # INTHYB: used to assign the internal hybridization values for atoms #
13 # IMPVAL: used to assign the implicit valence of an atom #
14 # EXTTYP: used to assign the external type of an atom for translation to #
15 # package specific types (i.e. Sybyl Mol2) #
16 # (these should correspond to INT type names in types.txt too.) #
17 # #
18 # The LAST PATTERN MATCHED is used to assign values with the corresponding #
19 # INTHYB, IMPVAL, and EXTTYP values. Additions to this file should be placed #
20 # in the EXTRA DEFINITIONS section (to separate from original patterns.) #
21 # #
22 ##############################################################################
23
24 INTHYB [D4] 3 #any 4-valent atom -- tetrahedral
25 INTHYB [D5] 5 #any 5-valent atom -- trigbipy
26 INTHYB [D6] 6 #any 6-valent atom -- oct
27 INTHYB [C] 3 #sp3 carbon
28 INTHYB [c,$(C=*)] 2 #sp2 carbon
29 # INTHYB [$([#6]([#8D1])[#8D1])] 2 # Commented out after PR#3089597
30 INTHYB [$(C#*),$(C(=*)=*)] 1 #sp carbon
31
32 INTHYB [N] 3 #sp3 nitrogen
33 INTHYB [n,$(N=*),$(N[#6,#7,#8]=,:,#*)] 2 #sp2 nitrogen
34 INTHYB [ND1,ND2,ND3]a 2 #sp2 nitrogen
35 INTHYB [$(N#*),$([ND2](=*)=*)] 1 #sp nitrogen
36
37 INTHYB [O] 3 #sp3 oxygen
38 INTHYB [o,$(O=*),$(O[#6,#7,#8]=,:*)] 2 #sp2 oxygen
39 INTHYB [$([#8D1][#6][#8D1])] 2 #sp2 oxygen
40 INTHYB [$(O#*)] 1 #sp oxygen
41
42 INTHYB [P] 3 #sp3 phosphorus
43 INTHYB [#15;$([PD1]=*)] 2 #sp2 phosphorus
44 INTHYB [PD5] 5 #sp3d phosphorus, as in PF5
45 INTHYB [Pv5] 5 #sp3d phosphorus, as in H3PO4
46 INTHYB [S] 3 #sp3 sulfur
47 INTHYB [#16;s,$([SD1]=*)] 2 #sp2 sulfur
48 INTHYB [SD6] 6 #sp3d2 sulfur, as in SF6
49 INTHYB [B] 2 #sp2 boron
50 INTHYB [BD4] 3 #sp3 boron
51
52 INTHYB [Al] 2 # typical sp2 Al (and family)
53 INTHYB [Ga] 2
54 INTHYB [In] 2
55 INTHYB [Tl] 2
56 INTHYB [AlD4] 3 # sp3 Al
57 INTHYB [Si] 3 # sp3 Si (and family)
58 INTHYB [Pb] 3
59 INTHYB [Ge;!D5] 3
60 INTHYB [Sn;!D5] 3
61 INTHYB [AsD3] 3 # AsCl3 (AsCl5 handled by D5 above)
62 INTHYB [SbD3] 3 #
63 # SbD5, AsD5 are all trigbpy so are handled by D5 above
64 INTHYB [BiD3] 3 #
65 INTHYB [BiD5] 6 # BiF5 is square-pyr, not trigbpy
66
67 INTHYB [se] 2 # aromatic sp2 Se
68 INTHYB [Se] 3 # sp3 hybridization Se (and family)
69 INTHYB [Te] 3
70 INTHYB [Po] 3
71
72 INTHYB [Be] 1 # Alkaline earth, like sp hybrids
73 INTHYB [Mg] 1
74 INTHYB [Ca] 1
75 INTHYB [Sr] 1
76 INTHYB [Ba] 1
77 INTHYB [Ra] 1
78
79 #INTHYB [Pt] 4 # normally square planar
80 #INTHYB [Pd] 4
81 #INTHYB [Cu] 4
82 #INTHYB [Ag] 4
83 #INTHYB [Au] 4
84
85 #
86 #IMPLICIT VALENCE RULES
87 #
88 #IMPVAL [#3,#11,#19,#37,#55,#87] 1 # Alkali metals
89 #IMPVAL [#4,#12,#20,#38,#56,#88] 2 # Alkaline earth
90
91 IMPVAL [#5+] 2
92 IMPVAL [#5-] 4
93 IMPVAL [#5] 3 # Generic boron
94 IMPVAL [$([#6+]=*)] 2
95 IMPVAL [$([#6+]#*)] 1 # just for InChI C2
96
97 IMPVAL [#6^3] 4
98 IMPVAL [#6^2] 3
99 IMPVAL [#6^1] 2
100 IMPVAL [#6^3+] 3
101 IMPVAL [#6^2+] 2
102 IMPVAL [#6^1+] 1
103
104 IMPVAL [#6^3-] 3
105 IMPVAL [#6^2-] 2
106 IMPVAL [#6^1-] 1 # isocyanides, CO (valence=1, bond order=3)
107 IMPVAL [c+] 2
108
109 IMPVAL [N^3] 3
110 IMPVAL [N^3+] 4
111 IMPVAL [N^2] 3
112 #IMPVAL [N^2-,N^3-] 2
113 IMPVAL [ND1^1] 1
114 IMPVAL [ND2^1] 2
115 IMPVAL [$(N([OD1])*)] 3
116 IMPVAL [$(NC=O)] 3
117 #IMPVAL [$(n(c=O)c=O)] 3 # aromatic diimide
118 IMPVAL [$(N(~[OD1])~[OD1])] 3
119 IMPVAL [$([Nr0]C=[Nr0])] 3
120 IMPVAL [$(N=*)] 2
121 #IMPVAL [$([Nr0]=C[Nr0])] 3
122 IMPVAL [$([Nr0]=C[Nr0])] 2
123 IMPVAL [$([N+r0]=C[Nr0])] 3 # patch from Steve Constable
124 IMPVAL [$([#7D1-]=*)] 1
125 IMPVAL [N^1-] 1 # N2O [N-]=[N+]=O (valence=1, bondorder=2)
126 IMPVAL [N-] 2
127 IMPVAL [n] 2
128 IMPVAL [n-] 2
129 IMPVAL [n+] 3
130 IMPVAL [$([#7-]=*)] 1
131 IMPVAL [$([#7+]#*)] 2
132 IMPVAL [$([#7+]=*)] 3
133 IMPVAL [$([#7+](=*)=*)] 2
134
135 IMPVAL [$([#8+]#*)] 1
136
137 IMPVAL [#8] 2 # Generic O
138 IMPVAL [#8-] 1
139 IMPVAL [#8-2] 0
140 IMPVAL [#8+] 3
141 IMPVAL [$([#8]=*)] 1
142 IMPVAL [#8^1+] 1 # carbon monoxide
143
144 IMPVAL [#9D0] 1
145 IMPVAL [#9D0-] 0 #[F-]
146
147 IMPVAL [#13] 3 # generic Al
148
149 IMPVAL [#14] 4 # regular sp3 Si
150 IMPVAL [#14^2] 2 # silylenes
151 IMPVAL [$([#14]=*)] 3 # e.g., Si=O
152 IMPVAL [$([#14](=*)=*)] 0 # e.g., Si(=O)=O
153 IMPVAL [$([#14+]#*)] 1 # just for InChI Si2
154 IMPVAL [$([#14-]#*)] 1 # just for InChI Si2
155
156 IMPVAL [#15D4] 4
157 IMPVAL [#15D3] 3
158 IMPVAL [#15D2] 3
159 IMPVAL [#15D1^3] 3
160 IMPVAL [#15D1^2] 3
161 IMPVAL [#15D0] 3
162 IMPVAL [$([#15]=[#6])] 2
163 IMPVAL [pD2] 2
164 IMPVAL [$([#15]=[#8])] 4 # phosphinate (double bond = one valence)
165 IMPVAL [$([#15](=[#8])=[#8])] 3 # metaphosphate (double bond = one valence)
166 IMPVAL [$([#15+](=[#8])([#8]))] 0 # R-P+O2
167
168 IMPVAL [#16] 2 #revised CM April 2008
169 IMPVAL [$([#16D1]=*)] 1
170 IMPVAL [$([#16D3](=O)(=O)-O)] 4 #e.g. O[S](=O)=O
171 IMPVAL [$([#16D2](=O)-O)] 3 # e.g. O[S]=O
172 IMPVAL [#16D1-] 1
173
174 IMPVAL [#17D0] 1
175 IMPVAL [#17D0-] 0 #[Cl-]
176
177 IMPVAL [#31] 3
178 IMPVAL [#32] 4
179
180 IMPVAL [#33] 3
181 IMPVAL [as] 3
182
183 IMPVAL [#34] 2
184
185 IMPVAL [#35D0] 1
186 IMPVAL [#35D0-] 0 #[Br-]
187
188 #IMPVAL [#49,#81] 3 # In, Tl, like Ga
189 #IMPVAL [#50,#82] 4 # Sn, Pb, like Ge
190 #IMPVAL [#51,#83] 3 # Sb, Bi, like As
191
192 IMPVAL [#52] 2
193 IMPVAL [#53D0] 1
194 IMPVAL [#53D0-] 0 #[I-]
195
196 #
197 #EXTERNAL TYPE RULES
198 #
199
200 # Tinker OH hydrogens for MM2
201 # Fixes PR# 1839274
202 EXTTYP [#1][#8] HO
203
204 EXTTYP [#7^3] N3
205 EXTTYP [#7X4] N3+
206 EXTTYP [#7^2] Npl
207 EXTTYP [#7^1] N1
208 EXTTYP [$(N=*)] N2
209 EXTTYP [$([Nr0]C(=[Nr0])[Nr0])] Ng+
210 EXTTYP [$([Nr0]=C([Nr0])[Nr0])] Ng+
211 EXTTYP [$([ND1]=C[ND1])] Ng+
212 EXTTYP [$([ND1]C=[ND1])] Ng+
213 EXTTYP [$(N(O)*)] Nox
214 EXTTYP [$(NC=[O,S])] Nam
215 EXTTYP [$(N(~[OD1])~[OD1])] Ntr
216 EXTTYP [n] Nar
217
218 EXTTYP [#6^3] C3
219 EXTTYP [#6^2] C2
220 EXTTYP [$(C(=O)[OD1])] Cac
221 EXTTYP [c] Car
222 EXTTYP [#6^1] C1
223 EXTTYP [#6+] C+
224 EXTTYP [#6-] C-
225
226 EXTTYP [#8^3] O3
227 EXTTYP [#8^2] O2
228 EXTTYP [$(Oa)] O2
229 #The following 2 lines used for correct Sybyl atom typing
230 EXTTYP [$([OD2]C=[O,S])] O3 #ester oxygen
231 EXTTYP [$(Oa)] O3 #aromatic ether
232 EXTTYP [#8-] O-
233 EXTTYP [$([#8D1]~[#6^2]~[#8D1])] O.co2
234
235 EXTTYP [#15] P
236 EXTTYP [#15X4+] P3+
237 EXTTYP [#15;$([#15D4](~[OD1])(~[OD1])~[OD1])] Pac
238 EXTTYP [#15;$([#15D3](~[OD1])~[OD1])] Pac
239
240 EXTTYP [#16] S3
241 EXTTYP [#16D3+,#16X3+] S3+
242 EXTTYP [#16;s,$([SD1]=*)] S2
243 EXTTYP [#16D4;$(S(=O)(=O))] So2
244 EXTTYP [#16D3;$(S(=O))] Sox
245 EXTTYP [#16;$([#16D4](~[OD1])(~[OD1])~[OD1])] Sac
246 EXTTYP [#16;$([#16D3](~[OD1])~[OD1])] Sac
247
248 EXTTYP [#5] B2
249 EXTTYP [#5D4] B3
250
251 ######################## Add Extra Definitions Here ##########################
252
253 #INTHYB [U] 3
254 #INTHYB [W] 3
255 #INTHYB [Mo] 6 # for development
256 #INTHYB [Cr] 5 # for development
257
258 ############################# End Extra Definitions ##########################
259