LAMMPS is an extremely flexible and customizable molecular dynamics engine. Moltemplate is a general cross-platform text-based molecule builder for LAMMPS. Moltemplate was designed for inventing new kinds of complex coarse-grained toy models of molecules, molecular machines, and assemblies. However it is well suited for preparing realistic all-atom simulations as well. It supports a wide variety of existing force fields and models including: OPLS, AMBER(GAFF,GAFF2), COMPASS, LOPLS(2015), EFF, TraPPE(1998), MOLC, MARTINI, SDK, mW, ELBA(water), and oxDNA2. However it can be used to build molecules using any of the force fields (and atom styles) available in LAMMPS, including new force fields created by modifying the LAMMPS source code. Molecules can be copied, combined, and linked together as building-blocks to define new molecules (hierarchically). Once built, individual molecules and subunits can be customized (atoms, bonds, and subunits can be moved and deleted). Moltemplate is currently interoperable with: VMD , PACKMOL , OVITO , CellPACK , VIPSTER , and the ATB, and LibParGen molecule servers (by using the ltemplify.py converter).
|Unlimited levels of composition make it easy to build complex hierarchical assemblies frequently encountered in biology.|
moltemplate.sh [-atomstyle style] [-pdb/-xyz coord_file] [-a assignments.txt] [-vmd] file.lt
An LT-file containing molecule definitions can be converted to LAMMPS input files using moltemplate.sh:
moltemplate.sh -xyz coords.xyz -atomstyle "full" -vmd system.lt
Either of these commands will construct a LAMMPS data file and a LAMMPS input script (and possibly one or more auxiliary input files), which can be directly run in LAMMPS with minimal editing.
In the first example, the coordinates of the atoms in the system are built from commands inside the "system.lt" file. In the second example coordinates for the atoms are read from an XYZ-file, and then VMD is invoked to visualize the system just created. (PDB-files and simple 3-column coordinate files are also supported. The "full" atom style was used in this example, which is also the default. However other LAMMPS atom styles are supported, including hybrid style-lists, enclosed in quotes.)
Existing LAMMPS input/data files can be converted into moltemplate (".LT") format using the "ltemplify.py" utility.
Moltemplate requires the Bourne-shell, and a recent version of python
(2.7 or 3.0 or higher), and can run on OS X, linux, or windows
(if a suitable
shell environment has been installed).
Substantial memory required.
(Between 3 and 12 GB of RAM needed per 1000000 atoms.)
Moltemplate is free and is available under the terms of the open-source
3-clause BSD license: