        \usepackage{charter}
        \usepackage[defaultsans]{lato}
        \usepackage{inconsolata}
    
Force Field Explorer documentation master file, created by
sphinx-quickstart on Fri May  8 03:18:35 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.

The original version of Force Field Explorer was written by Michael Schnieders, before and during his graduate school stay in Jay Ponder’s laboratory at Washington University in St. Louis. The code is now being developed and maintained by the Ponder group.

A significant contribution to Force Field Explorer was made by Zhiguang "Frank" Gao over the summer of 2002. The Force Field Explorer logo shows an optimized AMOEBA gas phase water dimer, and was provided by Pengyu Ren. The User's Guide cover showing the crambin protein with 13-PHE highlighted was produced by Jay Ponder. Special thanks to Alan Grossfield for offering many helpful suggestions. We would also like to thank Eric Reiss for making available his modified version of some Java3D Behaviors, and Pat Niemeyer for his work in developing the BeanShell scripting framework. Important code modernization, additon of new options and updating of FFE was done over the period from 2013 to 2016 by Jeffrey Bigg, Tyler Ponder and Brendan McMurrow. A major reorganization and unification of the Linux, Windows and macOS code bases was completed during summer 2017 by Jay Ponder.

A significant contribution to Force Field Explorer was made by Zhiguang “Frank” Gao over the summer of 2002. The Force Field Explorer logo shows an optimized AMOEBA gas phase water dimer, and was provided by Pengyu Ren. The User’s Guide cover showing the crambin protein with 13-PHE highlighted was produced by Jay Ponder. Special thanks to Alan Grossfield for offering many helpful suggestions. We would also like to thank Eric Reiss for making available his modified version of some Java3D Behaviors, and Pat Niemeyer for his work in developing the BeanShell scripting framework. Important code modernization, additon of new options and updating of FFE was done over the period from 2013 to 2016 by Jeffrey Bigg, Tyler Ponder and Brendan McMurrow. A major reorganization and unification of the Linux, Windows and macOS code bases was completed during summer 2017 by Jay Ponder.

We apologize in advance for any bugs that remain in Force Field Explorer. Should you happen to perform some command that causes a Java stack trace to be dumped to the console, please copy the output and forward to ponder@dasher.wustl.edu. Poor video card drivers can sometimes result in unpredictable behavior from Force Field Explorer. If this should occur, try to find the latest drivers for your computer, operating system and video card combination.

We apologize in advance for any bugs that remain in Force Field Explorer. Should you happen to perform some command that causes a Java stack trace to be dumped to the console, please copy the output and forward to 

. Poor video card drivers can sometimes result in unpredictable behavior from Force Field Explorer. If this should occur, try to find the latest drivers for your computer, operating system and video card combination.

The Molecular Tree is a structural hierarchy of each system, used for navigating and making selections. When Force Field Explorer opens a structure file, it attempts to groups atoms into protein/nucleic acid macromolecules and their constituent residues. It also groups ions, water and hetero molecules together. This is done even in the absence of a Tinker sequence file. When a display or color command is chosen, all currently selected groups of atoms are affected.

Figure 1. The first residue of the enkephalin peptide is selected in the Tree view and is highlighted in blue on the Graphics Window.

Left-clicking the Global Axis, then dragging performs a rotation about the origin of the entire scene. This is useful for manual docking of two systems. For example, after positioning each system individually in the X-Y plane by dragging them with the mouse, a rotation about the Y-axis allows orientation in the Y-Z plane. Right-clicking the Global Axis, then dragging performs a translation of the entire scene.

Figure 2. Dragging the Graphics Axis causes the entire scene to rotate about the global origin. The scene above is rotated 180 degrees around the Y-axis.

The Keyword Editor allows modification of keyword files that control various aspects of Tinker calculations. If a Modeling Command is executed on a system, the corresponding Keyword File is automatically saved. Modifications can also be saved at any time using one of the save buttons. Any text or keywords that Force Field Explorer does not recognize are considered “Comments” and are appended to the end of saved key files. As an example, the enkephalin keyword control file is shown below.

