MTK++ Latest version: 0.2.0

atom.h
Go to the documentation of this file.
00001 
00033 #ifndef ATOM_H
00034 #define ATOM_H
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <vector>
00039 #include <math.h>
00040 #include <map>
00041 
00042 namespace MTKpp
00043 {
00044 
00045 class collection;
00046 class molecule;
00047 class submolecule;
00048 struct element;
00049 struct stdAtom;
00050 class vector3d;
00051 
00052 // ============================================================
00053 // Class : atom()
00054 // ------------------------------------------------------------
00101 // ============================================================
00102 
00103 class atom
00104 {
00105 public:
00106 
00112     atom(atom* pAt, submolecule *parent = 0);
00113 
00118     atom(submolecule *parent = 0);
00119 
00121     virtual ~atom();
00122 
00124     // - SET FUNCTIONS - //
00126 
00131     void                     setElement      (element* ele);
00132 
00137     void                     setName         (const std::string name);
00138 
00145     void                     setCoords       (const double& x,const double& y,const double& z);
00146 
00151     void                     setIndex        (const int& n); // internal molecule indexing
00152 
00157     void                     setColIndex     (const int& n); // internal collection indexing
00158 
00163     void                     setFileID       (const int& n); // input file indexing
00164 
00165     //void                    setX            (const double&);
00166     //void                    setY            (const double&);
00167     //void                    setZ            (const double&);
00168 
00173     void                     setAtomicNum    (const int& n);
00174 
00179     void                     setZcharge      (const double& n);
00180 
00185     void                     setFormalCharge (const int& n);
00186 
00191     void                     setValence(const int& n);
00192 
00197     void                     setHybridization(const int& i);
00198 
00203     void                     setType(const int& n);
00204 
00209     void                     setMengType(const std::string& n);
00210 
00215     void                     setOccupancy(const double& o);
00216 
00221     void                     setTempFactor(const double& b);
00222 
00227     void                     setHydrophilicity(const int& h);
00228 
00233     std::string              getMengType();
00234 
00240      void                     addProperty(const std::string& name, double value);
00241 
00247      void                     addProperty(const std::string& name, int value);
00248 
00249     //-------------------//
00250     // - MAP ITERATORS - //
00251     //-------------------//
00253     typedef std::map<std::string, double>::iterator   PropertyMapIterator;
00254 
00256     typedef std::map<std::string, int>::iterator      intPropertyMapIterator;
00257 
00258 
00259     //--------------------//
00260     // - MAP CONTAINERS - //
00261     //--------------------//
00262 
00264     std::map<std::string, double>                     itsPropertiesMap;
00265 
00267     std::map<std::string, int>                        itsIntPropertiesMap;
00268 
00270     // - GET FUNCTIONS - //
00272 
00277     element*                 getElement();
00278 
00283     std::string              getElementSymbol();
00284 
00289     std::string              getName();
00290 
00295     vector3d*                getCoords();
00296 
00301     int                      getIndex();
00302 
00307     int                      getColIndex();
00308 
00313     int                      getFileID();
00314 
00319     double                   getX();
00320 
00325     double                   getY();
00326 
00331     double                   getZ();
00332 
00337     submolecule*             getParent();
00338 
00343     int                      getAtomicNum();
00344 
00349     double                   getAtomicMass();
00350 
00355     double                   getZcharge();
00356 
00361     int                      getFormalCharge();
00362 
00367     int                      getValence();
00368 
00373     int                      getHybridization();
00374 
00379     int                      getType();
00380 
00385     int                      numBondedOxygens();
00386 
00387 public: // - functions
00388 
00394     double                   getProperty(const std::string& name);
00395 
00400     std::map<std::string, double> getPropertyMap();
00401 
00407     int                      getIntProperty(const std::string& name);
00408 
00413     std::map<std::string, int> getIntPropertyMap();
00414 
00420     bool                     hasProperty(const std::string& name);
00421 
00426     double                   getOccupancy();
00427 
00432     double                   getTempFactor();
00433 
00438     int                      getHydrophilicity();
00439 
00440 public: // - Molecular Mechanics functions
00441 
00446     void                     setStdAtom(stdAtom* a);
00447 
00452     stdAtom*                 getStdAtom();
00453 
00458     void                     addBondedAtom(atom* a);
00459 
00464     bool                     addBonded13Atom(atom* a);
00465 
00470     void                     addBonded14Atom(atom* a);
00471 
00475     std::vector<atom*>       bondedAtoms;
00476 
00480     std::vector<atom*>       bonded13Atoms;
00481 
00485     std::vector<atom*>       bonded14Atoms;
00486 
00491     std::vector<atom*>       getBondedAtoms();
00492 
00497     std::vector<atom*>       getBondedHeavyAtoms();
00498 
00503     int                      getNumBonds();
00504 
00509     int                      getNum13Bonds();
00510 
00515     int                      getNum14Bonds();
00516 
00521     bool                     hasBondedAtom(atom* a);
00522 
00527     bool                     has13BondedAtom(atom* a);
00528 
00533     std::vector<atom*>       get13BondedAtoms();
00534 
00539     bool                     has14BondedAtom(atom* a);
00540 
00545     std::vector<atom*>       get14BondedAtoms();
00546 
00547 protected:
00548 
00550     submolecule*             pParent;
00551 
00553     element*                 pElement;
00554 
00556     std::string              itsElement;
00557 
00559     std::string              itsName;
00560 
00562     vector3d*                pCoords;
00563 
00565     int                      itsCollectionIndex;
00566 
00568     int                      itsIndex;
00569 
00571     int                      itsFileId;
00572 
00574     int                      itsAtomicNum;
00575 
00577     double                   itsZcharge;
00578 
00580     int                      itsFormalCharge;
00581 
00583     int                      itsValence;
00584 
00597     int                      itsHybridization;
00598 /*
00599 
00600 used to be:
00601        - 0 = undefined
00602        - 1 = sp3
00603        - 2 = sp2
00604        - 3 = sp
00605        - 4 = s
00606        - 5 = other
00607 
00608 http://chemistry.boisestate.edu/rbanks/inorganic/bonding%20and%20hybridization/bonding_hybridization.htm
00609 http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/idatm.html
00610 http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/vdwrad.html
00611 
00612 linear                                  sp              BeF2, CO2
00613 trigonal planar                 sp2             BF3, CO32-
00614 tetrahedral                             sp3             CH4, SO42-
00615 trigonal bipyramidal    sp3d    PF5
00616 octahedral                              sp3d2   F6
00617 
00618 One thing that students should be careful about as far as hybridization is concerned is that 
00619 elements in row 2 (carbon, nitrogen, oxygen, and fluorine) must NEVER exceed their octets. 
00620 That is, they should never have more than four bonds. Elements in row 3 and lower do on occasion 
00621 exceed their octets, and they can do this by bringing in d-orbitals when they hybridize. Thus, 
00622 phosphorus (but never nitrogen) can use one of its 3d orbitals to make five sp3d hybrids (leading 
00623 to five substituents and trigonal bipyramidal molecular geometry), and sulfur (but never oxygen) 
00624 can use two 3d orbitals to make six sp3d2 hybrids (leading to six bonds and octahedral geometry).
00625 */
00626 
00639     int                      itsType;
00640 
00641     /*
00642        MMFF94 Atom Types
00643          Name   Num   CN   FC    Description
00644         - CR      1   [4]        Alkyl Carbon
00645         - C=C     2   [3]        Vinylic C
00646         - CSP2    2   [3]        Generic sp2 C
00647         - C=0     3   [3]        Generic Carbonyl C [3]
00648         - C=N     3   [3]        Imine-type C   [3]
00649         - CGD     3   [3]        Guanidine C    [3]
00650         - C=OR    3   [3]        Ketone or Aldehyde Carbonyl C [3]
00651         - C=ON    3   [3]        Amdide Carbonyl C [3]
00652         - COO     3   [3]        Carboxylic acid or ester carbonyl carbon [3]
00653         - COON    3   [3]        Carbamate carbonyl C [3]
00654         - COOO    3   [3]        Carbonic acid or ester carbonyl C [3]
00655         - C=OS    3   [3]        Thioester carbonyl C double bonded to O [3]
00656         - C=S     3   [3]        Thioester carbonyl C double bonded to S [3]
00657         - C=SN    3   [3]        Thioamide C, double bonded to S [3]
00658         - CSO2    3   [3]        C in > C=SO2 [3]
00659         - CS=O    3   [3]        Sulfinyl C in > C=S=O [3]
00660         - CSS     3   [3]        Thiocarboxylic acid or ester C [3]
00661         - C=P     3   [3]        C doubly bonded to P [3]
00662         - CSP     4   [2]        Acetylenic C [2]
00663         - =C=     4   [2]        Allenic C [2]
00664         - HC      5   [1]        H attached to C [1]
00665         - HSI     5   [1]        H attached to Si [1]
00666         - -O-     6   [2]        Generic divalent O [2]
00667         - OR      6   [2]        Ether O [2]
00668         - OC=O    6   [2]        Carboxylic acid or ester O [2]
00669         - OC=C    6   [2]        Enolic or phenolic O [2]
00670         - OC=N    6   [2]        O in -O-C=N- moiety [2]
00671         - OC=S    6   [2]        divalent O in thioacid or ester [2]
00672         - ONO2    6   [2]        divalent nitrate (ether) O [2]
00673         - ON=O    6   [2]        divalent nitrate (ether) O [2]
00674         - OSO3    6              divalent O in sulfate
00675         - OSO2    6              divalent O in sulfite
00676         - OSO     6   [2]        one of two divalent O attached to S
00677         - OS=O    6   [2]        divalent O in R(RO)S=O
00678         - -OS     6   [2]        other divalent oxygen attached to S
00679         - OPO3    6   [2]        divalent O in phosphate group
00680         - OPO2    6   [2]        divalent O in phosphite group
00681         - OPO     6              divalent O, one of the 2 Os attached to P
00682         - -OP     6              Other divalent O attached to P
00683         - O=C     7   [1]        Generic carbonyl O
00684         - O=CN    7   [1]        Carbonyl O in amides
00685         - O=CR    7   [1]        Carbonyl O in aldehydes and ketones
00686         - O=CO    7   [1]        Carbonyl O in acids and esters
00687         - O=N     7   [1]        Nitroso O
00688         - O=S     7   [1]        Doubly bonded sulfoxide O
00689         - O=S=    7   [1]        O=S on S doubly bonded to e.g., C
00690         - NR      8   [3]        Amine N
00691         - N=C     9   [2]        Imine N
00692         - N=N     9   [2]        Azo group N
00693         - NC=O   10   [3]        Amide N
00694         - NC=S   10   [3]        Thioamide N
00695         - NN=C   10   [3]        N in N-N=C moiety with deloc. lp
00696         - NN=N   10   [3]        N in N-N=N moiety with deloc. lp
00697         - F      11   [1]        Fluorine
00698         - Cl     12   [1]        Chlorine
00699         - Br     13   [1]        Bromine
00700         - I      14   [1]        Iodine
00701         - S      15   [2]        Thiol, sulfide, or disulfide S
00702         - S=C    16              S doubly bonded to C
00703         - S=O    17   [3]        Sulfoxide S
00704         - >S=N   17              tricoordinate S doubly bonded to N
00705         - SO2    18   [4]        Sulfone S
00706         - SO2N   18   [4]        Sulfonamide S
00707         - SO3    18   [4]        Sulfonate group S
00708         - SO4    18   [4]        Sulfate group S
00709         - =SO2   18              Sulfone S, doubly bonded to C
00710         - SNO    18              Sulfur in nitrogen analog of a sulfone
00711         - SI     19   [4]        Silicon
00712         - CR4R   20   [4]        Aliphatic C in 4-mem ring
00713         - HOR    21   [1]        Hydroxyl H in alcohols
00714         - HO     21   [2]        Generic hydroxyl hydrogen
00715         - CR3R   22   [4]        Aliphatic carbon in 3-mem ring
00716         - HNR    23   [1]        Generic H on sp3 N, e.g. in amines
00717         - HPYL   23   [1]        H on N in pyrrole
00718         - H3N    23   [1]        H in ammonia
00719         - HNOX   23   [1]        H on N in a N-oxide
00720         - HOCO   24   [1]        Hydroxyl H in carboxylic acids
00721         - HOP    24   [1]        Hydroxyl H in H-O-P moiety
00722         - PO4    25   [4]        Phosphate group P
00723         - PO3    25   [4]        P with 3 attached Os
00724         - PO2    25   [4]        P with 2 attached Os
00725         - PO     25   [4]        Phosphine oxide P
00726         - PTET   25   [4]        General tetracoordinate phoshorus
00727         - P      26   [3]        Phosphorus in phosphines
00728         - HN=C   27   [1]        H on imine N
00729         - HN=N   27   [1]        H on azo N
00730         - HNCO   28   [1]        H on amide N
00731         - HNCS   28   [1]        H on thioamide N
00732         - HNCC   28   [1]        H on emamine N
00733         - HNCN   28   [1]        H in H-N-C=N moiety
00734         - HNNC   28   [1]        H in H-N-N=C moiety
00735         - HNNN   28   [1]        H in H-N-N=N moiety
00736         - HNSO   28   [1]        H on NSO, NSO2, or NSO3 N
00737         - HNC%   28   [1]        H on N triply bonded to C [1]
00738         - HSP2   28   [1]        Generic H on sp3 N [1]
00739         - HOCC   29   [1]        Enolic or phenolic hydroxyl H [1]
00740         - HOCN   29   [1]        Hydroxyl H in HO-C=N moiety [1]
00741         - CR4E   30   [3]        Olefinic C in 4-mem ring [3]
00742         - HOH    31              Hydroxyl H in water
00743         - O2CM   32   [1] {-1/2} O in carboxylate group 
00744         - ONX    32   [1]        O in N-Oxides
00745         - O=N    32   [1]        O in nitroso group
00746         - O2N    32   [1]        O in nitro group
00747         - O2NO   32   [1]        Nitro-group O in nitrate
00748         - O3N    32   [1] {-1/3} Nitrate anion O
00749         - O-S    32   [1]        Single terminal O on tetrahedral S
00750         - O2S    32   [1]  {var} One of 2 terminal O's on S
00751         - O3S    32   [1]  {var} One of 3 terminal O's on S
00752         - O4S    32   [1] {-1/2} Terminal O in sulfate anion
00753         - OSMS   32   [1] {-1/2} Terminal O in thiosulfinate anion
00754         - OP     32   [1]        Oxygen in phosphine oxide
00755         - O2P    32   [1]  {var} One of 2 terminal O's on P
00756         - O3P    32   [1]  {var} One of 3 terminal O's on P
00757         - O4P    32   [1]  {var} One of 4 terminal O's on P
00758         - O4Cl   32   [1] {-1/4} O in perchlorate anion
00759         - HOS    33   [1]        H on O attached to S
00760         - NR+    34   [4]    {1} Quaternary N
00761         - OM     35   [1]   {-1} Oxide O on sp3 C
00762         - OM2    35   [1]   {-1} Oxide O in sp2 C
00763         - HNR+   36   [1]        H on quaternary N
00764         - HIM+   36   [1]        H on imidazolium N
00765         - HPD+   36   [1]        H on pyridinium N
00766         - HNN+   36   [1]        H on amidinium N
00767         - HNC+   36   [1]        H on protonated imine N
00768         - HGD+   36   [1]        H on guanidinium N
00769         - CB     37   [3]        Aromatic C e.g. in benzene
00770         - NPYD   38   [2]        Aromatic N with sigma lp
00771         - NPYL   39   [2]        Aromatic 5-ring N with pi lp
00772         - NC=C   40   [3]        Enamine or aniline N, deloc. lp [3]
00773         - NC=N   40   [3]        N in N-C=N [3]
00774         - ////NC=N     40 N in N-C=P
00775         - NC%C   40   [3]        N attached to C-C triple bond
00776         - CO2M   41   [3]        C in carboxylate anion
00777         - CS2M   41   [3]        C in thiocarboxylate anion
00778         - NSP    42   [1]        Triply bonded N
00779         - NSO2   43   [3]        Sulfonamide N
00780         - NSO3   43   [3]        Sulfonamide N
00781         - NC%N   43   [3]        N attached to cyano group
00782         - STHI   44   [2]        Aromatic 5-ring sulfur with pi lone pair
00783         - NO2    45   [3]        N in nitro group
00784         - NO3    45   [3]        N in nitrate group
00785         - N=O    46   [2]        Nitrogen in nitroso group
00786         - NAZT   47   [1]        Terminal N in azido or diazo group
00787         - NSO    48   [2]        Divalent N replacing monovalent O in SO2 group
00788         - O+     49   [3]    {1} Oxonium O
00789         - HO+    50   [1]        H on oxonium O
00790         - O=+    51   [2]    {1} Oxenium O
00791         - HO=+   52   [1]        H on oxenium O
00792         - =N=    53   [2]        Central N in C=N=N or N=N=N
00793         - N+=C   54   [3]    {1} Iminium N
00794         - N+=N   54   [3]    {1} +ve N doubly bonded to N
00795         - NCN+   55   [3]  {1/2} Either N in N+=C-N
00796         - NGD+   56   [3]  {1/3} Guanidinium N
00797         - CGD+   57   [3]        Guanidinium C 
00798         - CNN+   57   [3]        C in +N=C-N: resonance structure
00799         - NPD+   58   [3]    {1} Aromatic N in pyridinium
00800         - OFUR   59   [2]        Aromatic 5-ring O with pi lone pair
00801         - C%-    60   [1]        Isonitrile C
00802         - NR%    61   [2]        Isonitrile N
00803         - NM     62   [2]   {-1} Anionic divalent N
00804         - C5A    63   [2]        Aromatic 5-ring C, alpha to N, O, or S
00805         - C5B    64   [2]        Aromatic 5-ring C, beta to N, O, or S
00806         - N5A    65   [2]        Aromatic 5-ring N, alpha to N, O, or S
00807         - N5B    66   [2]        Aromatic 5-ring N, beta to N, O, or S
00808         - N2OX   67   [3]        sp2-hybridized N-oxide N
00809         - N3OX   68   [4]        sp3-hybridized N-oxide N
00810         - NPOX   69   [3]        Pyridinium N-oxide N
00811         - OH2    70   [2]        O in water
00812         - HS     71   [1]        H attached to S
00813         - HS=N   71   [1]        H attached to >S= Sulfur double bonded to N
00814         - HP     71   [1]        H attached to P
00815         - S-P    72   [1]        Terminal S bonded to P
00816         - SM     72   [1]   {-1} Anionic terminal S
00817         - SSMO   72   [1] {-1/2} Terminal S in thiosulfinate group
00818         - SO2M   73   [3]        S in anionic sulfinate group
00819         - SSOM   73   [3]        Tricoordinate S in anionic thiosulfinate group
00820         - =S=O   74              Sulfinyl S e.g. in C=S=O
00821         - -P=C   75   [3]        P doubly bonded to C
00822         - N5M    76   [2]  {var} N in 5-ring aromatic anion
00823         - CLO4   77   [4]        Perchlorate anion chlorine
00824         - C5     78   [3]        General C in 5-mem heteroaromatic ring
00825         - N5     79   [2]        General N in 5-mem heteroaromatic ring
00826         - CIM+   80              Aromatic C between N's in imidazolium
00827         - NIM+   81   [3]  {1/2} Aromatic N in imidazolium
00828         - N5A+   81   [3]    {1} +ve N in 5-ring alpha position
00829         - N5B+   81   [3]    {1} +ve N in 5-ring beta position
00830         - N5+    81   [3]    {1} +ve N in other 5-ring position
00831         - N5AX   82   [3]        N-oxide N in 5-ring alpha position
00832         - N5BX   82   [3]        N-oxide N in 5-ring beta position
00833         - N5OX   82   [3]        N-oxide N in other 5-ring position
00834         - FE+2   87   [0]    {2} Dipositive iron cation
00835         - FE+3   88   [0]    {3} Tripositive iron cation
00836         - F-     89   [0]   {-1} Floride anion
00837         - CL-    90   [0]   {-1} Chloride anion
00838         - BR-    91   [0]   {-1} Bromide anion
00839         - LI+    92   [0]    {1} Li cation
00840         - NA+    93   [0]    {1} Na cation
00841         - K+     94   [0]    {1} Dipositive K
00842         - ZN+2   95   [0]    {2} Dipositive Zn
00843         - CA+2   96   [0]    {2} Dipositive Ca
00844         - CU+1   97   [0]    {1} Monopositive Cu
00845         - CU+2   98   [0]    {2} Dipositive Cu
00846         - MG+2   99   [0]    {2} Dipositive Mg
00847 
00848        GAFF Atom Types
00849          Name Hybridization  Description
00850         - c   sp2            Sp2 C carbonyl group
00851         - c1  sp             Sp C
00852         - c2  sp2            Sp2 C
00853         - c3  sp3            Sp3 C
00854         - ca  sp2            Sp2 C in pure aromatic systems
00855         - cp  sp2            Head Sp2 C that connect two rings in biphenyl sys
00856         - cq  sp2            Head Sp2 C that connect two rings in biphenyl sys. identical to cp
00857         - cc  sp2            Sp2 carbons in non-pure aromatic systems
00858         - cd  sp2            Sp2 carbons in non-pure aromatic systems, identical to cc
00859         - ce  sp2            Inner Sp2 carbons in conjugated systems
00860         - cf  sp2            Inner Sp2 carbons in conjugated systems, identical to ce
00861         - cg  sp             Inner Sp carbons in conjugated systems
00862         - ch  sp             Inner Sp carbons in conjugated systems, identical to cg
00863         - cx  sp3            Sp3 carbons in triangle systems
00864         - cy  sp3            Sp3 carbons in square systems
00865         - cu  sp2            Sp2 carbons in triangle systems
00866         - cv  sp2            Sp2 carbons in square systems
00867         - n   sp2            Sp2 nitrogen in amide groups
00868         - n1  sp             Sp N
00869         - n2  sp2            aliphatic Sp2 N with two connected atoms
00870         - n3  sp3            Sp3 N with three connected atoms
00871         - n4  sp3            Sp3 N with four connected atoms
00872         - na  sp2            Sp2 N with three connected atoms
00873         - nb  sp2            Sp2 N in pure aromatic systems
00874         - nc  sp2            Sp2 N in non-pure aromatic systems
00875         - nd  sp2            Sp2 N in non-pure aromatic systems, identical to nc
00876         - ne  sp2            Inner Sp2 N in conjugated systems
00877         - nf  sp2            Inner Sp2 N in conjugated systems, identical to ne
00878         - nh  sp3            Amine N connected one or more aromatic rings
00879         - no  sp2            Nitro N
00880         - o   sp2            Oxygen with one connected atom
00881         - oh  sp3            Oxygen in hydroxyl group
00882         - os  sp3            Ether and ester oxygen
00883         - ow  sp3            Oxygen in water
00884         - p2  sp3d           Phosphate with two connected atoms
00885         - p3  sp3d           Phosphate with three connected atoms, such as PH3
00886         - p4  sp3d           Phosphate with three connected atoms, such as O=P(CH3)2
00887         - p5  sp3d           Phosphate with four connected atoms, such as O=P(OH)3
00888         - pb  sp2            Sp2 P in pure aromatic systems
00889         - pc  sp2            Sp2 P in non-pure aromatic systems
00890         - pd  sp2            Sp2 P in non-pure aromatic systems, identical to pc
00891         - pe  sp2            Inner Sp2 P in conjugated systems
00892         - pf  sp2            Inner Sp2 P in conjugated systems, identical to pe
00893         - px  sp2            Special p4 in conjugated systems
00894         - py  sp2            Special p5 in conjugated systems
00895         - s   sp2            S with one connected atom
00896         - s2  sp2            S with two connected atom, involved at least one double bond
00897         - s4  sp2            S with three connected atoms
00898         - s6  sp3            S with four connected atoms
00899         - sh  sp3            Sp3 S connected with hydrogen
00900         - ss  sp3            Sp3 S in thio-ester and thio-ether
00901         - sx  sp2            Special s4 in conjugated systems
00902         - sy  sp2            Special s6 in conjugated systems
00903         - h1                 H bonded to aliphatic carbon with 1 electrwd. group
00904         - h2                 H bonded to aliphatic carbon with 2 electrwd. group
00905         - h3                 H bonded to aliphatic carbon with 3 electrwd. group
00906         - h4                 H bonded to non-sp3 carbon with 1 electrwd. group
00907         - h5                 H bonded to non-sp3 carbon with 2 electrwd. group
00908         - ha                 H bonded to aromatic carbon
00909         - hc                 H bonded to aliphatic carbon without electrwd. group
00910         - hn                 H bonded to nitrogen atoms
00911         - ho                 Hydroxyl group
00912         - hp                 H bonded to phosphate
00913         - hs                 Hydrogen bonded to sulphur
00914         - hw                 Hydrogen in water
00915         - hx                 H bonded to C next to positively charged group
00916         - f                  Fluorine
00917         - cl                 Chlorine
00918         - br                 Bromine
00919         - i                  Iodine
00920 
00921        Meng/Chimera Atom Types
00922          Type  Description
00923         - C3   sp3-hybridized Carbon
00924         - C2   sp2-hybridized Carbon
00925         - Car  aromatic Carbon **
00926         - Cac  carboxylate Carbon
00927         - C1   sp-hybridized Carbon
00928         - N3+  sp3-hybridized Nitrogen, formal +ve charge
00929         - N3   sp3-hybridized Nitrogen, neutral
00930         - N2   sp2-hybridized, double bonded or aromatic N **
00931         - Npl  sp2-hybridized but not double bonded N (planar) **
00932         - Ng+  Guanidinium Nitrogen, partial +ve charge
00933         - Ntr  Nitro Nitrogen
00934         - Nox  N-oxide Nitrogen
00935         - N1   sp-hybridized Nitrogen
00936         - O3   sp3-hybridized Oxygen
00937         - O2   sp2-hybridized Oxygen
00938         - Oar  aromatic O **
00939         - O3-  resonance-equivalent terminal oxygen on tetrahedral center (phosphate, sulfate, etc) **
00940         - O2-  resonance-quivalent terminal oxygen on planar center (carboxylate, nitro, nitrate) **
00941         - S3+  sp3-hybridized Sulfur, formal +ve charge
00942         - S3   sp3-hybridized Sulfur, neutral
00943         - S2   sp2-hybridized Sulfur
00944         - Sac  sulfate, sulfonate, or sulfamate Sulfur
00945         - Son  sulfone sulfur (>SO2) **
00946         - Sxd  sulfoxide sulfur (>SO) **
00947         - S    other Sulfur
00948         - Bac  borate Boron
00949         - Box  other oxidized Boron
00950         - B    other Boron
00951         - P3+  sp3-hybridized Phosphorous, formal +ve charge
00952         - Pac  phosphate, phosphonate, or phosphamate Phosphorous
00953         - Pox  P-oxide Phosphorous
00954         - P    other Phosphorous
00955         - HC   Hydrogen bonded to Carbon
00956         - H    other Hydrogen
00957     */
00958     std::string              itsMengType;
00959 
00977     int                      itsHydrophilicity;
00978 
00982     double                   itsOccupancy;
00983 
00987     double                   itsTempFactor;
00988 
00989 protected: // - Molecular Mechanics data
00991     stdAtom*                 pStdAtom;
00992 
00993 };
00994 
00995 } // MTKpp namespace
00996 
00997 #endif // ATOM_H
00998 
00999 

Generated on Fri Dec 23 2011 09:28:49 for MTK++ by Doxygen 1.7.5.1