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:

        (1)	support for Amber, CHARMM, OPLS and MMFF force fields
        (2)	advanced AMOEBA polarizable atomic multipole models
	(3)	building protein and nucleic acid models from sequence
	(4)	Cartesian, torsional and rigid body minimizations
	(5)	analysis of energy distribution within a structure
	(6)	symplectic RESPA molecular and stochastic dynamics
	(7)	simulated annealing with a choice of cooling schedules
        (8)	Generalized Born and Kirkwood implicit solvation
	(9)	normal modes analysis and vibrational frequencies
	(10)	conformational search and potential surface scanning
        (11)	Monte Carlo minimization for global optimization
	(12)	transition state location and conformational pathways
	(13)	fitting of energy parameters to QM and crystal data
	(14)	distance geometry via efficient pairwise metrization
	(15)	alpha shapes surface areas, volumes and gradients
	(16)	free energy changes for ligand binding and mutations
	(17)	advanced algorithms based on potential smoothing
        (18)	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/.