Figure 3. The Keyword Editor Panel displaying the enkephalin keyword file.

The Modeling Commands panel of Force Field Explorer allows launching of most of the Tinker programs. After selecting a routine and configuring its modifying arguments, selecting the “play” button starts the job running. If Tinker will modify the coordinates of the system, Force Field Explorer will automatically connect to the routine and show progress interactively. If the routine completes before Force Field Explorer is exited, the textual results in the log file are loaded into the Logs panel. If Force Field Explorer exits while one or more routines are running, they continue in the background unless explicitly killed by the user. For example, the “Optimize” command has been selected for enkephalin (Figure 4).

Figure 4. The Tinker OPTIMIZE program selected in the Modeling Commands panel and will execute on the active system, in this case the enkephalin peptide.

The Logs panel is a simple text editor where output logged from Tinker routines is automatically loaded. It can also be used to edit any text file, for example Tinker coordinate or keyword files.

Figure 5. The Log panel showing output logged from running Tinker OPTIMIZE on the enkephalin peptide.

If a modeling command changes the coordinates of an open structure, the final structure generated is re-loaded onto the open structure used to initiate the command.

Figure 6.  The coordinates for the final local minimum of enkephalin (enkephalin.xyz_2) are loaded onto the originally opened structure, enkephalin.xyz, used as input to the Tinker OPTIMIZE command.

Force Field Explorer and Tinker are distributed via self-extracting installers for Linux, Apple MacOS and Microsoft Windows. These install kits are available from the Tinker web site maintained by the Ponder group at https://dasher.wustl.edu/tinker/. Included within the installers are binary Tinker executables, source code, example/test files, documentation and the Java environment needed by Force Field Explorer. FFE contains a private JRE version that will not affect any other JREs installed system-wide.

Force Field Explorer and Tinker are distributed via self-extracting installers for Linux, Apple MacOS and Microsoft Windows. These install kits are available from the Tinker web site maintained by the Ponder group at 

. Included within the installers are binary Tinker executables, source code, example/test files, documentation and the Java environment needed by Force Field Explorer. FFE contains a private JRE version that will not affect any other JREs installed system-wide.

For each platform, a launch script/exe located in the top level installation directory named “ffe” will launch Force Field Explorer.

On some platforms, double clicking the ffe.jar file in the “tinker/jar” directory will also launch Force Field Explorer. In this case, your system JRE will be invoked instead of the private JRE bundled with the installation kit. This should behave correctly, as long as your system JRE is a 1.8 version (Java 8) and includes Java3D extensions.

Specific installation instructions for operating systems are provided below:

**Linux**

      The Tinker-FFE Installer for Linux is provided as a gzipped shell script. Uncompress the the .gz archive to produce an .sh script, and then run the script. The script must have the "executable" attribute, set via "chmod +x ffe-linux.sh", prior to being run.

      After installation, the top-level directory defaults to “$HOME/Tinker-FFE”. The FFE-enabled Tinker binaries are located in the “$HOME/Tinker-FFE/tinker/bin” directory.

The Tinker-FFE Installer for Linux is provided as a gzipped shell script. Uncompress the the .gz archive to produce an .sh script, and then run the script. The script must have the "executable" attribute, set via "chmod +x ffe-linux.sh", prior to being run.

After installation, the top-level directory defaults to “$HOME/Tinker-FFE”. The FFE-enabled Tinker binaries are located in the “$HOME/Tinker-FFE/tinker/bin” directory.

The Tinker-FFE Installer for Linux is provided as a gzipped shell script. Uncompress the the .gz archive to produce an .sh script, and then run the script. The script must have the “executable” attribute, set via “chmod +x ffe-linux.sh”, prior to being run.

