The Molecular Modeling Toolkit

The Molecular Modelling Toolkit (MMTK) is a program library for molecular modelling applications. Its aim is to provide researchers, especially those working on the development of new modelling methods, with a code basis that can be easily extended and modified to deal with standard and non-standard problems in molecular modelling.

MMTK is developed in and around Python, a high-level object-oriented general-purpose programming language (see http://www.python.org for more information). Python was chosen because it allows rapid code development and testing, while providing a very convenient C interface for dealing with time-critical calculations. Like Python, MMTK is copyrighted but free software.

MMTK is based on an object-oriented model of molecular systems. A system is made up of molecules, complexes, and atoms, all of which are defined in a central database of definition files, which themselves are (very simple) Python programs. A molecule, for example, is defined in terms of atoms, functional groups, bonds, force field parameters etc. It is possible to introduce specialized versions of these objects; for example, MMTK has special support for proteins, which are basically chemical complexes, but can be handled in terms of peptide chains, residues, sidechains etc.

Among the operations that are currently implemented you can find:

  • construction of molecular systems
  • standard geometrical operations on coordinates
  • rigid-body fits
  • visualization using external PDB and VRML viewers
  • the AMBER 94 force field
  • energy minimization (steepest descent and conjugate gradient)
  • molecular dynamics (velocity Verlet)
  • normal mode calculation

Compared to standard modelling code written in Fortran, MMTK is much easier to understand, extend, and modify. For example, new force fields can be added without touching any existing code, i.e. without any risk of breaking it.

The following example gives some idea of what MMTK applications look like. It generates a representation of the protein crambin from a PDB file, performs an energy minimization using the conjugate gradient algorithm until the forces are sufficiently small, calculates the normal modes, prints the vibrational frequencies, and shows an animation of the lowest non-zero mode.

For more information and to download MMTK, point your Web browser at http://starship.python.net/~hinsen/MMTK/



NetSci, ISSN 1092-7360, is published by Network Science Corporation. Except where expressly stated, content at this site is copyright (© 1995 - 2010) by Network Science Corporation and is for your personal use only. No redistribution is allowed without written permission from Network Science Corporation. This web site is managed by:

Network Science Corporation
4411 Connecticut Avenue NW, STE 514
Washington, DC 20008
Tel: (828) 817-9811
E-mail: TheEditors@netsci.org
Website Hosted by Total Choice