############################################################################## # # # Open Babel file: atomtyp.txt # # # # Copyright (c) 1998-2001 by OpenEye Scientific Software, Inc. # # Some portions Copyright (c) 2001-2003 Geoffrey R. Hutchison # # Part of the Open Babel package, under the GNU General Public License (GPL)# # # # SMARTS patterns for atom typing (used by typer.cpp:OBAtomTyper) # # # # INTHYB: used to assign the internal hybridization values for atoms # # IMPVAL: used to assign the implicit valence of an atom # # EXTTYP: used to assign the external type of an atom for translation to # # package specific types (i.e. Sybyl Mol2) # # (these should correspond to INT type names in types.txt too.) # # # # The LAST PATTERN MATCHED is used to assign values with the corresponding # # INTHYB, IMPVAL, and EXTTYP values. Additions to this file should be placed # # in the EXTRA DEFINITIONS section (to separate from original patterns.) # # # ############################################################################## INTHYB [D4] 3 #any 4 valent atom INTHYB [C] 3 #sp3 carbon INTHYB [c,$(C=*)] 2 #sp2 carbon INTHYB [$([#6]([#8D1])[#8D1])] 2 #sp2 carbon INTHYB [$(C#*),$(C(=*)=*)] 1 #sp carbon INTHYB [N] 3 #sp3 nitrogen INTHYB [n,$(N=*),$(N[#6,#7,#8]=,:,#*)] 2 #sp2 nitrogen INTHYB [ND1,ND2,ND3]a 2 #sp2 nitrogen INTHYB [$(N#*),$([ND2](=*)=*)] 1 #sp nitrogen INTHYB [O] 3 #sp3 oxygen INTHYB [o,$(O=*),$(O[#6,#7,#8]=,:*)] 2 #sp2 oxygen INTHYB [$([#8D1][#6][#8D1])] 2 #sp2 oxygen INTHYB [$(O#*)] 1 #sp oxygen INTHYB [P] 3 #sp3 phosphorus INTHYB [#15;$([PD1]=*)] 2 #sp2 phosphorus INTHYB [S] 3 #sp3 sulfur INTHYB [#16;s,$([SD1]=*)] 2 #sp2 sulfur INTHYB [B] 2 #sp2 boron INTHYB [BD4] 3 #sp3 boron # #IMPLICIT VALENCE RULES # IMPVAL [#6^3] 4 IMPVAL [#6^2] 3 IMPVAL [#6^1] 2 IMPVAL [#6^3-] 3 IMPVAL [#6^2-] 2 IMPVAL [#6^1-] 1 #CM for isocyanides IMPVAL [c+] 2 IMPVAL [#8] 2 IMPVAL [#8-] 1 IMPVAL [#8+] 3 IMPVAL [$([#8]=*)] 1 IMPVAL [N^3] 3 IMPVAL [N^3+] 4 IMPVAL [N^2] 3 IMPVAL [N^2-,N^3-] 2 IMPVAL [ND1^1] 1 IMPVAL [ND2^1] 2 IMPVAL [$(N([OD1])*)] 3 IMPVAL [$(NC=O)] 3 IMPVAL [$(N(~[OD1])~[OD1])] 3 IMPVAL [$([Nr0]C=[Nr0])] 3 IMPVAL [$(N=*)] 2 #IMPVAL [$([Nr0]=C[Nr0])] 3 IMPVAL [$([Nr0]=C[Nr0])] 2 IMPVAL [$([#7D1-]=*)] 1 IMPVAL [n] 2 IMPVAL [n-] 2 IMPVAL [n+] 3 IMPVAL [#9D0] 1 IMPVAL [#9D0-] 0 #[F-] IMPVAL [#14] 4 IMPVAL [#15D4] 4 IMPVAL [#15D3] 3 IMPVAL [#15D2] 3 IMPVAL [#15D1^3] 3 IMPVAL [#15D1^2] 3 IMPVAL [#15D0] 3 IMPVAL [$([#15]=[#6])] 2 IMPVAL [pD2] 2 IMPVAL [$([#15]=[#8])] 4 # phosphinate (double bond = one valence) IMPVAL [#16D4] 4 IMPVAL [#16D3] 3 IMPVAL [#16D2] 2 IMPVAL [$([#16D1]-*)] 2 IMPVAL [#16D1^2] 1 IMPVAL [s] 2 IMPVAL [#16D1-] 1 IMPVAL [#16D0] 2 IMPVAL [#17D0] 1 IMPVAL [#17D0-] 0 #[Cl-] IMPVAL [#35D0] 1 IMPVAL [#35D0-] 0 #[Br-] IMPVAL [#53D0] 1 IMPVAL [#53D0-] 0 #[I-] IMPVAL [#5] 3 IMPVAL [as] 3 # #EXTERNAL TYPE RULES # EXTTYP [#7^3] N3 EXTTYP [#7X4+] N3+ EXTTYP [#7^2] Npl EXTTYP [#7^1] N1 EXTTYP [$(N=*)] N2 EXTTYP [$([Nr0]C(=[Nr0])[Nr0])] Ng+ EXTTYP [$([Nr0]=C([Nr0])[Nr0])] Ng+ EXTTYP [$([ND1]=C[ND1])] Ng+ EXTTYP [$([ND1]C=[ND1])] Ng+ EXTTYP [$(N(O)*)] Nox EXTTYP [$(NC=[O,S])] Nam EXTTYP [$(N(~[OD1])~[OD1])] Ntr EXTTYP [n] Nar EXTTYP [#6^3] C3 EXTTYP [#6^2] C2 EXTTYP [$(C(=O)[OD1])] Cac EXTTYP [c] Car EXTTYP [#6^1] C1 EXTTYP [#6+] C+ EXTTYP [#6-] C- EXTTYP [#8^3] O3 EXTTYP [#8^2] O2 EXTTYP [$(Oa)] O2 #The following 2 lines used for correct Sybyl atom typing EXTTYP [$([OD2]C=[O,S])] O3 #ester oxygen EXTTYP [$(Oa)] O3 #aromatic ether EXTTYP [#8-] O- EXTTYP [$([#8D1]~[#6]~[#8D1])] O.co2 EXTTYP [#15] P EXTTYP [#15X4+] P3+ EXTTYP [#15;$([#15D4](~[OD1])(~[OD1])~[OD1])] Pac EXTTYP [#15;$([#15D3](~[OD1])~[OD1])] Pac EXTTYP [#16] S3 EXTTYP [#16D3+,#16X3+] S3+ EXTTYP [#16;s,$([SD1]=*)] S2 EXTTYP [#16D4;$(S(=O)(=O))] So2 EXTTYP [#16D3;$(S(=O))] Sox EXTTYP [#16;$([#16D4](~[OD1])(~[OD1])~[OD1])] Sac EXTTYP [#16;$([#16D3](~[OD1])~[OD1])] Sac EXTTYP [#5] B2 EXTTYP [#5D4] B3 ######################## Add Extra Definitions Here ########################## ############################# End Extra Definitions ##########################