data structure design question

Michael Zawrotny zawrotny at triangle.sb.fsu.edu
Thu Feb 17 09:02:13 EST 2000


On 17 Feb 2000 08:45:10 GMT, Thomas Hamelryck <thamelry at vub.ac.be> wrote:
> Felix Thibault <felixt at dicksonstreet.com> wrote:
> : Does this mean that I can use a graph to show which atoms are connected,
> : but I need to find some other way to show whether a bond
> : is a single or multiple bond...or else have nucleus-nodes inter-connected
> : by electron=pair-nodes ?
> 
> Yes. You can store the connectivity in a graph, but you
> need to find another way to store the information about the
> bonds. Everything depends of course on what you are trying to
> do. A data structure that will be used to draw simple chemical
> structures will of course be different from one that will be
> used to refine a protein structure.
> 
> One possible solution is to attach an atom type to each
> atom. You can then do a look up in a dictionary to find the
> information associated with a bond between two atoms of a
> certain type. This is e.g. done in the macromolecular modeling
> program X-PLOR.

One drawback to the X-PLOR approach (which I am familiar with
from having used it a bit) is the large number of atom types
that are eventually needed.  For example, the carbon atom
in formaldehyde will have a different atom type than the
two that are in ethylene and it may even be different than
the one in formamide.  In X-PLOR it is necessary to do that
to properly parameterize the atoms/bonds for high resolution
structure determination, but it may be overkill if the amount
of resolution you need is much less.

A first order approximation to this approach would be to still
have multiple atom types per element, but limit it to one for
each allowable hybridization state.  Using carbon as an example,
have one type each for sp, sp2 and sp3 hybridized orbitals
(acetylene, ethylene, and ethane respectively).  This will
let you capture the most important aspects of the geometry
(e.g. bond angles of approx. 180, 120 or 109.5 degrees)
without having an explosion of atom types.

Which approach you use, of course, depends on the specific
requirements of your application.


Mike

-- 
Michael Zawrotny
411 Molecular Biophysics Building
Florida State University		| email:  zawrotny at sb.fsu.edu
Tallahassee, FL 32306-4380		| phone:  (850) 644-0069



More information about the Python-list mailing list