[MMTK] Coarse Grain Normal Mode analysis
research at khinsen.fastmail.net
Thu Nov 3 11:17:43 UTC 2011
On 3 Nov, 2011, at 9:03 , James Starlight wrote:
> # Construct system
> universe = InfiniteUniverse(AnisotropicNetworkForceField(cutoff=1))
> universe.protein = Protein('3pqr_a.pdb', model='calpha')
> What exsctly MMTK's force field is most suitable for cg NMA? I've found several CG force fields like AMM ff, C-alpha ff, deformation ff etc. What force field could be most suitable for the study of biological motions of globular (enzymes) or membrane proteins ( receptors, channels) ?
My personal choice is CalphaForceField, but then I am the one who developed it, so I may be biased :-)
DeformationForceField is also my own development, but older. I consider CalphaForceField better for just about every application I can imagine.
> In the past I worked only with ANM where I could varry Cutoff distance as well as Gamma united force constant. I've found how to chanhe cutoff but how I can define gamma function ?
The second argument in the constructor (scale_factor) is just what you are looking for.
ANM is one of the most popular ENM force fields, but from my physicist's point of view it is not a very good one. It assumes that the interactions between all residues up to a certain cutoff are equal, and beyond that cutoff they are zero. This assumption is made for simplicity, there is no observation to support it.
I am aware of two systematic coarse-graining approaches that have been used for harmonic potentials (and thus normal modes):
1) Start from the Hessian matrix of an all-atom force field, and deduce the interaction strengths for a residue-level force field. This is how CalphaForceField was derived.
2) Start from the atomic fluctuations calculated from a long MD trajectory. This is the approach taken for the REACH force field.
Both approaches lead to qualitatively similar results: there are very strong interactions between nearest-neighbours along the peptide chain, and interaction strenghts decreasing with distance on a few-Å scale for everything else. This is very different from the step function that ANM proposes for its distance dependence.
There's also evidence against the simple step function from studies based on the ANM itself. The cutoff turns out to be a parameter that needs to be optimized for each protein and each application. This indicates that the cutoff is not a physically reasonable parameter.
> # Find a reasonable basis set size and cutoff
> nbasis = max(10, universe.numberOfAtoms()/5)
> cutoff, nbasis = estimateCutoff(universe, nbasis)
> I think that the above just for the reduce sample conformation space of the macromolecule. (reduction number of output modes from 3N-6 to nbasis based). Does it true?
Yes, it's an optimization to reduce memory and CPU time requirements for big proteins. It was much more useful 10 years ago than it is now. There's hardly any protein in the PDB for which you couldn't do a full NMA on a laptop. But the approximation may still be of use for protein assemblies, such as virus capsids.
> It's not fullyunderstand what exactly is nbasis and how I can define it. E.g in nbasis = max(10, universe.numberOfAtoms()/5) what the values 10 and 5 were used ?
Those values have been found empirically to be reasonable choices for domain decomposition.
> So If nbased was defined correctly
> subspace = FourierBasis(universe, cutoff)
> modes = SubspaceNormalModes(universe, subspace,temperature=300.0)
> The normal modes would be calculated in the narrow subspace.
> Finally about examination of the results. I have problems with the graphical representation ( I've created about this separate topic). But now I'd like to plot my results. Resently I've used matlibplot to plot python data. Does this options supported by the MMTK?
There is no explicit support for matplotlib in MMTK, but I don't see any need for that either. You should be able to pass results from MMTK directly to matplotlib.
> Could you show me simple example how I can plot RMSF of my protein along desired normal mode or plot correlation map for the residues?
I have added RMSF plotting via matplotlib to one of the MMTK example scripts:
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: research AT khinsen DOT fastmail DOT net
More information about the mmtk