[MMTK] atom connectivity

Paul D Soper Paul.D.Soper@USA.dupont.com
Mon, 22 Apr 2002 12:57:47 -0400


The ultra low-tech answer is simply to create a molecule file (a python
script) for the molecule you want to add.  The format is in the
documentation.  Here is a simple example:


name = "ethane"

structure = r"""
C1 - C2
"""

C1    = Atom('C')
C2    = Atom('C')
H1_1  = Atom('H')
H1_2  = Atom('H')
H1_3  = Atom('H')
H2_1  = Atom('H')
H2_2  = Atom('H')
H2_3  = Atom('H')

bonds = [
    Bond(C1 , C2),
    Bond(C1 , H1_1),
    Bond(C1 , H1_2),
    Bond(C1 , H1_3),
    Bond(C2 , H2_1),
    Bond(C2 , H2_2),
    Bond(C2 , H2_3),
    ]

pdbmap = [('ETH', {
    'C1'  : C1,
    'C2'  : C2,
   '1H1'  : H1_1,
   '2H1'  : H1_2,
   '3H1'  : H1_3,
   '1H2'  : H2_1,
   '2H2'  : H2_2,
   '3H2'  : H2_3,
    })]

configurations = {}

configurations['default'] = Cartesian({
    C1    : ( -0.764*Ang,   0.000*Ang,   0.000*Ang),
    C2    : (  0.764*Ang,   0.000*Ang,   0.000*Ang),
    H1_1  : ( -1.130*Ang,   0.459*Ang,   0.919*Ang),
    H1_2  : ( -1.130*Ang,   0.566*Ang,  -0.857*Ang),
    H1_3  : ( -1.130*Ang,  -1.025*Ang,  -0.062*Ang),
    H2_1  : (  1.130*Ang,  -0.566*Ang,   0.857*Ang),
    H2_2  : (  1.130*Ang,  -0.459*Ang,  -0.919*Ang),
    H2_3  : (  1.130*Ang,   1.025*Ang,   0.062*Ang),
    })

amber_atom_type = {
    C1    : 'CT',
    C2    : 'CT',
    H1_1  : 'HC',
    H1_2  : 'HC',
    H1_3  : 'HC',
    H2_1  : 'HC',
    H2_2  : 'HC',
    H2_3  : 'HC',
    }

# Constraints:
#     total charge = +0
#     C1 = C2
#     H1_1 = H1_2 = H1_3 = H2_1 = H2_2 = H2_3
esp_charge = {
    C1    :  0.08281,
    C2    :  0.08281,
    H1_1  : -0.02760,
    H1_2  : -0.02760,
    H1_3  : -0.02760,
    H2_1  : -0.02760,
    H2_2  : -0.02760,
    H2_3  : -0.02760,
    }

amber_charge = esp_charge


The esp charges come from Konrad's charge fitting program applied to the output of a Gaussian job (see the documentation).





Konrad Hinsen <hinsen@cnrs-orleans.fr>@starship.python.net on 04/22/2002
07:29:58

Sent by:    mmtk-admin@starship.python.net


To:    "Michael Sorich" <mike_sorich@hotmail.com>
cc:    <mmtk@starship.python.net>
Subject:    Re: [MMTK] atom connectivity


"Michael Sorich" <mike_sorich@hotmail.com> writes:

> I have a small molecule (not in the database) which I have loaded from a
> pdb file. I am trying to find out what atoms are bonded to an atom. When
> I call the bondedTo() function of an atom object, I am returned an empty
> list. Am I using the correct function? Is it possible to access

Yes, but you are asking for information that is not available. When
you construct a model from a PDB file, real molecule (or group)
objects can only be built for molecules/groups that are in the
database. For everything else you get AtomCluster objects, which just
group some atoms together, but contain no information about bonds,
atom types, force field parameters etc.

> connectivity information for an arbitary molecule with no database
> entry?

No, because the connectivity information comes from the database.
MMTK does not try to guess it from the positions.

Konrad.
--
-------------------------------------------------------------------------------

Konrad Hinsen                            | E-Mail: hinsen@cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.56.24
Rue Charles Sadron                       | Fax:  +33-2.38.63.15.17
45071 Orleans Cedex 2                    | Deutsch/Esperanto/English/
France                                   | Nederlands/Francais
-------------------------------------------------------------------------------

_______________________________________________
mmtk maillist  -  mmtk@starship.python.net
http://starship.python.net/mailman/listinfo/mmtk