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_.prm) 2) a CHARMM topology file (top_.rtf) 3) a CHARMM coordinates file or pdb file (.crd or .pdb) 4) a CHARMM psf file (.psf) To use the charmm2lammps.pl script, type: "perl charmm2lammps.pl [-option[=#]] " where is the name of the CHARMM FF you are using, (i.e. all22_prot), and 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"