//
// Copyright (C) 2009 by Frank Peters <e.a.j.f.peters@tue.nl>
// 
// This is a SMARTS template-file for GAFF-atom types
//
// It is attempted to obey the typing given in the "ATOMTYPE_GFF.DEF"
// file included with the antechamber package of amber10.
// There is no 1-to-1 correspondence between the ATD format and SMARTS.
// Therefore the current definitions need to be tested and possibly changed
//
//
//
// GAFF atomtypes defined using SMARTS 
// [SMARTS] [atomtype id number] [description]
// must be sorted according to the ELEMENT and COMPLEXITY OF THE TYPERULE!
//
// Be careful lines do not exceed the maximum length of 80!

atom [*]                X
atom [#1X1]             ha    "other hydrogen e.g. on aromatic C"
atom [#1X1][CX4]        hc    "hydrogen on aliphatic C"
// "hydrogen on aliphatic C with 1 ewd"
atom [#1X1][CX4][#7,#8,#16,#17,#35,#53]        h1  
// "hydrogen on aliphatic C with 2 ewd"
atom [#1X1][CX4]([#7,#8,#16,#17,#35,#53])[#7,#8,#16,#17,#35,#53]  h2  
// "hydrogen on aliphatic C with 3 ewd"
atom [#1X1][CX4]([#7,#8,#16,#17,#35,#53])([#7,#8,#16,#17,#35,#53])[#7,#8] h3
atom [#1X1][CX4]([#7,#8,#16,#17,#35,#53])([#7,#8,#16,#17,#35,#53])[#16,#17] h3
atom [#1X1][CX4]([#7,#8,#16,#17,#35,#53])([#7,#8,#16,#17,#35,#53])[#35,#53] h3
// "hydrogen on sp2 C with 1 ewd"
atom [#1X1][#6X3][#7,#8,#16,#17,#35,#53]                            h4  
// "hydrogen on sp2 C with 2 ewd"
atom [#1X1][#6X3]([#7,#8,#16,#17,#35,#53])[#7,#8,#16,#17,#35,#53]   h5  
atom [#1X1][#6](N)(N)(N)N hx  ""
atom [#1X1]O            ho    "hydrogen on oxygen"
atom [#1X1][Oh1]        hw    "hydrogen on water"
atom [#1X1]N            hn    "nitrogen"
atom [#1X1]S            hs    "sulphur"
atom [#1X1]P            hp    "phosphor"
atom [#6X4]             c3    "other sp3 C"
atom [#6X4r3]           cx    "3-membered ring atom"
atom [#6X4r4]           cy    "4-membered ring atom"
atom [#6X3]             c2    "other sp2 C"
atom [#6X3]=[O,S]       c     "C=O or C=S"
atom [#6X3](N)(N)N      cz    ""
atom [#6X3;R](=*)-*=*   cc    "inner sp2 C of conjugated ring systems"
atom [#6X3;R](=*)-*#*   cc    "inner sp2 C of conjugated ring systems"
atom [#6X3;R](#*)-*#*   cc    "inner sp2 C of conjugated ring systems"
atom [#6X3;!R](=*)-*=*  ce    "inner sp2 C of conjugated ring systems"
atom [#6X3;!R](#*)-*=*  ce    "inner sp2 C of conjugated ring systems"
atom [#6X3;!R](#*)-*#*  ce    "inner sp2 C of conjugated ring systems"
atom [cr6](c)(c)c       cp    "bridge aromatic c in byphenyl system"
atom [#6X3r3]           cu    "sp2 carbon in a 3-membered ring"
atom [#6X3r4]           cv    "sp2 carbon in a 4-membered ring"
atom [c]                ca    "pure aromatic atom"
atom [#6X2]             c1    "other sp C"
atom [#6X2](=*)-*=*     cg    "sp C of conjugated system"
atom [#6X2](#*)-*=*     cg    "sp C of conjugated system"
atom [#6X2](#*)-*#*     cg    "sp C of conjugated system"
atom [#6X1]             c1    "other sp C"

atom [F]*               f    (-*) "general fluorine"
atom [Cl]*              cl   (-*) "general chlorine"
atom [Br]*              br   (-*) "general bromine"
atom [I]*               i    (-*) "general iodine"

atom [#15X1]            p2    "other sp2 P"
atom [#15X2]            p2    "other sp2 P"
atom [#15X2;R](=*)-*=*  pc    "inner sp2 P of conjugated ring systems"
atom [#15X2;R](=*)-*#*  pc    "inner sp2 P of conjugated ring systems"
atom [#15X2;R](#*)-*#*  pc    "inner sp2 P of conjugated ring systems"
atom [#15X2;!R](=*)-*=* pe    "inner sp2 P of conjugated chain system"
atom [#15X2;!R](=*)-*#* pe    "inner sp2 P of conjugated chain system"
atom [#15X2;!R](#*)-*#* pe    "inner sp2 P of conjugated chain system"
atom [#15;a]            pb    "aromatic P"
atom [#15X3]            p3    "other sp3 P"
atom [#15X3](=*)-*=*    px    "sp2 P of conjugated system"
atom [#15X3](=*)-*#*    px    "sp2 P of conjugated system"
atom [#15X3]=[O,S]      p4    "hypervalent P"
atom [#15X4]            p5    "hypervalent P"
atom [#15X4](=*)-*=*    py    "P of conjugated system"
atom [#15X4](=*)-*#*    py    "P of conjugated system"
atom [#15X5]            p5    "hypervalent P"
atom [#15X6]            p5    "hypervalent P"

atom [#7X1]             n1    "sp1 N"

atom [#7X2]             n2    "sp2 N"
atom [#7X2](=*)=*       n1    "sp1 N"
atom [#7X2](-*)#*       n1    "sp1 N"
atom [#7X2;R](=*)-*=*   nc    "inner sp2 N of conjugated ring systems"
atom [#7X2;R](=*)-*#*   nc    "inner sp2 N of conjugated ring systems"
atom [#7X2;R](#*)-*#*   nc    "inner sp2 N of conjugated ring systems"
atom [#7X2;!R](=*)-*=*  ne    "inner sp2 N of conjugated chain system"
atom [#7X2;!R](=*)-*#*  ne    "inner sp2 N of conjugated chain system"
atom [#7X2;!R](#*)-*#*  ne    "inner sp2 N of conjugated chain system"
atom [nX2]              nb    "aromatic N"

atom [#7X3]             n3    "sp3 N"
atom [#7X3]a            nh    "amine N connected to aromatic ring"
atom [#7X3]=[CX3]       nh    ""
atom [#7X3]=[N2]        nh    ""
atom [#7X3]=[P2]        nh    ""
atom [#7X3]-[CX3]=[O,S] n     "sp2 N in amides"
atom [#7X3](O)O         no    "N in nitro group"
atom [nX3]              na    "aromatic N"

atom [#7X4]             n4    "sp3 N"

atom [OX1]              o     "sp2 O"
atom [OX2]              os    "sp3 O in esters and ethers"
atom [OX3]              os    "sp3 O in esters and ethers"
atom [OX2H]             oh    "sp3 O in hydroxyl group"
atom [OX3H]             oh    "sp3 O in hydroxyl group"

atom [SX1]              s     ""
atom [SX2]              ss    "sp3 sulphur"
atom [SX2]=*            s2    "sp2 sulphur"
atom [SX2]#*            s2    "sp2 sulphur"
atom [SX2H]            sh    "sp3 S in thiol"
atom [SX3]              s4    "hypervalent S"
atom [SX3](=*)-*=*      sx    "conjugated S"
atom [SX3](=*)-*#*      sx    "conjugated S"
atom [SX4]              s6    "hypervalent S"
atom [SX4](=*)-*=*      sy    "conjugated S"
atom [SX4](=*)-*#*      sy    "conjugated S"
atom [SX5]              s6    "hypervalent S"
atom [SX6]              s6    "hypervalent S"

atom [He]               He    ""
atom [Li]               Li    ""
atom [Be]               Be    ""
atom [B]                B     ""
atom [Ne]               Ne    ""
atom [Na]               Na    ""
atom [Mg]               Mg    ""
atom [Al]               Al    ""
atom [Si]               Si    ""
atom [Ar]               Ar    ""
atom [K]                K     ""
atom [Ca]               Ca    ""
atom [Sc]               Sc    ""
atom [Ti]               Ti    ""
atom [V]                V     ""
atom [Cr]               Cr    ""
atom [Mn]               Mn    ""
atom [Fe]               Fe    ""
atom [Co]               Co    ""
atom [Ni]               Ni    ""
atom [Cu]               Cu    ""
atom [Zn]               Zn    ""
atom [Ga]               Ga    ""
atom [Ge]               Ge    ""
atom [As]               As    ""
atom [Se]               Se    ""
atom [Kr]               Kr    ""
atom [Rb]               Rb    ""
atom [Sr]               Sr    ""
atom [Y]                Y     ""
atom [Zr]               Zr    ""
atom [Nb]               Nb    ""
atom [Mo]               Mo    ""
atom [Tc]               Tc    ""
atom [Ru]               Ru    ""
atom [Rh]               Rh    ""
atom [Pd]               Pd    ""
atom [Ag]               Ag    ""
atom [Cd]               Cd    ""
atom [In]               In    ""
atom [Sn]               Sn    ""
atom [Sb]               Sb    ""
atom [Te]               Te    ""
atom [Xe]               Xe    ""
atom [Cs]               Cs    ""
atom [Ba]               Ba    ""
atom [La]               La    ""
atom [Ce]               Ce    ""
atom [Pr]               Pr    ""
atom [Nd]               Nd    ""
atom [Pm]               Pm    ""
atom [Sm]               Sm    ""
atom [Eu]               Eu    ""
atom [Gd]               Gd    ""
atom [Tb]               Tb    ""
atom [Dy]               Dy    ""
atom [Ho]               Ho    ""
atom [Er]               Er    ""
atom [Tm]               Tm    ""
atom [Yb]               Yb    ""
atom [Lu]               Lu    ""
atom [Hf]               Hf    ""
atom [Ta]               Ta    ""
atom [W]                W     ""
atom [Re]               Re    ""
atom [Os]               Os    ""
atom [Ir]               Ir    ""
atom [Pt]               Pt    ""
atom [Au]               Au    ""
atom [Hg]               Hg    ""
atom [Tl]               Tl    ""
atom [Pb]               Pb    ""
atom [Bi]               Bi    ""
atom [Po]               Po    ""
atom [At]               At    ""
atom [Rn]               Rn    ""
atom [Fr]               Fr    ""
atom [Ra]               Ra    ""
atom [Ac]               Ac    ""
atom [Th]               Th    ""
atom [Pa]               Pa    ""
atom [U]                U     ""
atom [Np]               Np    ""
atom [Pu]               Pu    ""
atom [Am]               Am    ""
atom [Cm]               Cm    ""
atom [Bk]               Bk    ""
atom [Cf]               Cf    ""
atom [Es]               Es    ""
atom [Fm]               Fm    ""
atom [Md]               Md    ""
atom [No]               No    ""
atom [Lr]               Lr    ""
