Subject: Molecular transformation language

From: Daniel Svozil <[email-masked]>
Date: Fri, 18 Apr 2003 13:37:12 +0200

Hi,

I am doing some calculations with the molecules differently oriented
each to other and a lot of time takes to prepare the coordinate files
for those system. So I started looking for some possibility how to
automatize this process as much as possible. 

Do you know, is there any programming language or library of the existing
language that offers this functionality?

Here are some my ideas what should such a system include:
- easy, but powerful way how to select atoms for the transformations
  (e.g. select the whole backbone, select all waters in system, select
  atoms number 1,3,6, select atoms that are not further than 3 angstroms
  from the given atom/point, select all carbons, etc., etc.)
- some sort of clever coordinate systems, so I can say e.g. rotate this
  H atom in H2O around the axis defined by thos OH bond, etc. 
- the possibility to read/wite at least PDB, XYZ would be also nice
- possibility to calculate different geometric characteristics (bond
  lenghts, angles, dihedrals) for the given set of atoms
- simple molecular viewer to check the transformed system (e.g. just
  wireframe, with scene rotation/translation/zooming, with the
  possibility to measure lengths/angles/dihedrals)
- the language should be interpreted, not compiled

So far I went through VMD, PyMol, NAB and currently I am ivestigating
MMTK package. VMDs functionality is much broader and I didn't figure
out, how to perform some transformation tasks, though I am sure it can
be done. PyMol has very poor documentation, especially transformation
procedure seem to be undocumented. NAB (http://www.scripps.edu/case/casegr-sh-2.2.html) is a manipulation language for DNA/proteins, but it could probably be used for other systems as well. Unfortunately, I didn't suceed with the compilation under Linux (though I am sure I'll resolve it eventually). Also, NAB is compiled language, which I find as a disadvantage. MMTK (http://starship.python.net/crew/hinsen/MMTK/) is probably also capable of the molecular transformations, but it is general molecular mechanics system, so it has a lot of other features.

So to summarize, I didn't find any simple scriptable molecular
transformation system so far. I am sure that such a software would be
interesting for a lot people. Maybe I am looking in the wrong direction.
Any help would be more than appreciated.

Regards
  Dan

-- 
Daniel Svozil, PhD
Institute of Organic Chemistry and Biochemistry
and Center for Complex Molecular Systems and Biomolecules
http://www.molecular.cz/
Czech Republic

phone: +420-2-20 183 263

---

From: Konrad Hinsen <[email-masked]>
Date: Fri, 18 Apr 2003 14:16:36 +0200

> language that offers this functionality?

You are already looking at MMTK, which can do most of what you need. Only 
visualization needs to be delegated to external viewers. However, with a VRML 
viewer, you can set up any visualization that you like.

>   (e.g. select the whole backbone, select all waters in system, select

Rather straightforward in any object-oriented system.

>   from the given atom/point, select all carbons, etc., etc.)

Two to three lines of Python code for any of these.

>   H atom in H2O around the axis defined by thos OH bond, etc.

molecule.rotateAroundAxis(molecule.O.position(), molecule.H1.position(), 
45.*Units.deg)

> - the possibility to read/wite at least PDB, XYZ would be also nice

PDB is there, XYZ takes four lines of Python code.

>   lenghts, angles, dihedrals) for the given set of atoms

All there.

>   possibility to measure lengths/angles/dihedrals)

VMD and PyMol are fine for all that and can be used from MMTK scripts.

> MMTK
> (http://starship.python.net/crew/hinsen/MMTK/) is probably also capable of
> the molecular transformations, but it is general molecular mechanics
> system, so it has a lot of other features.

Indeed. But the people on the MMTK mailing list will help you find the things 
you need for your project.
-- 
-------------------------------------------------------------------------------
Konrad Hinsen                            | E-Mail: [email-masked]
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
-------------------------------------------------------------------------------