<< prev | index | next >> |

# Notes&Credits

This is not part of the official documentation of TINKER program package, but have been ideated by me for this wiki. If you do use these tutorials for teaching, please consider to acknowledge Chembytes and spread the word.

You are welcome to improve the tutorial, and, if you do it, please consider to help me improve Chembytes and send me your tutorial or become member of Chembytes and write it yourself. Don't worry, you will be properly acknowledged for your work.

# Intro

Tinker program package comes with many different algorithms to minimize structures: minimize, optimize, monte, newton, pss, sniffer. Special versions of minimize, optimize newton and pss algorithm are made when internal coordinates or rigid bodies are used. The algorythms implement different minimization methods, therefore give different accuracy and resultes (local Vs global minima) and you should individuate the on that perform better with your system. A brief introduction to those methods is available in the manual.

Download the zip archive get the files for this tutorial.To start this tutorial, copy in a new directory the files peptide.xyz and peptide.key that are in tinker/example directory.

OPLSAA force field is used for this tutorial (see key file). Other parameters, such as

cutoffs are set to their default values.

# Part I: Analyze the peptide

At first, let's analyze the initial structure for the peptide. We will do this in two different ways, so to illustrate how to perform TINKER calculations. If you type:

`[user@desktop]$ analyze`

you will be ask to insert the cartesian coordinate file. Type:

`peptide.xyz`

And press enter. Now the program will ask you where is the parameter file to use, i.e., oplsaa in this case. Type:

`../../params/oplsaa.prm`

and press enter. Now the following menu is displayed:

```
The TINKER Analysis Facility can Provide :
General System and Force Field Information [G]
Force Field Parameters for Interactions [P]
Total Potential Energy and its Components [E]
Energy Breakdown over Each of the Atoms [A]
List of the Large Individual Interactions [L]
Details for All Individual Interactions [D]
Electrostatic, Inertial & Virial Properties [M]
Enter the Desired Analysis Types [G,P,E,A,L,D,M] :
```

Type **e**, in order to analyze the total energy of the structure and its components. The energies will be prompted.

This way to execute TINKER calculations has severe limitations, in particular since you cannot specify parameters other than the forcefield. So cutoffs, thermostat, and all the other keywords used to properly set a force field calculations will be neglected. Furthermore, you cannot redirect the output in a file, so to easily save the energies. This way to operate is useful to learn which parameters are asked by TINKER program and in which order. Once you are familiar with the TINKER program you want to use, you can use a much more effective way to perform the calculation:

`[user@desktop]$ analyze peptide.xyz -k peptide.key e >analyze.log`

This command will execute analyze for the peptide.xyz structure using the settings in the peptide.key key file, asks to compute the total energy and its components and redirect the output to a log file. This is how you should use TINKER programs, either in local or when submitting the calculation on a cluster using a queuing system.

Before move to the minimization of the structure, try also to analyze the structure using the other options. For example, try to see if the peptide is neutral or charged.

# Part II - Minimize the peptide structure

This part of the tutorial will present some of the minimization algorithms. The results will be analyzed in the third part (and last) part of the tutorial.

## minimize