**Apple MacOS**

      The Tinker-FFE Installer for MacOS is provided as a .dmg disk image file. Double-click on the file to run the installer. Once installed, Force Field Explorer is launched by double clicking on the Desktop icon.

      Recent versions of MacOS contains a security feature called Gatekeeper that keeps applications not obtained via the App Store or Apple-approved developers from being opened. Gatekeeper is enabled by default, and may result in the (incorrect!) error message: "Tinker-FFE Installer.app is damaged and can't be opened." To turn off Gatekeeper, go to the panel System Preferences > Security & Privacy > General, and set "Allow apps downloaded from:" to "Anywhere". This will require an Administrator account, and must be done before invoking the FFE installer. After FFE is installed and launched for the first time, you can return the System Preference to its prior value. On Sierra (MacOS 10.12) and later, the "Anywhere" option has been removed. In most cases the Security & Privacy panel will open and permit the user to run the installer. Alternatively, the "Anywhere" option can be restored by running the command "sudo spctl --master-disable" in a Terminal window with Administrator privilege.

The Tinker-FFE Installer for MacOS is provided as a .dmg disk image file. Double-click on the file to run the installer. Once installed, Force Field Explorer is launched by double clicking on the Desktop icon.

Recent versions of MacOS contains a security feature called Gatekeeper that keeps applications not obtained via the App Store or Apple-approved developers from being opened. Gatekeeper is enabled by default, and may result in the (incorrect!) error message: "Tinker-FFE Installer.app is damaged and can't be opened." To turn off Gatekeeper, go to the panel System Preferences > Security & Privacy > General, and set "Allow apps downloaded from:" to "Anywhere". This will require an Administrator account, and must be done before invoking the FFE installer. After FFE is installed and launched for the first time, you can return the System Preference to its prior value. On Sierra (MacOS 10.12) and later, the "Anywhere" option has been removed. In most cases the Security & Privacy panel will open and permit the user to run the installer. Alternatively, the "Anywhere" option can be restored by running the command "sudo spctl --master-disable" in a Terminal window with Administrator privilege.

Recent versions of MacOS contains a security feature called Gatekeeper that keeps applications not obtained via the App Store or Apple-approved developers from being opened. Gatekeeper is enabled by default, and may result in the (incorrect!) error message: “Tinker-FFE Installer.app is damaged and can’t be opened.” To turn off Gatekeeper, go to the panel System Preferences > Security & Privacy > General, and set “Allow apps downloaded from:” to “Anywhere”. This will require an Administrator account, and must be done before invoking the FFE installer. After FFE is installed and launched for the first time, you can return the System Preference to its prior value. On Sierra (MacOS 10.12) and later, the “Anywhere” option has been removed. In most cases the Security & Privacy panel will open and permit the user to run the installer. Alternatively, the “Anywhere” option can be restored by running the command “sudo spctl –master-disable” in a Terminal window with Administrator privilege.

**Microsoft Windows**

      The Tinker-FFE Installer for Windows is provided as a zipped executable. First, unzip the .zip file. Then run the resulting executable .exe file by double clicking. Following installation, Force Field Explorer is launched via the FFE desktop icon or from the Start Menu.

      In order to perform minimizations or molecular dynamics from within FFE, some environment variables and symbolic links must be set prior to using the program. A batch file named "FFESetupWin.bat" is installed in the main Tinker-FFE directory, which by default resides in the user's home directory. To complete the setup of FFE, this batch file should be run from a Command Prompt window following installation. It is only necessary to invoke this batch file once, as the settings should persist between logins.

The Tinker-FFE Installer for Windows is provided as a zipped executable. First, unzip the .zip file. Then run the resulting executable .exe file by double clicking. Following installation, Force Field Explorer is launched via the FFE desktop icon or from the Start Menu.

In order to perform minimizations or molecular dynamics from within FFE, some environment variables and symbolic links must be set prior to using the program. A batch file named "FFESetupWin.bat" is installed in the main Tinker-FFE directory, which by default resides in the user's home directory. To complete the setup of FFE, this batch file should be run from a Command Prompt window following installation. It is only necessary to invoke this batch file once, as the settings should persist between logins.

In order to perform minimizations or molecular dynamics from within FFE, some environment variables and symbolic links must be set prior to using the program. A batch file named “FFESetupWin.bat” is installed in the main Tinker-FFE directory, which by default resides in the user’s home directory. To complete the setup of FFE, this batch file should be run from a Command Prompt window following installation. It is only necessary to invoke this batch file once, as the settings should persist between logins.

