[MMTK] MMTK-questions about normal modes analysis

Konrad Hinsen konrad.hinsen at laposte.net
Wed Feb 20 20:07:44 UTC 2008

On 20.02.2008, at 18:46, Ma Yong wrote:
> 1) Is it suitable to use calpha mode to approximate this protein  
> (pdb file- 1LN6, Metarhodopsin)? Compared with the standard  
> calculation , what will be lost by using approximation method?
That depends mainly on what you want to do with the normal modes. If  
you are interested in the large-amplitude and low-frequency motions,  
then a C-alpha model will do fine. If you want to calculate high- 
frequency spectra, you need an atomic model. What you lose with a C- 
alpha model is high frequencies and atomic detail.
>    If I use standard calculation based on MMTK, what is minimum  
> requirements for the computer and how long will the calculation  
> take ( say it the number of atoms is 5000)?
Most of all you need lots of memory. The normal modes alone will take  
almost 2 GB, and you need more for workspace, plus of course all the  
program code, including the OS. I'd say you should have 3 GB of RAM  
to be comfortable.

The time is hard to estimate. I don't have any machine that could run  
such big jobs at the moment. Most of the CPU time will be spent in  
the LAPACK routine that calculates the eigenvectors, so the speed  
will depend very much on the quality of LAPACK and BLAS routines on  
your machines. You should use NumPy rather than Numeric and recent  
versions of ScientificPython/MMTK to go with them. During  
installation of NumPy, check the instructions carefully to see how to  
select the best BLAS implementation for your machine.

There are iterative techniques that calculate subsets of normal modes  
using less memory, but usually at a higher cost in speed. I have an  
implementation of such techniques for MMTK, but it is not part of the  
standard distribution because it has some dependencies and is not  
entirely trivial to install. If you would like to try it, I can send  
you the code.

> 2) How to calculate the absorption spectra based on the Normal  
> modes analysis using MMTK? For example, I ran the examples in the  
> manual- deformation_modes.py, I can get the frequency for each  
> mode, how to get the normalised intensity absorption spectrum based  
> on these information?

I don't have the exact formula at hand as I have never used it. You  
should be able to find it in the literature. Roughly, what you have  
to calculate is the change of the dipole moment of the protein due to  
each normal mode. The structure of the code in MMTK will look like this:

charges = universe.charges()
modes = VibrationalNormalModes(universe)
for mode in modes:
    dipole_change = (charges*mode).sumOverParticles()

Note that charges are defined by the force field. The deformation  
force field and C-alpha force field don't have charges, so this will  
work only with an all-atom model. You can of course use the whole- 
residue charges of the all-atom Amber force field and apply them to  
the coarse-grained model for the normal modes.

Konrad Hinsen
Centre de Biophysique Moléculaire, CNRS Orléans
Synchrotron Soleil - Division Expériences
Saint Aubin - BP 48
91192 Gif sur Yvette Cedex, France
Tel. +33-1 69 35 97 15
E-Mail: hinsen at cnrs-orleans.fr

More information about the mmtk mailing list