Minimize implements a low storage BFGS non-linear optimization, and it is one of the most used algorithm used to minimize a structure. BFGS stays for Broyden-Fletcher-Goldfarb-Shanno method (see http://en.wikipedia.org/wiki/BFGS_method for more info).

To perform a minimization with minimize, you have to provide the name of the structure, the key file and the convergence criteria to specify when stop the minimization, respectively. By default the convergence criteria, the RMS gradient is 0.01. To use minimize type:

`[user@Desktop]$ minimize peptide.xyz -k peptide.key 0.01`

A number of informations will be prompted at each step of the minimization and the structure for the low-energy structure is written in peptide.xyz_2. Rename this file as min_peptide.xyz

**Please note that TINKER will always use the last version of the specified structure file for the calculation. This means that if you redo a minimization as before, the structure in peptide.xyz_2 will be used.**

In case the structure is given in internal coordinates (.int file), you should use minrot instead of minimize. For rigid body minimization, use minrigid instead.

## monte

Monte implements a Monte Carlo (MC) minimization and conformational search using Cartesian single atom or torsional moves. This method is slower than all the other optimization methods, but can search for the real global minimum for the structure. If your molecules has a lot of degrees of freedom (polymer chain or long alkyl groups) this algorithm should give a quite low-energy structure. The actual minimization is made calling the truncated Newton minimization algorithm. The program will ask for the total number of Monte Carlo steps to perform (1000 by default), if use Cartesian or Torsional moves (cartesian by default). If you chose Cartesian moves, the maximum steps for atoms displacement is asked (3.0 Angstroms by default), as well as the temperature (298K) and the RMS gradient for the truncated Newton minimization (0.01 by default). If you chose Torsional moves, then you have to specify which method to use: (i) Automatic selection of torsional angles (default), (ii) manual selection of torsional angle to rotate and (iii) manual selection of torsional angle to freeze. After you will be asked to specify the size of the torsional step (180 deg by default), the temperature (298K by default) and the RMS gradient for the truncated Newton minimization (0.01 by default). In this tutorial we will use Cartesian moves, so type:

`[user@desktop]$ monte peptide.xyz -k peptide.key 1000 C 298 0.01`

Monte will prompt the number, the total energy, the temperature, the ratio and the status (Accepted, Rejected, Same) for the structure generated during the current MC iteration. The radio is the running ratio of Accepted structures over the number if MC iteration done. The coordinates for the lower-energy structure found, is written in peptide.xyz_2. Rename this file in mnt_peptide.xyz

Please note that this can take a (long) while. Speed can be improved reducing the size of the atoms displacement (or the size of torsional angle rotations), but this could cause to reduce the amount of potential energy landscape explored.

## newton

Newton implements a truncated Newton minimization method. This method use a truncated Newton optimization algorithm in which a preconditioned linear conjugate gradient method is used to approximately solve Newton's equations. To know more about the technicalities, edit the tncg.f file in tinker/source directory. The program will asks to choose a mode between Auto (default), Newton, TNCG (truncated Newton) and DTNCG (truncated Newton with finite differencing). Then you have to choose a method between Auto (default), None, Diagonal, Block (3x3 block diagonal), SSOR and ICCG (incomplete Cholesky preconditioning). Finally, the RMS Gradient is asked (0.01 by default).

To use newton, do:

`[user@desktop]$ newton peptide.xyz -k peptide.key A A 0.01`

A number of informations will be prompted at each step of the minimization, and the final structure is saved in peptide.xyz_2. Rename this file in nwt_peptide.xyz.

newtrot program is provided in case the structure to minimize is in internal coordinates.

## optimize

Optimize implements an optimally conditioned variable metric method. Usually can give a lower-energy structure than that obtained with minimize, but can be used on smaller systems. By default the convergence criteria, the RMS gradient is 0.01. To use optimize type:

`[user@Desktop]$ optimize peptide.xyz -k peptide.key 0.01`

A number of informations will be prompted at each step of the minimization and the lower-energy structure is written in peptide.xyz_2, so rename this file as opt_peptide.xyz

In case the structure is given in internal coordinates (.int file), you should use optrot instead of optimize. For rigid body minimization, use optrigid instead.

## sniffer/pss

Sniffer implements a global energy minimization using discrete version of Griewank's global search trajectory. As stated in the manual, is quite sensitive to the choice of the parameters.

Pss implements the potential smoothing plus search method for global optimization. pssrot and pssrigid are also availables. Since I have never used those methods myself, I will not cover them in this tutorial.

# Part III - Compare the results.

You can use analyze now to compare the energies of the minimized structures obtained with the methods used before. You may find that the energies vary quite a lot depending by the method used to optimize it, this because a methods such as minimize and optimize could be trapped to the nearest local minimum in the potential energy landscape for the molecule, while methods such as monte can explore larger regions of the same energy landscape, which usually leads to a deeper minimum, i.e., to a lower-energy structure. The difference between the results also depend on the complexity of the molecule to minimize: for small and rigid molecules with relatively small degrees of freedom, all the methods should give quite similar results, while can differ for more complex molecules, such as polymers, peptides, etc.

# References

## Monte

Z. Li and H. A. Scheraga, "Monte Carlo-Minimization Approach

to the Multiple-Minima Problem in Protein Folding", Proc. Natl.

Acad. Sci. USA, 84, 6611-6615 (1987)

## Newton

J. W. Ponder and F. M Richards, "An Efficient Newton-like

Method for Molecular Mechanics Energy Minimization of

Large Molecules", Journal of Computational Chemistry,

8, 1016-1024 (1987)

R. S. Dembo and T. Steihaug, "Truncated-Newton Algorithms

for Large-Scale Unconstrained Optimization", Mathematical

Programming, 26, 190-212 (1983)

## PSS

J. Kostrowicki and H. A. Scheraga, "Application of the Diffusion

Equation Method for Global Optimization to Oligopeptides", Journal

of Physical Chemistry, 96, 7442-7449 (1992)

S. Nakamura, H. Hirose, M. Ikeguchi and J. Doi, "Conformational

Energy Minimization Using a Two-Stage Method", Journal of Physical

Chemistry, 99, 8374-8378 (1995)

## Sniffer

T. J. Richmond, "Solvent Accessible Surface Area and

Excluded Volume in Proteins", Journal of Molecular Biology,

178, 63-89 (1984)

L. Wesson and D. Eisenberg, "Atomic Solvation Parameters

Applied to Molecular Dynamics of Proteins in Solution",

Protein Science, 1, 227-235 (1992)

# Comments

<< prev | index | next >> |

according to your experience is it possible to add Na+ ions to a structure before minimization?

I'm purposing to minimize some rna 3d structures in vacuo and I'd like to add Na+ counter ions to minimize the effects of negative phosphate groups.

Thank you for your tutorial they are very useful and interesting

best

Guido

ReplyOptionsHi Guido, if parameters per Na+ are available in the force field you use, or you can add them, there is no problem to add counter ions to your rna. It may be necessary, though, to fix their position in space (keyword inactive), but I will try before leaving them free, at least for the minimization. Of course, you have to introduce them in the proper position along your rna ;)

Andrea

ReplyOptionsHi I'm trying to predict a small protein structure through minimization and MD. However, I'm having problems with building it as it has disulfide bonds. Protein.exe seems to take in a certain code to input disulfide bonds, and I can't figure it out. Do you guys know how it is? Btw, your tutorial has been a great help to me.

Thanks!

ReplyOptionsHi, I'm trying to do a MD simulation of a protein with Tinker.

But I don't know how to do the equalization for the systems. I saw some tutorial that first do a minimization of the system and then increase the temperature slowly. But I didn't find out something similar to Charmm or NAMD where we first constrain the system with a high constrain force, and then decrease this constrains step by step. Are there some simulation key word for this in Tinker. Are there a standard way for do the equalibration of protein before run the MD simulations. Thanks a lot.

Wuka

ReplyOptions## Post preview:

Close preview