Other code
Some random programs and scripts I use are posted here if I think they
might be useful to someone else running polymer simulations.
For some of these programs, documentation is poorly written.
If you need more explanation or help using one of these
programs, email
.
(If I am too busy, I will say so.)
(Some of these programs have little to do with LAMMPS or moltemplate.)
-
genpoly_lt.py
A program for generating moltemplate files that define polymers.
(Usage example
here.)
These polymers can contain any sequence of monomers
(which are moltemplate objects), use any force field,
and may have one or more backbone bonds and share any number of
bonds, angles, dihedrals and impropers between successive monomers.
The shape of the polymer(s) can follow any curve set by the user.
(This script was intended to be useful for generating extremely
long polymers that would otherwise have trouble fitting within
the simulation box boundaries.
This program is currently
included with moltemplate.)
-
interpolate_curve.py
This program reads a 3-column text file containing xyz coordinates
located along a (user-specified) curve, and interpolates them at
evenly-spaced intervals. It (along with "ndmansfield") is useful
prepare simulations of polymers (or polymer melts) using moltemplate.
(In the past, this program was named "interpolate_mt.py".
This program is now
included with moltemplate.)
- dlpdb
is a collection of scripts for automatically downloading large numbers
PDB files and extracting angles, distances, and sequences from them.
It has been to measure the local structure (angles and distances)
between atoms in proteins, single and double-stranded DNA exhaustively
over the entire PDB library.
It can be used to generate local bond-angle and dihedral-angle
statistics needed for
building coarse-grained models of proteins or nucleic acids.
(The user has the option to restrict the statistics to
atoms near the centers of helices and sheets.)
There is a central README file, as well as other README files
scattered throughout the archive explaining what each script does.
(This code was used in Bellesia et al. Prot.Sci.,19:141-154,2010.)
-
gen_all_angles_topo.sh
This script was intended to be invoked on the fly at regular intervals
during a LAMMPS simulation in which bonds are created and destroyed
automatically over time.
(IE, using
fix bond/create
or
fix bond/break.
This script can automatically generate bonded 3 and 4-body angle
interactions in a LAMMPS data file which contains only atoms and bonds.
(Updated 2014-12-27.)
This script can recalculate all "Angles", "Dihedrals", and
"Impropers" in the data file, according to the atom and bond types
and the current bond network. (See README file.)
See README file for an example.
WARNING: This script is old and may no longer work.
Please report any problems.
NOTE: This script requires that
moltemplate
is installed.)
-
ndmansfield
A program to generate long random
compact
self-avoiding walks (polymer conformations)
on a lattice, in an arbitrary number of dimensions (usually 3).
This program provides a way to generate random curves to supply to
genpoly_lt.py
to prepare polymer simulations for moltemplate.
(However the curves typically must be smoothed beforehand, using
interpolate_curve.py , for example.)
This provides one way to prepare simulations of randomly oriented
polymers (or polymer melts) for use with moltemplate.
(To obtain a reasistic polymer melt structure,
the conformations of these polymers will need to be relaxed beforehand,
typically by running a LAMMPS simulation using
pair_style lj/cut/soft
to allow the polymers to pass through each other.)
The curve-generation algorithm is explained in
Mansfield, J. Chem Phys 125:154103 (2006).