For those wishing to modify the FFE GUI or build installation kits from source, we provide a complete development package for Tinker-FFE. The full source distribution for Force Field Explorer is available from the TinkerTools organization public repository on Github located at https://github/TinkerTools/FFE/. The 0README file in the top-level of the distribution has instructions for building installers for Linux, MacOS and Windows.

For those wishing to modify the FFE GUI or build installation kits from source, we provide a complete development package for Tinker-FFE. The full source distribution for Force Field Explorer is available from the TinkerTools organization public repository on Github located at 

. The 0README file in the top-level of the distribution has instructions for building installers for Linux, MacOS and Windows.

Additional requirements for building FFE are the GNU compiler suite with gcc, g++ and gfortran and the Install4j Java installer builder. On Windows systems we recommend use of the MinGW-w64 compilers under Cygwin. Note that Install4j is a commercial product; only the command line "install4jc" compiler is needed, and not the full Install4j GUI interface.

Additional requirements for building FFE are the GNU compiler suite with gcc, g++ and gfortran and the Install4j Java installer builder. On Windows systems we recommend use of the MinGW-w64 compilers under Cygwin. Note that Install4j is a commercial product; only the command line “install4jc” compiler is needed, and not the full Install4j GUI interface.

Force Field Explorer (FFE) is a graphical user interface to the Tinker suite of software tools for molecular modeling. The goal is to create a robust environment for computational chemistry, biomolecular modeling and molecular engineering applications. Current features of FFE include:

Setup and real-time visualization of modeling routines, including local/global optimizations, molecular dynamics, sampling methods, superposition, docking, etc.

Basic 3D molecular visualization (wireframe, tube, spacefilled, ball & stick, etc., and several coloring schemes) with special features for force field-specific parameters such as Lennard-Jones radii and partial charges, induced dipole vectors, and atomic force and velocity vectors.

A comprehensive editor for Tinker keyword files containing parameters and options that control modeling algorithms.

Playback of Tinker molecular dynamics trajectories and structure archives.

The current release of Force Field Explorer is denoted as Version 8.10 and dated July 2020 to mirror the corresponding Tinker 8.8 version. FFE is self-contained in that all dependencies, listed below, are included in install packages available for Linux, MacOS and Microsoft Windows operating systems.

Self-Extracting Installers for Linux, macOS and Microsoft Windows. The installer distributions include FFE-enabled Tinker binaries, full source code, FFE and Tinker documentation, and example files. Private JRE and Java3D libraries are bundled with all versions of FFE.

Support for Tinker internal coordinate, restart and induced dipole file formats, plus of molecules and biopolymers directly from the PubChem, NCI or PDB databases,  or from disk files.

Automatic conversion of downloaded small molecules to Tinker's "BASIC" force field. Also supported is convertion of PDB files to Tinker format with automatic atom typing for many standard biomolecular force fields.

Automatic conversion of downloaded small molecules to Tinker’s “BASIC” force field. Also supported is convertion of PDB files to Tinker format with automatic atom typing for many standard biomolecular force fields.

The most important Force Field Explorer development is to add further molecular editing and visualization features, as well as tighter integration with Tinker. Currently, Java3D is used as the graphics toolkit underlying FFE's visualization engine. Java3D was originally developed by Sun, but is now maintained by an open source consortium and is freely available. Other planned enhancements include support for additional molecule file types and special capabilities for molecular complexes, docking and binding applications.

The most important Force Field Explorer development is to add further molecular editing and visualization features, as well as tighter integration with Tinker. Currently, Java3D is used as the graphics toolkit underlying FFE’s visualization engine. Java3D was originally developed by Sun, but is now maintained by an open source consortium and is freely available. Other planned enhancements include support for additional molecule file types and special capabilities for molecular complexes, docking and binding applications.

Force Field Explorer currently reads Tinker coordinate files (XYZ, INT), restart files (DYN), archive files (ARC), induced dipole files (file suffix ending in "u") and Protein Databank files (PDB). Currently, file writing us only implemented for Tinker XYZ coordinate files.

