1 |
############################################################################## |
2 |
# # |
3 |
# Open Babel file: atomtyp.txt # |
4 |
# # |
5 |
# Copyright (c) 1998-2001 by OpenEye Scientific Software, Inc. # |
6 |
# Some portions Copyright (c) 2001-2003 Geoffrey R. Hutchison # |
7 |
# Part of the Open Babel package, under the GNU General Public License (GPL)# |
8 |
# # |
9 |
# SMARTS patterns for atom typing (used by typer.cpp:OBAtomTyper) # |
10 |
# # |
11 |
# INTHYB: used to assign the internal hybridization values for atoms # |
12 |
# IMPVAL: used to assign the implicit valence of an atom # |
13 |
# EXTTYP: used to assign the external type of an atom for translation to # |
14 |
# package specific types (i.e. Sybyl Mol2) # |
15 |
# (these should correspond to INT type names in types.txt too.) # |
16 |
# # |
17 |
# The LAST PATTERN MATCHED is used to assign values with the corresponding # |
18 |
# INTHYB, IMPVAL, and EXTTYP values. Additions to this file should be placed # |
19 |
# in the EXTRA DEFINITIONS section (to separate from original patterns.) # |
20 |
# # |
21 |
############################################################################## |
22 |
|
23 |
INTHYB [C] 3 #sp3 carbon |
24 |
INTHYB [c,$(C=*)] 2 #sp2 carbon |
25 |
INTHYB [$([#6]([#8D1])[#8D1])] 2 #sp2 carbon |
26 |
INTHYB [$(C#*),$(C(=*)=*)] 1 #sp carbon |
27 |
INTHYB [N] 3 #sp3 nitrogen |
28 |
INTHYB [n,$(N=*),$(N[#6,#7,#8]=,:,#*)] 2 #sp2 nitrogen |
29 |
INTHYB [ND1,ND2,ND3]a 2 #sp2 nitrogen |
30 |
INTHYB [$(N#*),$([ND2](=*)=*)] 1 #sp nitrogen |
31 |
INTHYB [O] 3 #sp3 oxygen |
32 |
INTHYB [o,$(O=*),$(O[#6,#7,#8]=,:*)] 2 #sp2 oxygen |
33 |
INTHYB [$([#8D1][#6][#8D1])] 2 #sp2 oxygen |
34 |
INTHYB [$(O#*)] 1 #sp oxygen |
35 |
INTHYB [D4] 3 #any 4 valent atom |
36 |
|
37 |
INTHYB [P] 3 #sp3 phosphorus |
38 |
INTHYB [#15;$([PD1]=*)] 2 #sp2 phosphorus |
39 |
INTHYB [S] 3 #sp3 sulfur |
40 |
INTHYB [#16;s,$([SD1]=*)] 2 #sp2 sulfur |
41 |
INTHYB [B] 2 #sp2 boron |
42 |
INTHYB [BD4] 3 #sp3 boron |
43 |
# |
44 |
#IMPLICIT VALENCE RULES |
45 |
# |
46 |
IMPVAL [#6^3] 4 |
47 |
IMPVAL [#6^2] 3 |
48 |
IMPVAL [#6^1] 2 |
49 |
IMPVAL [#6^3-] 3 |
50 |
IMPVAL [#6^2-] 2 |
51 |
IMPVAL [#6^1-] 1 #CM for isocyanides |
52 |
IMPVAL [c+] 2 |
53 |
|
54 |
IMPVAL [#8^3] 2 |
55 |
IMPVAL [#8^2] 2 |
56 |
IMPVAL [$([#8]=*)] 1 |
57 |
IMPVAL [#8-] 1 |
58 |
IMPVAL [$([#8D1]~[#7D3]~[#8D1])] 1 |
59 |
IMPVAL [$([#8D1]~[#6]~[#8D1])] 1 |
60 |
# This is from JOELib -- add H to acidic oxygens |
61 |
IMPVAL [$([#8D1]-[#6]=[#8D1])] 2 |
62 |
# But don't add an H for pH-corrected formal-charge = -1 oxygens |
63 |
IMPVAL [$([#8D1-]-[#6]=[#8D1])] 1 |
64 |
|
65 |
IMPVAL [N^3] 3 |
66 |
IMPVAL [N^3+] 4 |
67 |
IMPVAL [N^2] 3 |
68 |
IMPVAL [N^2-,N^3-] 2 |
69 |
IMPVAL [ND1^1] 1 |
70 |
IMPVAL [ND2^1] 2 |
71 |
IMPVAL [$(N([OD1])*)] 3 |
72 |
IMPVAL [$(NC=O)] 3 |
73 |
IMPVAL [$(N(~[OD1])~[OD1])] 3 |
74 |
IMPVAL [$([Nr0]C=[Nr0])] 3 |
75 |
IMPVAL [$(N=*)] 2 |
76 |
#IMPVAL [$([Nr0]=C[Nr0])] 3 |
77 |
IMPVAL [$([Nr0]=C[Nr0])] 2 |
78 |
IMPVAL [$([#7D1-]=*)] 1 |
79 |
IMPVAL [n] 2 |
80 |
IMPVAL [n-] 2 |
81 |
IMPVAL [n+] 3 |
82 |
|
83 |
IMPVAL [#9D0] 1 |
84 |
IMPVAL [#9D0-] 0 #[F-] |
85 |
|
86 |
IMPVAL [#15D4] 4 |
87 |
IMPVAL [#15D3] 3 |
88 |
IMPVAL [#15D2] 3 |
89 |
IMPVAL [#15D1^3] 3 |
90 |
IMPVAL [#15D1^2] 3 |
91 |
IMPVAL [#15D0] 3 |
92 |
IMPVAL [$([#15]=[#6])] 2 |
93 |
IMPVAL [pD2] 2 |
94 |
IMPVAL [$([#15]=[#8])] 4 # phosphinate (double bond = one valence) |
95 |
|
96 |
IMPVAL [#16D4] 4 |
97 |
IMPVAL [#16D3] 3 |
98 |
IMPVAL [#16D2] 2 |
99 |
IMPVAL [$([#16D1]-*)] 2 |
100 |
IMPVAL [#16D1^2] 1 |
101 |
IMPVAL [s] 2 |
102 |
IMPVAL [#16D1-] 1 |
103 |
|
104 |
IMPVAL [#16D0] 2 |
105 |
IMPVAL [#17D0] 1 |
106 |
IMPVAL [#17D0-] 0 #[Cl-] |
107 |
IMPVAL [#35D0] 1 |
108 |
IMPVAL [#35D0-] 0 #[Br-] |
109 |
IMPVAL [#53D0] 1 |
110 |
IMPVAL [#53D0-] 0 #[I-] |
111 |
|
112 |
IMPVAL [#5] 3 |
113 |
IMPVAL [as] 3 |
114 |
# |
115 |
#EXTERNAL TYPE RULES |
116 |
# |
117 |
EXTTYP [#7^3] N3 |
118 |
EXTTYP [#7X4+] N3+ |
119 |
EXTTYP [#7^2] Npl |
120 |
EXTTYP [#7^1] N1 |
121 |
EXTTYP [$(N=*)] N2 |
122 |
EXTTYP [$([Nr0]C(=[Nr0])[Nr0])] Ng+ |
123 |
EXTTYP [$([Nr0]=C([Nr0])[Nr0])] Ng+ |
124 |
EXTTYP [$([ND1]=C[ND1])] Ng+ |
125 |
EXTTYP [$([ND1]C=[ND1])] Ng+ |
126 |
EXTTYP [$(N(O)*)] Nox |
127 |
EXTTYP [$(NC=[O,S])] Nam |
128 |
EXTTYP [$(N(~[OD1])~[OD1])] Ntr |
129 |
EXTTYP [n] Nar |
130 |
|
131 |
EXTTYP [#6^3] C3 |
132 |
EXTTYP [#6^2] C2 |
133 |
EXTTYP [$(C(=O)[OD1])] Cac |
134 |
EXTTYP [c] Car |
135 |
EXTTYP [#6^1] C1 |
136 |
EXTTYP [#6+] C+ |
137 |
EXTTYP [#6-] C- |
138 |
|
139 |
EXTTYP [#8^3] O3 |
140 |
EXTTYP [#8^2] O2 |
141 |
EXTTYP [$(Oa)] O2 |
142 |
#The following 2 lines used for correct Sybyl atom typing |
143 |
EXTTYP [$([OD2]C=[O,S])] O3 #ester oxygen |
144 |
EXTTYP [$(Oa)] O3 #aromatic ether |
145 |
EXTTYP [#8-] O- |
146 |
EXTTYP [$([#8D1]~[#6]~[#8D1])] O.co2 |
147 |
|
148 |
EXTTYP [#15] P |
149 |
EXTTYP [#15X4+] P3+ |
150 |
EXTTYP [#15;$([#15D4](~[OD1])(~[OD1])~[OD1])] Pac |
151 |
EXTTYP [#15;$([#15D3](~[OD1])~[OD1])] Pac |
152 |
|
153 |
EXTTYP [#16] S3 |
154 |
EXTTYP [#16D3+,#16X3+] S3+ |
155 |
EXTTYP [#16;s,$([SD1]=*)] S2 |
156 |
EXTTYP [#16D4;$(S(=O)(=O))] So2 |
157 |
EXTTYP [#16D3;$(S(=O))] Sox |
158 |
EXTTYP [#16;$([#16D4](~[OD1])(~[OD1])~[OD1])] Sac |
159 |
EXTTYP [#16;$([#16D3](~[OD1])~[OD1])] Sac |
160 |
|
161 |
EXTTYP [#5] B2 |
162 |
EXTTYP [#5D4] B3 |
163 |
|
164 |
######################## Add Extra Definitions Here ########################## |
165 |
|
166 |
|
167 |
############################# End Extra Definitions ########################## |
168 |
|