or to
the LAMMPS mailing list.
(User-contributed examples and force-fields are welcome.)
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 building complex coarse-grained toy molecular models, but it can be used to prepare realistic all-atom simulations as well. Nearly any kind of molecular model or force-field in LAMMPS can be represented as a moltemplate object. (This includes most user-created force-fields implemented by modifying the LAMMPS source-code). Molecule objects can be copied, combined, and linked together as building-blocks to define new molecule objects. Once built, individual molecules and subunits can be customized (atoms and bonds, and subunits can be moved and deleted). Typical objects contain atom coordinates, topology data (bonds), LAMMPS force-field data, and other LAMMPS settings (such as group definitions, constraints, fixes, and user-defined input files) for any type of molecule (or molecular subunit).
Existing LAMMPS input/data files can be converted into moltemplate (".LT") format using the "ltemplify.py" utility. (Additional manual editing may be required.)
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.)
Visual Examples/Tutorials:
(This is a partial list.
Other examples are available for download.
See menu bar at upper-left.)
| Building a simple polymer (using the OPLSAA force field) (click below for input files) | ||||||
| Requirements: | This example requires that LAMMPS is built with the optional USER-MISC package. You must also download and edit the oplsaa.prm file, and use it to create the oplsaa_subset.prm and oplsaa.lt files. (See README.TXT ) | |||||
|
|
|
|
|
|
|
| ch3group.lt | ch2group.lt |
alkane50.lt
system.lt (Note: more complex shapes are possible) |
README.TXT
run.in.min run.in.nvt |
|||
| Build Using: |
oplsaa_moltemplate.py oplsaa_subset.prm moltemplate.sh system.lt |
|||||
| Coarse-grained lipid bilayer (using the MARTINI force-field) (click below for input files) | ||||||
| Requirements: | This example uses PACKMOL (For an alternative method, see system.lt ) | |||||
| |
|
|
|
|
|
|
README.TXT
lipid.lt water.lt system.lt |
README_pm.txt
lipid.xyz water.xyz mix_lipids+water.inp |
run.in.min
run.in.npt run.in.nvt |
(video) | |||
| Build Using: |
packmol < mix_lipids+water.inp moltemplate.sh -xyz system.xyz system.lt |
|||||
| Translocation of a Short Polymer Through a Pore (Explicit LJ Solvent) (click below for input files) | ||||||
| Requirements: | This example requires that LAMMPS is built with the optional RIGID package. | |||||
|
|
|
|
|
|
|
|
solvent_single.lt, solvent.lt |
wall_single.lt, walls.lt |
monomer.lt, polymer.lt |
system.lt, run.in.npt, ( video ) |
|||
| Build Using: |
moltemplate.sh system.lt |
|||||
| Carbon-Nanotube Capillary (all-atom, explicit water) (click below for input files) | ||||||
|
|
(reader's comment: atoms near junction should be adjusted.
Chiral nanotubes need special treatment.)
|
|
|
|
....
|
|
graphene.lt |
nanotube.lt, graphene_walls.lt |
spce.lt, water_box.lt |
system.lt, run.in.nvt, ( video ) |
|||
| Build Using: |
moltemplate.sh system.lt |
|||||
| Many-Body Force-Field Example: mW Solvent + CG Hydrocarbon Mixture (Many-body force-fields can be combined with ordinary, pairwise-additive force-fields. Click below for input files.) | ||||||
| Requirements: | This example requires that LAMMPS is built with the MANYBODY package. | |||||
|
|
|
|
|
|
|
|
README
watmw.lt |
cyclododecane.lt, trappe1998.lt |
system.lt | run.in.npt ( video ) | |||
| Build Using: |
moltemplate.sh -a "@atom:/WatMW/mW 1" system.lt |
|||||
| Coarse-Grained Membrane Protein click below for input files (apology) | ||||||
| Requirements: | This example requires that LAMMPS is built with the optional USER-MISC package, before additional code is added (in that order) | |||||
|
|
|
|
|
|
|
|
|
CGLipidBr2005.lt, table_int.dat |
1beadProtSci2010.lt, |
system.lt | run.in.npt | |||
| Build Using: |
moltemplate.sh system.lt |
|||||
| Multicomponent vesicle with protein inclusions click below for input files (apology) | Requirements: | This example requires PACKMOL. LAMMPS must be built with the optional USER-MISC package, before additional code is added (in that order) | ||||
|
|
|
|
||||
|
Moltemplate files: README_mt.txt, CGLipidBr2005.lt, table_int.dat, 1beadProtSci2010.lt, system.lt |
PACKMOL files: README_pm.txt, DPPC.xyz, DLPC.xyz, protein.xyz, step1_proteins.inp, step2_innerlayer.inp, step3_outerlayer.inp |
|
LAMMPS files: run.in.min, run.in.nvt This is a complex example requiring hours to set up. Please follow the instructions in the README files. |
|||
| Build Using: |
packmol < step1_proteins.inp # requires 20 minutes packmol < step2_innerlayer.inp # at least 90 minutes packmol < step3_outerlayer.inp # at least 4 hours (creates system.xyz) moltemplate.sh -xyz system.xyz system.lt |
|||||
| Unlimited levels of composition make it easy to build complex hierarchical assemblies frequently encountered in biology. (eg. atoms->residues->proteins->dimers->filaments->mircotubules...) |
|
moltemplate.sh [-atomstyle style] [-pdb/-xyz coord_file] [-a assignments.txt] [-vmd] file.lt
moltemplate.sh system.ltor
moltemplate.sh -xyz coords.xyz -atomstyle "full" -vmd system.ltEither 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.)