Force Field Explorer currently reads Tinker coordinate files (XYZ, INT), restart files (DYN), archive files (ARC), induced dipole files (file suffix ending in “u”) and Protein Databank files (PDB). Currently, file writing us only implemented for Tinker XYZ coordinate files.

An attempt is made to open the selected file. Currently, Tinker XYZ coordinate files, Tinker archive files, and Protein Databank files are recognized.

Saves the active file under a different name. Currently, this command is currently only supported for Tinker XYZ coordinate files.

Entering a valid molecule name downloads the corresponding structure from the NIH PubChem database, convert atom types to the “tiny” force field, and save the Tinker XYZ file to the NIH Downloads directory, then open it.

Entering a valid molecule name downloads the corresponding structure from the NCI Cactus database, convert atom types to the “tiny” force field, save the Tinker XYZ file to the NIH Downloads directory, then open it.

Entering a valid 4 character accession downloads the corresponding PDB file, save it to the current Force Field Explorer working directory, then open it.

Allows selecting a specific, non-default Tinker KEY file containing options for the selected molecular system.

Allows selectiong a specific Tinker LOG file that will be displayed in the FFE Log panel.

Tinker Restart files (DYN) contain atomic positions, velocities and two sets of accelerations (current and previous step), but no connectivity information. Loading a Restart file on top of an open Tinker coordinate file allows visualization of velocities and accelerations.

Tinker Induced Dipole files (end in "u") contain induced dipole vectors. They are produced during a molecular dynamics routine using the Tinker “save-induced” keyword. Loading an Induced Dipole file on top of an open Tinker coordinate file allows visualization of induced dipoles.

Tinker Induced Dipole files (end in “u”) contain induced dipole vectors. They are produced during a molecular dynamics routine using the Tinker “save-induced” keyword. Loading an Induced Dipole file on top of an open Tinker coordinate file allows visualization of induced dipoles.

Allows specifying a location for the Tinker executables to be used with Force Field Explorer. The default is to use the executables bundled with the install kit and present under $HOME/Tinker-FFE.

Exit shuts down Force Field Explorer, after saving user preferences.

The set of nodes currently selected are highlighted in the Molecular Tree. If the shift key his pressed while clicking on two nodes, all nodes in between are selected. Alternatively, by holding down the control key while clicking on a node, either in the Tree or Graphics window, the selection state of a node can be toggled. To use Graphics based picking, the Graphics Picking checkbox under the Picking menu must be selected.

Selected residues are labeled by their respective three letter identifiers.

We have intentionally maintained a simple, but elegant rendering mechanism. The Force Field Explorer data structure is self-rendering, meaning that each object “knows how to draw itself”. Rendering commands are “Top-Down”, meaning that commands filter down through the molecular tree, with each node responding and/or passing commands to its children. This paradigm positions Force Field Explorer to easily scale up to multi-level molecular engineering/nanotechnology modeling projects. The intent is to avoid is a rendering/data architecture built upon “an array of atoms”. In our opinion, “an array of atoms” infrastructure does not achieve our molecular engineering design goals. While a graphics change is being rendered, one additional graphics command will be cached. Other commands are ignored while the 3D view catches up. Changes are applied to all selected nodes in the Molecular Tree View.

Represents the selection as a collection of thin lines for bonds.

Represents the selection as a collection of bond tubes of medium diameter. This option can be slow for systems with more than a few thousand atoms.

Represnets the selection as a collection of overlapping atoms of large diameter proportional to their vdw radii.

Represents the selection as a collection of atoms of medium diameter and thin tubes for bonds. This options can be slow for large systems with more than a few thousand atoms.

Removes any graphical representation of the selected system or subsystem.

Similar to Spacefill, but the sphere sizes are set to the Lennard-Jones minima for each atom in the system.

This specifies the thickness of wireframe representations in pixels.

Changes the number of vertices used in creating spheres and cylinders. More vertices (a higher number on the slider) create a smoother appearance, but slower rotations.

Coloring is based on partial charges that correspond to atom types specified in Tinker coordinate files.

Coloring is based on vector magnitude, where the vector may represent velocity, acceleration, induced dipole or force depending on user choice.

Arbitrary colors can be assigned to selected atoms by choosing the “Apply User Color to Selections” menu item. The “User Color” can then be selected to invoke this scheme.

Specify the color to use when selecting the “Apply User Color to Selections” option.

Specifies the active system should be rotated about its center of mass.

Specifies the active system should be rotated about the node selected by graphics picking.

Specify which system is controlled by mouse clicking/dragging within the Graphics window.

To move a system, it must be picked by clicking over it with the mouse.

Reset the global zoom that has been applied to the entire scene.

Remove any global translation that has been applied to the entire scene.

Remove any global rotation that has been applied to the entire scene.

Remove any global rotation and translation, then reset the global zoom.

Change the color of the graphics window background. This is useful for switching to a white background before capturing images that might be printed.

Graphics picking can be used to select nodes anywhere in the structural hierarchy. By holding the control key while picking, the selection state of the picked node is toggled between selected/not selected. However, holding the shift button down while picking currently has no effect.

A Bond will be picked, with consecutive clicks cycling through all Bonds made by the picked atom.

An Angle will be picked, with consecutive clicks cycling through all Angles made by the picked atom.

A Dihedral will be picked, with consecutive clicks cycling through all Dihedrals made by the picked atom.

An individual System from among those currently loaded will be picked.

After selecting two atoms the distance between them will be reported in the Force Field Explorer console.

After selecting three atoms the angle formed between them will be reported in the Force Field Explorer console.

After selecting four atoms the dihedral formed between them will be reported in the Force Field Explorer console.

Picked nodes will be highlighted in the color selected using this control.

Tinker trajectories are stored in Archive files (ARC), which are simply a concatenation of Tinker coordinate files (XYZ, INT).

When the end of a trajectory is reached, it is played in the reverse direction instead of restarting at the beginning.

Choose a frame rate for trajectory playback. If 20 frames per second is entered, for example, a delay of 50 msec between coordinate changes is enforced. Therefore, the actual frame rate will be slower than what is specified if rendering for the system is slow.

Instead of displaying every frame during trajectory playback, only every nth frame will be rendered.

Tinker molecular dynamics, optimization and sampling methods are configured to start a server that listens for Force Field Explorer clients. Once a client-to-server connection is established, simulation information can be sent between Tinker and Force Field Explorer. Multiple Force Field Explorer clients can connect to the same Tinker simulation.

If Force Field Explorer is connected to a Tinker simulation, the connection will be closed.

Force Field Explorer will attempt to connect to a Tinker simulation executing on the current computer.

Force Field Explorer will attempt to connect to a Tinker simulation executing on a remote computer.

Specify the IP address of the remote computer where a Tinker simulation is executing. No domain name server is used, so the address should be of the form: XXX.XXX.XXX.XXX

Specify the port number to be used for connection to a Tinker simulation.

Currently, Force Field Explorer can save screenshots in PNG, JPEG, BMP and GIF formats. In most cases, PNG gives better image quality when using Force Field Explorer than JPEG, likely because the default JPEG configuration use prioritizes small image size over preservation of detail.

Force Field Explorer components can be customized to some extent to suit user preferences. Many user configurable choices are saved between sessions.

This resets the slider between the Molecular Tree and Graphics Windows to the default position. The Graphics window is a heavy weight component (so hardware graphics acceleration can be used), while most Force Field Explorer components are light weight “Swing” components. Unfortunately, this effect prevents the user from dragging the slider and shrinking the Graphics window.

Show/Hide the Global Axes. The Global Axes are used both as a visual cue and to affect global rotations and translations.

This appearance should cause Force Field Explorer to more closely resemble the native platform. In addtion, top bar menu items will be moved to the main FFE application window. The default appearance is "Java Metal", which should be consistent across platforms.

This appearance should cause Force Field Explorer to more closely resemble the native platform. In addtion, top bar menu items will be moved to the main FFE application window. The default appearance is “Java Metal”, which should be consistent across platforms.