Introduction to the Software¶
What is Tinker?¶
Welcome to the Tinker molecular modeling package! Tinker is designed to be an easily used and flexible system of programs and routines for molecular mechanics and dynamics as well as other energy-based and structural manipulation calculations. It is intended to be modular enough to enable development of new computational methods and efficient enough to meet most production calculation needs. Rather than incorporating all the functionality in one monolithic program, Tinker provides a set of relatively small programs that interoperate to perform complex computations. New programs can be easily added by modelers with only limited programming experience.
Features and Capabilities¶
The series of major programs included in the distribution system perform the following core tasks:
building protein and nucleic acid models from sequence
energy minimization and structural optimization
analysis of energy distribution within a structure
molecular dynamics and stochastic dynamics
simulated annealing with a choice of cooling schedules
normal modes and vibrational frequencies
conformational search and global optimization
transition state location and conformational pathways
fitting of energy parameters to crystal data
distance geometry with pairwise metrization
molecular volumes and surface areas
free energy changes for structural mutations
advanced algorithms based on potential smoothing
Many of the various energy minimization and molecular dynamics computations can be performed on full or partial structures, over Cartesian, internal or rigid body coordinates, and including a variety of boundary conditions and crystal cell types. Other programs are available to generate timing data and allow checking of potential function derivatives for coding errors. Special features are available to facilitate input and output of protein and nucleic acid structures. However, the basic core routines have no knowledge of biopolymer structure and can be used for general molecular systems.
Due to its emphasis on ease of modification, Tinker differs from many other currently available molecular modeling packages in that the user is expected to be willing to write simple “front-end” programs and make some alterations at the source code level. The main programs provided should be considered as templates for the users to change according to their wishes. All subroutines are internally documented and structured programming practices are adhered to throughout. The result, it is hoped, will be a calculational system which can be tailored to local needs and desires.
The core Tinker system consists of over 240,000 lines of source written entirely in a portable Fortran superset. Use is made of only some very common extensions that aid in writing highly structured code. The current version of the package has been ported to a wide range of computers with no or extremely minimal changes. Tested systems include: Ubuntu, CentOS and Red Hat Linux, Microsoft Windows 10 and earlier, Apple MacOS, and various older Unix-based workstations under vendor supplied Unix. At present, our new code is written on various Linux platforms, and occasionally tested for compatibility on various of the other machine and OS combinations listed above. At present, our primary source code development efforts are in Fortran, using a portable subset of Fortran90 with some common extensions. A machine-translated C version of Tinker is currently available, and a hand-translated optimized C version of a previous Tinker release is available for inspection. Conversion to C or C++ is under consideration, but not being actively pursued at this time.
The basic design of the energy function engine used by the Tinker system allows usage of several different parameter sets. At present we are distributing parameters that implement several Amber and CHARMM potentials, MM2, MM3, OPLS-UA, OPLS-AA, MMFF, Liam Dang’s polarizable potentials, and our own AMOEBA (Atomic Multipole Optimized Energetics for Biomolecular Applications), AMOEBA+, and HIPPO (Hydrogen-like Intermolecular Polarizable Potential) force fields. In most cases, the source code separates the geometric manipulations needed for energy derivatives from the actual form of the energy function itself. Several other literature parameter sets are being considered for possible future development (later versions of CHARMM and Amber, as well as GROMOS, ENCAD, MM4, UFF, etc.), and many of the alternative potential function forms reported in the literature can be implemented directly or after minor code changes.
Much of the software in the Tinker package has been heavily used and well tested, but some modules are still in a fairly early stage of development. Further work on the Tinker system is planned in three main areas: (1) extension and improvement of the potential energy parameters including additional parameterization and testing of our polarizable multipole AMOEBA force field, (2) coding of new computational algorithms including additional methods for free energy determination, torsional Monte Carlo and molecular dynamics sampling, advanced methods for long range interactions, better transition state location, and further application of the potential smoothing paradigm, and (3) further development of Force Field Explorer, a Java-based GUI front-end to the Tinker programs that provides for calculation setup, launch and control as well as basic molecular visualization.
Questions and comments regarding the Tinker package, including suggestions for improvements and changes should be made to the author:
Professor Jay William Ponder Department of Chemistry, Box 1134 Washington University in Saint Louis One Brookings Hall Saint Louis, MO 63130 U.S.A.
office: Louderman Hall, Room 453 phone: (314) 935-4275 fax: (314) 935-4481 email: email@example.com
In addition, an Internet web site containing an online version of this User’s Guide, the most recent distribution version of the full Tinker package and other useful information can be found at https://dasher.wustl.edu/tinker/, the Home Page for the Tinker Molecular Modeling Package. Tinker and related software packages are also available from GitHub at the site https://github.com/TinkerTools/Tinker.git/.