forked from lijiext/lammps
131 lines
5.6 KiB
Plaintext
Executable File
131 lines
5.6 KiB
Plaintext
Executable File
These tools were created by Pieter J. in 't Veld (pjintve@sandia.gov)
|
|
and Paul Crozier (pscrozi@sandia.gov), Sandia National Laboratories,
|
|
2005. They are intended to make it easy to use CHARMM as a builder and
|
|
as a post-processor for LAMMPS. Using charmm2lammps.pl, you can
|
|
convert an ensemble built in CHARMM into its LAMMPS equivalent. Using
|
|
lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files.
|
|
|
|
In this directory, you should find:
|
|
1) A perl script called "charmm2lammps.pl"
|
|
2) A perl script called "lammps2pdb.pl"
|
|
3) An "example" folder containing an example of how to use these tools.
|
|
4) An "other" folder containing other potentially useful tools.
|
|
|
|
In addition, you will need to provide the following input for
|
|
charmm2lammps.pl:
|
|
1) a CHARMM parameter file (par_<forcefield>.prm)
|
|
2) a CHARMM topology file (top_<forcefield>.rtf)
|
|
3) a CHARMM coordinates file or pdb file (<project>.crd or <project>.pdb)
|
|
4) a CHARMM psf file (<project>.psf)
|
|
|
|
To use the charmm2lammps.pl script, type: "perl charmm2lammps.pl
|
|
[-option[=#]] <forcefield> <project>" where <forcefield> is the name
|
|
of the CHARMM FF you are using, (i.e. all22_prot), and <project> is
|
|
the common name of your *.crd and *.psf files. The options for the
|
|
script are listed below. If the option requires a parameter, the
|
|
syntax must be [-option[=#]], (i.e. -border=5).
|
|
|
|
-help "display available options",
|
|
-charmm "add charmm types to LAMMPS data file",
|
|
-water "add TIP3P water [default: 1 g/cc]",
|
|
-ions "add (counter)ions using Na+ and Cl- [default: 0 mol/l]",
|
|
-center "recenter atoms",
|
|
-quiet "do not print info",
|
|
-pdb_ctrl "output project_ctrl.pdb",
|
|
-l "set x-, y-, and z-dimensions simultaneously",
|
|
-lx "x-dimension of simulation box",
|
|
-ly "y-dimension of simulation box",
|
|
-lz "z-dimension of simulation box",
|
|
-border "add border to all sides of simulation box [default: 0 A]",
|
|
-ax "rotation around x-axis",
|
|
-ay "rotation around y-axis",
|
|
-az "rotation around z-axis"
|
|
|
|
In the "example" folder, you will find example files that were created
|
|
by following the steps below. These steps describe how to take a
|
|
biomolecule and convert it into LAMMPS input, and then create a *.pdb
|
|
trajectory from the LAMMPS output.
|
|
|
|
1) Get the pdb file you want to model. http://www.rcsb.org/pdb/ For
|
|
this example, we will use 1ac7.pdb
|
|
|
|
2) If there are multiple models in the pdb file, choose the one you
|
|
want and delete the others. Save the pared-down file as 1ac7_pared.pdb
|
|
|
|
3) Download the charmm FF files and choose the one you want from the
|
|
tarball. We will use all27_na for this example.
|
|
http://www.pharmacy.umaryland.edu/faculty/amackere/force_fields.htm
|
|
toppar_c31b1.tar.gz
|
|
|
|
4) Create a *.pgn file for use with psfgen (you will need to have VMD
|
|
installed, http://www.ks.uiuc.edu/Research/vmd/ ). This is the hardest
|
|
step because you have to change the residue names from what the *.pdb
|
|
file has to the corresponding names in the charmm FF files. You'll
|
|
need to add a "pdbalias residue x xnew" line for each change that
|
|
needs to be made. The *.pgn should contain something like this:
|
|
|
|
package require psfgen
|
|
topology top_all27_na.rtf
|
|
pdbalias residue A ADE
|
|
pdbalias residue T THY
|
|
pdbalias residue G GUA
|
|
pdbalias residue C CYT
|
|
.
|
|
.
|
|
.
|
|
segment A {pdb 1ac7_pared.pdb}
|
|
coordpdb 1ac7_pared.pdb A
|
|
guesscoord
|
|
writepdb 1ac7.pdb
|
|
writepsf charmm 1ac7.psf
|
|
exit
|
|
|
|
5) Type "vmd -e 1ac7.pgn" to build the 1ac7.psf file, and the new
|
|
1ac7.pdb file.
|
|
|
|
6) Run charmm2lammps.pl by typing:
|
|
"perl charmm2lammps.pl all27_na 1ac7 -charmm -border=1 -pdb_ctrl -water -ions"
|
|
|
|
7) Run lammps by typing: "lmp < 1ac7.in"
|
|
|
|
8) Run lammps2pdb.pl by typing: "perl lammps2pdb.pl 1ac7"
|
|
|
|
** Additional notes:
|
|
|
|
The charmm2lammps.pl script takes the pdb and psf files for the 1ac7
|
|
molecule and converts them into LAMMPS format. The -water option
|
|
embeds the molecule in water on a crystal lattice. The -border option
|
|
includes a layer of water surrounding the minimum dimensions of the
|
|
molecule. The -pdb_ctrl option produces the 1ac7_ctrl.pdb file that
|
|
can be visualized in a standard visualization package such as VMD. The
|
|
-charmm option put comments into the LAMMPS data file (everything
|
|
after the # sign is a comment) for user convenience in tracking atom
|
|
types etc. according to CHARMM nomenclature.
|
|
|
|
The default timestep in the LAMMPS *.in file is set to 0.5 fs, which
|
|
can typically be increased to 2 fs after equilibration if the bonds
|
|
involving H are constrained via shake. Also, after equilibration, the
|
|
delay on neigh_modify can probably increased to 5 or so to improve
|
|
speed.
|
|
|
|
The -ions option allows the user to neutralize the simulation cell
|
|
with Na+ or Cl- counterions if the molecule has a net
|
|
charge. Additional salt can be added by increasing the default
|
|
concentration (i.e. -ions=0.5).
|
|
|
|
** In the "other" file folder, you will find:
|
|
|
|
1) A FORTRAN 90 code called "mkpdb.f". Requires "in_mkpdb". This is a
|
|
fortran code that is an alternative way to convert LAMMPS dump
|
|
files into pdb format.
|
|
|
|
2) A FORTRAN 90 code called "mkdcd.f" (and a FORTRAN 77 version called
|
|
mkdcd_f77.f). Requires "in_mkdcd". Creates CHARMM format
|
|
trajectories from LAMMPS dump files.
|
|
|
|
3) A 3rd party perl script called "crd2pdb.pl"
|
|
|
|
4) A 3rd party fortran code called "pdb_to_crd.f"
|
|
|
|
|