Releases: jewettaij/moltemplate
edge case bug
fixed a bug preventing generation of helpful error messages in response to non-sensical user input (eg "@atom:"). The previous version would crash with an uncaught exception when presented with this input:
write_once("In Settings") {
pair_coeff @atom:WallParticle/W @atom:
}
Molecule {
write("Data Atoms") {
$atom:w $mol:. @atom:W 0.0 0.0 0.0 0.0
}
}
(The syntax error in this example is on line 2. The new version of ttree.py and moltemplate.sh generate error messages instead of crashing.)
fixed python3 specific bug involving ".."
fixed a python3-specific bug in ttree.py causing expressions containing ".." (like "@atom:../A") to sometimes cause an uncaught exception. Example:
MoleculeTypeA {
write_once("In Settings") {
@atom:../A
}
}
MoleculeTypeB {
}
These kinds of expressions should work again now. (The A leaf node should be created in "/" now.)
updated the manual and fixed 2 bugs
updated the manual. updated dump2data.py. fixed a bug reading triclinic boundary conditions from PDB files that affects some versions of awk. Corrected the README file for the EFF example.
fixed a minor edge-case bug in genpoly_modify_lt.py
Previous versions of genpoly_modify_lt.py would crash when told to make 0 modifications. The current version handles this edge case more gracefully. Several examples and README files were also updated.
COMPASS bug fix
fixed a bug in COMPASS and "msifrc2lt.py" causing low priority dihedrals and impropers to occasionally override high priority ones
infrastructure, regex, COMPASS improvements
Summary:
This release contains infrastructure improvements for parsing text, as well as bug fixes for the COMPASS force field as well as the "msifrc2lt.py" converter script.
Infrastructure:
- Greater consistency with the way wildcards and regular expressions are handled. All rules for generating angles, dihedrals, impropers, and looking up bond types and charge-by-bonds, as well as all pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, and improper_coeffs can accept wildcards and regular expressions (eg "@atom:re.c[1-6]") . (NOTE: Regular expressions have not been tested yet, but the infrastructure for supporting them is finally there.)
- Counter variables ($ and @) can no longer contain , or () characters. (In the future, this will make it much easier to create source code for programming languages. Note to self: The +-=/. characters are still allowed. The / and . characters are used for path resolution and should never be forbidden.)
COMPASS: The "msifrc2lt.py" script has been (hopefully) fixed and is now able to convert the COMPASS force field files again. This made it possible to fix 2 bugs in the "compass_published.lt" force field file: 1) wildcards are now given low priority instead of high priority, and 2) non-hybrid bond, angle, dihedral, improper, and pair styles are used by default (for KOKKOS compatibility). Also: Commas were removed from the atom type names (and replaced with ~ characters).
reverted the "moltemplate.sh" file back to v2.18.8 to fix a packaging bug
This fixed a unit test failure I was having after introducing v2.17.9.
fixed a bug causing trouble on systems with both python2 and python3 installed
v2.17.8 fixed a bug causing trouble on systems with both python2 and python3 …
updated and documented genpoly_modify_lt.py & genpoly_lt.py. added DNA examples
Slight changes were made to the behavior of genpoly_lt.py and genpoly_modify_lt.py. The coarse grained examples have been reorganized. Some complex coarse grained DNA examples have been added or updated.
fixed more bugs in "genpoly_modify_lt.py"
Still no documentation for the "genpoly_modify_lt.py" program yet. (I doubt this program is useful to anyone else yet. But future examples will require it, so I should eventually document what it does.)