Recent Changes

version date changes
1.40 2016-11-21 Several changes were made to make it generally easier to add new force-fields to moltemplate in the future. As a consequence, the "oplsaa_moltemplate.py" script is no longer necessary. The "replace" statement finally makes it possible to group multiple atoms into the same category when looking up force-field parameters. Atomic partial charges can now be determined by who they are bonded to (a.k.a."Charge Pairs" or "bond_increments"). In addition, new force-field parameters were added to OPLSAA by Sebastian Echeverri to enable realistic simulations of alkane chains (based on Sui et al JCTC 2012). Jennifer Clark (NCSU) fixed bugs in the "include" and "import" commands. Thanks also to Yue Chun Chiu (Chinese University of Hong Kong), Juri Selvag (U.Bergen) and Jianhui Lan (nec.ihep.ac.cn) for new examples, bug reports and suggestions.
1.35 - 1.39 2016 summer These versions of moltemplate were not stable enough to release.
1.34 2015-11-18 Fixed an important bug which affects all-atom-force-field error reporting (eg GAFF, OPLSAA). In the past, when user makes a mistake selecting the atom type for an atom in a molecule, moltemplate would report the mistake but incorrectly blame the wrong atom. Since this happens often (it's easy to make a mistake selecting the atom type), this was a serious problem. Thanks to Murai (hinata.hugu29 email) for reporting this bug. I also fixed bugs in the way both ltemplify.py and moltemplate.sh handle simple atom_styles (such as "atomic" or "bond"). Systems built using the default "atom_style full" should not be effected.
1.33 2015-9-22 Fixed two more bugs in ltemplify.py, and updated the example ("cnad-cnt") that makes use of ltemplify.py
1.32 2015-8-17 Fixed a bug that prevented moltemplate from reading coordinates in .XYZ, .PDB, and .RAW format (introduced recently in version 1.31). Fixed a bug with the way moltemplate assigns numbers to atom-types (so that it is now consistent with what was written in the manual). Added the "-datacoeffs" option to ltemplify.py. Thanks to John J. Low for reporting the bug with XYZ and PDB files. Thanks to 陈品 (ChenXupin, email) and Leandro Martinez for fixing the vesicle example, and Evgeni Penev for suggestions how to improve the carbon nanotube+water example.
1.31 2015-8-02 Fixed several bugs in OPLSAA force-field support (oplsaa_moltemplate.py) and data-file-import (ltemplify.py). Several other small changes were made. Many thanks to Jia Fu, Carles Martí, Laurent Joly, and Kushal Panchal helpful bug-reporting and bug-squashing.
1.30 2015 spring Unstable
1.29 2014-12-09 Major update. This version has numerous bug fixes, speed enhancements, and feature enhancements (effecting OPLSAA, AMBER/GAFF, -xyz, -pdb, -raw, delete, "ltemplify.py", "dump2data.py", "raw2data.py"). Examples using the MARTINI (coarse-grained biological) force field have also been added. Improvements to "new random()" allow the user to control the number of molecules in a random mixture (see manual). Speed enhancements can be significant (O(Nlog(N)) instead of O(N^2)). Improper and dihedral interactions can now be generated using more flexible, user-definable rules. Lastly, the TIP3P water molecule models have been corrected. Many thanks to: Saeed Momeni Bashusqeh (MARTINI), S Arun Srikant Sridhar, Fu-Chang Sun, Velencia Witherspoon, Morvarid Bakhshizade, Conor Parks, Xiaolin Xu, Helene Kolding, and Paul Saxe!
1.25 - 1.28 2014 fall These versions of moltemplate were not stable enough to release.
1.24 2014-5-19 Yet more serious bugs have been fixed in both AMBER/GAFF and OPLSAA. OPLSAA now uses "pair_modify mix geometric". (Previously, it used "pair_modify mix arithmetic".) Furthermore, all AMBER/GAFF atom radii were too small by a factor of 2^(-5/6) ~= 0.56. Thanks to Reza Rajabi for catching the error. Please keep those bug reports coming!
1.23 2014-5-16 Another serious bug was fixed which prevented moltemplate from building molecules lacking improper angle interactions using OPLSAA. This would have prevented users from building alkane chains, for example.
1.22 2014-5-04 Miguel Gonzales fixed a serious bug in the OPLSAA force-field database converter (oplsaa_moltemplate.py) which was weakening bonds and bond-angles by a factor of 2. Users who don't use OPLSAA will not be effected.
1.21 2014-4-20 A serious bug in GAFF was fixed that was preventing moltemplate from generating improper interactions correctly. AMBER and GAFF force-field parameters have been updated. OPLSAA atom numbers have changed. Instructions have been added to help users download the most up-to-date OPLSAA parameter files. Due to licensing issues, the raw OPLSAA parameter files have been removed. OPLSAA and GAFF examples were updated. Finally, the default pair_style for GAFF was switched back to "lj/charmm/coul/long".
1.20 2014-4-02 Major update. Jason Lambert has added OPLSAA support to moltemplate! (This probably makes moltemplate the easiest non-graphical way to prepare simulations for LAMMPS which need OPLSAA.) To make it easier to see your molecules, I also added the "-vmd" command-line-argument to automatically start the VMD vizualizer after moltemplate is finished. (You must have vmd installed.)
1.18 2014-3-03 Minor update. I added the "rotvv()" rotation command and updated the documentation.
1.17 2013-12-23 Minor update. Fixed a bug in the "-overlay-dihedrals" command-line argument. Thanks to Fu-Chang Sun for reporting the error!
1.16 2013-12-01 Minor update. I repaired a bug in dump2data.py which effects the "-pdb", "-xyz", or "-raw" command line options.
1.15 2013-10-15 I "fixed" a problem with moltemplate's implementation of the GAFF force-field. LAMMPS crashes when using "lj/charmm/coul/long" on a system without any charged particles, and users were complaining. Atoms should always have non-zero charge, but (when using GAFF) it is up to the user to specify the charge of each atom. So I briefly changed the default pair_style in "gaff.lt" from "lj/charmm/coul/long" to "lj/charmm/coul/charmm" which allows systems without charge. (As of v1.21, the default is now "lj/charmm/coul/long" again.) NOTE: You can always replace the pair_style from lj/charmm/coul/long to lj/charm/coul/charmm, using:
  echo "pair_style hybrid lj/charmm/coul/charmm 9.0 10.0" >> system.in.init
  sed -i 's/lj\/charmm\/coul\/long/lj\/charmm\/coul\/charmm/g' system.in.settings
    
(Do this after running moltemplate.sh. Note: Other force-fields do it differently. OPLSAA generates charge according to atom type, so this is not an issue.)
1.14 2013-10-08 A minor bug fix. (Some of the moltemplate command line options, like "-a", were broken in by the changes in 1.13. This fix addresses that.)
1.13 2013-9-20 I changed the way moltemplate reads atomic coordinates from external (user-supplied) PDB and XYZ files. (Presently these coordinates are actually copied into the DATA file created by moltemplate. In the past, they were assigned using "set" input script commands later requiring the user to include "system.in.coords" in their input scripts.) In addition, moltemplate can now also read coordinates in simple 3-column format using the -raw filename argument. This version also includes the dump2data.py utility for creating LAMMPS DATA files and extracting coordinates from DUMP files.
1.12 2013-08-29 This version introduces the GAFF (Generalized Amber Force-Field). Using GAFF, moltemplate users can now build small organic molecules without needing to manually assign force-field parameters.
1.11 Fixed another serious bug in ltemplify.py.
1.10 2013-07-17 Fixed the bug introduced in version 1.04. I also reduced the memory requirements of moltemplate by a factor of ~3. This makes it possible to construct significantly larger systems on machines with limited RAM. Unfortunatley, moltemplate still requires a great deal of memory (between 3 to 12 GB of RAM per million atoms, depending on the number of bonds and molecules).
(Unfortunately I have forgotten some details regarding older releases.)
1.06 Fixed an important bug in the ltemplify.py script.
1.04 early 2013 While attempting to make it easier for windows users to install moltemplate, I accidentally introduced a disastrous bug. That bug prevents automatic angle generation and it broke many of the moltemplate examples. If you are using a version of moltemplate older than 1.10, please upgrade!
1.0 2012-10-20 Initial release version of moltemplate. (It supports syntax-error checking and is much easier to use than earlier versions.)

Andrew Jewett