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 structure 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 implement the following core features:
support for Amber, CHARMM, OPLS and MMFF force fields
advanced AMOEBA polarizable atomic multipole models
building protein and nucleic acid models from sequence
Cartesian, torsional and rigid body minimizations
analysis of energy distribution within a structure
symplectic RESPA molecular and stochastic dynamics
simulated annealing with a choice of cooling schedules
Generalized Born and Kirkwood implicit solvation
normal modes analysis and vibrational frequencies
conformational search and potential surface scanning
Monte Carlo minimization for global optimization
transition state location and conformational pathways
fitting of energy parameters to QM and crystal data
distance geometry via efficient pairwise metrization
alpha shapes surface areas, volumes and gradients
free energy changes for ligand binding and mutations
advanced algorithms based on potential smoothing
interface to APBS for Poisson-Boltzmann calculations
Many of the various energy minimization and molecular dynamics computations can be performed on full or partial structures, over different coordinate representations, and including a variety of boundary conditions and crystal cell types. Other programs are available to allow checking of potential function derivatives for coding errors and to generate timing data. 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 basic Tinker system consists of over 280,000 lines of source written entirely in a portable Fortran95 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 11, Apple macOS, and various legacy Unix-based systems under vendor supplied Unix. At present, our new code is written on macOS and Ubuntu platforms, and occasionally tested for compatibility on various machine and OS combinations listed above. Conversion to C++ is under consideration, but not being actively pursued at this time. An additional code base, Tinker-GPU, is optimized for efficient production simulations on NVIDIA GPU under CUDA. Tinker-GPU links against a library constructed from core CPU Tinker for non-performance critical operations.
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, and many of the alternative potential function forms reported in the literature can be implemented directly using current Tinker code or after minor code changes.
Much of the software in the Tinker package has been heavily used and well tested over many years, but some modules are still in a relatively 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 force fields, (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.
Contact Information¶
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: ponder@dasher.wustl.edu
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, bin aries for macOS, Windows and Linux, 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, including Tinker-GPU and Tinker-HP, are available from the TinkerTools organization on GitHub at the site https://github.com/TinkerTools/.