NAMD on Seawulf
Sample tcsh script for running NAMD
#!/bin/tcsh #PBS -l nodes=8:ppn=2 #PBS -l walltime=02:00:00 set path = ( $path /usr/local/pkg/NAMD_2.6/Linux-amd64-MPI ) setenv LD_LIBRARY_PATH "/usr/local/pkg/openmpi/lib:/lib:/usr/local/pkg/torque/lib/" set workdir = /home/sudipto/path/to/files cd $workdir set namd2 = /usr/local/pkg/NAMD_2.6/Linux-amd64-MPI/namd2 mpirun -x PATH -x LD_LIBRARY_PATH -np 16 $namd2 01mi.in > 01mi.out
Use "qsub" to run the script above, info for the command on seawulf PBS_queue
Contents
Running NAMD with AMBER parm and crd files
NAMD will run systems prepared by AMBER. Here is a generic input file for doing this. for further details about each parameter, look in the NAMD User Guide. There are several parameters with dummy values such as Z-AMBERPARM or Z_AMBERCRD. Replace these placeholders with your filenames and other parameters. Anything in the NAMD input file with a # sign in front of it is interpreted as a comment. You need to uncomment the parameters you are using to create a valid input file from the generic one provided below. The cellbasisvectors and cellorigin parameters can be measured using VMD.
#input files (section 3.2.1) amber on #specifies we are using AMBER Prm and CRD files #parmfile Z-AMBERPARM #specifies we are using AMBER Prm and CRD files #ambercoor Z-AMBERCRD #specifies we are using AMBER Prm and CRD files #velocities Z-VELOCITIES #velocity file for a restart note that in a restart delete the temp #output file (section 3.2.2) #outputname Z-OUTPUTNAME #specifies the prefix for the output files binaryoutput no #activates binary output (yes=binary) DCDfreq 1000 #number of timesteps between the writing coordinates #standard output (section 3.2.3) outputenergies 1000 #number of timesteps between energy output outputTiming 1000 #number of timesteps between timing output #timestep parameters (section 5.3.1) firsttimestep 0 #frame number where the simulation starts timestep 1 #length of each step in fs stepspercycle 20 #how often the interacting particle lists are updated #space partitionin (section 5.3.2) cutoff 12 #non-bonded cutoff switching on #smoothing function for ES and VDW switchdist 10 #distance at which the smoothing function is applied pairlistdist 16 #distance >= switchdist for atom pairs to be included in the pairlist margin 8 #see section 5.3.2 #basic dynamics (section 5.3.3) exclude scaled1-4 #which bonded atom pairs are excluded from non-bonded calculations #temperature Z-TEMPERATURE #INITIAL temperature of the simulation note delete on restart 1-4scaling 0.833333 #1.0 for Charmm, 0.833333 for Amber scnb 2 #This is default for both Amber and Charmm rigidbonds water #controls how shake is used rigidTolerance 0.00001 #allowable bond length error for shake #PME parameters (section 5.3.5) PME yes #turns PME on or off (yes=on no=off) PMEGridSpacing 1.0 #standard spacing. Namd asigns the grid size. #constraints (section 6.1) constraints on #on or off #consref Z-CONSREF #pdb file with restraint reference positions #conskfile Z-CONSKFILE #pdb file with force constant values conskcol B #use the beta column in the pdb for contraints #temperature control and equilibration (section 6.3) langevin on #turns langevin dynamics on or off langevinTemp 310 #temp to which langevin dynamics will be adjusted langevinDamping 1 #damping coefficient for langevin dynamics #periodic boundry conditions (section 6.4.3) cellbasisvector1 $boxsize_x 0 0 #defines the first periodic boundary cellbasisvector2 0 $boxsize_y 0 #defines the second periodic boundary cellbasisvector3 0 0 $boxsize_z #defines the third periodic boundary cellorigin $centerofbox #defines the xyz location of the center of the box
- extendedSystem Z-EXTENDEDSYSTEM #defines file which contains the PBC info from previous runs
wrapwater on #wraps the waters to one box. wrapall on #wraps every contiguous cluster of bonded atoms wrapNearest off #wraps coordinates to the nearest image to the origin #pressure control (section 6.5) langevinPiston on #turns on constant pressure langevinPistonTarget 1.01325 #target pressure langevinPistonPeriod 200 #period over which the pressure is averaged in fs langevinPistonDecay 100 #damping time scale in fs langevinPistonTemp 310 #should be equal to langevin temp #equilibration #run Z-NSTEPS #minimize Z-NSTEPS
There are more details about running NAMD in the NAMD tutorial, although the NAMD input files in that article are NOT up to date. Please use the input file from this article.
If you need to fine-tune your input files, it might take a long time if you hvae to submit jobs to the queue every time. For this reason, we have compiled a serial version of namd as well. This is in /usr/local/pkg/NAMD_2.6/Linux-amd64-g++
Only use that binary for testing (or serial jobs on the queue). Do not use that binary to run on the seawulf headnode for more than a few minutes.
Running namd with psf and pdb inputs
#input files (section 3.2.1) #coordinates Z-COORDINATES #name of coordinate (pdb) file #structure Z-STRUCTURE #psf file parameters par_all27_prot_lipid.prm #parameter file paratypecharmm on #specifies if this is a charmm force field (on or off) #velocities Z-VELOCITIES #velocity file for a restart. In a restart delete the temperature #output file (section 3.2.2) #outputname Z-OUTPUTNAME #specifies the prefix for the output files binaryoutput no #activates binary output (yes=binary) #DCDfreq Z-DCDfreq #standard output (section 3.2.3) #outputenergies Z-outputenergies #number of timesteps between energy output #outputTiming Z-outputTiming #number of timesteps between timing output #timestep parameters (section 5.3.1) firsttimestep 0 #frame number where the simulation starts #timestep Z-TIMESTEP stepspercycle 20 #how often the interacting particle lists are updated #space partitioning (section 5.3.2) cutoff 12 #non-bonded cutoff switching on #smoothing function for ES and VDW switchdist 10 #distance at which the smoothing function is applied pairlistdist 16 #distance >= switchdist for atom pairs to be included in the pairlist margin 0 #see section 5.3.2 #basic dynamics (section 5.3.3) exclude scaled1-4 #which bonded atom pairs are excluded from non-bonded calculations #temperature Z-TEMPERATURE #INITIAL temperature of the simulation note delete on restart 1-4scaling 1.0 #1.0 for Charmm, 0.833333 for Amber #rigidbonds Z-RIGIDBONDS #controls how shake is used (on or off) rigidTolerance 0.00001 #allowable bond length error for shake #PME parameters (section 5.3.5) PME yes #turns PME on or off (yes=on no=off) pmeGridSpacing 1.0 # automatically assigns PME box sizes #constraints (section 6.1) constraints on #on or off #consref Z-CONSREF #pdb file with restraint reference positions #conskfile Z-CONSKFILE #pdb file with force constant values conskcol B #use beta column in pdb file #temperature control and equilibration (section 6.3) langevin on #turns langevin dynamics on or off langevinTemp 310 #temp to which langevin dynamics will be adjusted langevinDamping 1 #damping coefficient for langevin dynamics #periodic boundry conditions (section 6.4.3) cellbasisvector1 $boxsize_x 0 0 #defines the first periodic boundary cellbasisvector2 0 $boxsize_y 0 #defines the second periodic boundary cellbasisvector3 0 0 $boxsize_z #defines the third periodic boundary cellorigin $centerofbox #defines the xyz location of the center of the box #extendedSystem Z-EXTENDEDSYSTEM #defines file which contains the PBC info from previous runs wrapwater on #wraps the waters to one box. wrapall on #wraps every contiguous cluster of bonded atoms wrapNearest off #wraps coordinates to the nearest image to the origin #pressure control (section 6.5) langevinPiston on #turns on constant pressure langevinPistonTarget 1.01325 #target pressure langevinPistonPeriod 200 #period over which the pressure is averaged in fs langevinPistonDecay 100 #damping time scale in fs langevinPistonTemp 310 #should be equal to langevin temp #equilibration #run Z-NSTEPS #minimize Z-NSTEPS
To increase parallelism for large number of processors, especially on Blue Gene, use
twoAwayX yes # doubles the number of patches (divides the box in the x direction) twoAwayY yes # doubles the number of patches (divides the box in the y direction) twoAwayZ yes # doubles the number of patches (divides the box in the z direction)
Sample minimization parameters
Replace the following parameters in the generic namd input file above to perform a minimization. The parameters which are not mention can remain commented out with the # before them. We are doing 1000 steps of minimization at 310K and using shake on the water hydrogens only.
outputname 01mi coordinates complex.solvated.pdb conskfile restraint01.pdb structure complex.solvated.psf temperature 310 consref reference.solvated.pdb langevinTemp 310 minimize 1000 DCDfreq 1000 outputenergies 1000 outputTiming 1000 rigidbonds water
Sample MD paramters
This is a 500ps simulation with a timestep of 1fs. 03mi indicates the last namd run we are getting the input coordinates and velocities from. The xsc file contains the velocities. We are using shake on all the hydrogen atoms. Since we are using shake on all hydrogens, we could increase the timestep to 2fs to make this a 1ns simulation.
outputname 04md coordinates 03mi.coor extendedSystem 03mi.xsc conskfile complex.restraint04.pdb structure complex.new.solvated.psf temperature 310 consref complex.new.solvated.pdb langevinTemp 310 run 500000 timestep 1 DCDfreq 1000 outputenergies 1000 outputTiming 1000 rigidbonds all