From 1b5f78f6dc33ec673ae9165b031eea494b56ddec Mon Sep 17 00:00:00 2001 From: Jose Borreguero Date: Wed, 3 Jul 2013 14:31:37 -0400 Subject: [PATCH] Refs #24 added PBS jobs for short test --- simulation/namd_camm-shorttest.pbs | 356 ++++++++++++++++++++++++++ simulation/sassina_camm-shorttest.pbs | 62 +++++ 2 files changed, 418 insertions(+) create mode 100644 simulation/namd_camm-shorttest.pbs create mode 100644 simulation/sassina_camm-shorttest.pbs diff --git a/simulation/namd_camm-shorttest.pbs b/simulation/namd_camm-shorttest.pbs new file mode 100644 index 0000000..68cc82e --- /dev/null +++ b/simulation/namd_camm-shorttest.pbs @@ -0,0 +1,356 @@ +#!/bin/bash +#PBS -l nodes=12:ppn=16 +#PBS -l walltime=100:00:00 +#PBS -j oe +#PBS -N namdTest + +cd $PBS_O_WORKDIR + +MPIRUN="/shared/openmpi/gcc/bin/mpirun" +NAMD=/shared/local/namd/NAMD_2.9_Linux-x86_64-mpi_shared/Linux-x86_64-g++/namd2 + +#Run 3 jobs simultaneously, each with one third cores + +let total_tasks=$(wc -l $PBS_NODEFILE | awk '{print $1}') +let num_jobs=3 +let tasks_per_job=$total_tasks/$num_jobs + +#Assume jobs run in separate directories, job1, job2, ... +for i in $(seq $num_jobs) +do + #write hostfile for i-th job to use + let lstart=($i-1)*${tasks_per_job}+1 + let lend=${lstart}+${tasks_per_job}-1 + sed -n ${lstart},${lend}'p' < $PBS_NODEFILE >nodefile$i +done + +#Eq config file +cat > equilibrate.conf <<'@EQEOF' +############################################################# +## JOB DESCRIPTION ## +############################################################# + +# Retrieve init.* from the annealing directory with original +# Hydrogen charge. + + +############################################################# +## ADJUSTABLE PARAMETERS ## +############################################################# +set temperature 290 ;# initial temperature, in Kelvin +set charge 42 ;# hydrogen charge +set pressure 1.01325 ;# in bar -> 1 atm +set inputname init ;# prefix for input files +set outputname equilibrate ;# prefix for output files + +############################################################# +## SIMULATION PARAMETERS ## +############################################################# +# Input files +structure toppar/Q$charge.psf ;# topoloty +coordinates toppar/crd.md18_vmd_autopsf.pdb ;# coordinates +#binCoordinates $inputname.restart.coor; # binaryCoordinates override coordinates +#binVelocities $inputname.restart.vel; +temperature $temperature ; # do not set the temperature if we pass a velocities file +extendedSystem $inputname.xsc; # extended info file + +paraTypeCharmm on ;# CHARMM force-field +parameters toppar/par_all27_prot_lipid.inp + +# These are specified by CHARMM +exclude scaled1-4 +1-4scaling 1.0 +switching on + +# You have some freedom choosing the cutoff +cutoff 12.0 ;# may use smaller, maybe 10., with PME +switchdist 10.0 ;# cutoff - 2. +pairlistdist 14.0 ;# cutoff + 2. Promise that atom won't move more than 2A in a cycle +stepspercycle 20 ;# redo pairlists every X steps +pairlistsPerCycle 2 ;# This means the parilist will be updataed every stepspercycle/pairlistsPerCycle = 10 (default=10) + +# Integrator Parameters +timestep 1.0 ;# 1fs/step +rigidBonds none ;# rigidBonds=none needed to record vibrations of bonds involving hydrogens +nonbondedFreq 1 ;# nonbonded forces every step +fullElectFrequency 1 ;# evaluate PME every X steps + +# Periodic Boundary Conditions. Only given when starting a simulation from scratch, +# since the basis vectors will fluctuate during constant pressure simulation and +# updated values need to be read via extendedSystem from a .xsc file. +#cellBasisVector1 36.0 0. 0.0 +#cellBasisVector2 0.0 36.0 0.0 +#cellBasisVector3 0.0 0 36.0 + +# Wrap output coordinates to the central cell +wrapWater on ;# wrap water to central cell +wrapAll on ;# wrap other molecules too +wrapNearest off ;# issue for non-rectangular cells + +# PME (for full-system periodic electrostatics) +PME on +PMEInterpOrder 6 ;# interpolation order (spline order = 6 in CHARMM) +PMEGridSpacing 1.0 +PMEGridSizeX 40 ;# should be slightly higher than the cell size and a multiple of 2, and/or 3, and/or 5 +PMEGridSizeY 40 +PMEGridSizeZ 40 + +# Langevin tempeature control +langevin on ;# do langevin dynamics +langevinTemp $temperature +langevinDamping 1.0 ;# damping coefficient (gamma) of 1/ps +langevinHydrogen off ;# don't couple langevin bath to hydrogens + # Control parameters for annealing + #reassignFreq 3000 ;# number of timesteps between temperature reassignment + #reassignTemp 290 ;# new temperature when reassignment happens + #reassignIncr -1.0 ;# temperature increment when reassignment happens + #reassignHold 10.0 ;# target or limit temperature + +# Constant Pressure Control (variable volume) +useGroupPressure no ;# needed if rigidBonds are declared +useFlexibleCell no ;# anysotropic cell fluctuations. Adequate for membrane simulations +useConstantArea no ;# no for water box, maybe for membrane simulations +langevinPiston on +langevinPistonTarget $pressure ;# in bar -> 1 atm +langevinPistonPeriod 100.0 ;# in fs +langevinPistonDecay 50.0 ;# recommended langevinPistonPeriod = 2 * langevinPistonDecay +langevinPistonTemp $temperature ;# coupled to heat bath + +# Output +outputName $outputname ;# prefix for output files +restartfreq 5000 ;# overwrite restart file every X steps +DCDUnitCell yes ;# write unit cell data to DCD file +dcdfreq 5000 ;# write coords every X steps +xstFreq 5000 ;# write extended trajectory every X steps +#forceDCDfreq 1000 ;# trajectory of atom forces every X steps +outputEnergies 5000 +outputPressure 5000 +outputTiming 5000 + +############################################################# +## EXTRA PARAMETERS ## +############################################################# + +# Put here any custom parameters that are specific to +# this job (e.g., SMD, TclForces, etc...) + +################################################################### +## EXECUTION SCRIPT +# time namd2-mc +idlepoll +p8 file.conf > file.log (8 cores) +################################################################### + +# Minimization +#minimize 1000 ;# perform 1000 minimization steps + +firsttimestep 0 ;# reset frame counter +run 5000 ;# 5ps +@EQEOF + +#Production config file +cat > production.conf <<'@PRODEOF' +############################################################# +## JOB DESCRIPTION ## +############################################################# + +# Retrieve init.* from the annealing directory with original +# Hydrogen charge. + + +############################################################# +## ADJUSTABLE PARAMETERS ## +############################################################# +set temperature 290 ;# initial temperature, in Kelvin +set charge 42 ;# hydrogen charge +set pressure 1.01325 ;# in bar -> 1 atm +set inputname production00 ;# prefix for input files +set outputname production ;# prefix for output files + +############################################################# +## SIMULATION PARAMETERS ## +############################################################# +# Input files +structure toppar/Q$charge.psf ;# topoloty +coordinates toppar/crd.md18_vmd_autopsf.pdb ;# coordinates +binCoordinates $inputname.restart.coor; # binaryCoordinates override coordinates +binVelocities $inputname.restart.vel; +#temperature $temperature ; # do not set the temperature if we pass a velocities file +extendedSystem $inputname.restart.xsc; # extended info file + +paraTypeCharmm on ;# CHARMM force-field +parameters toppar/par_all27_prot_lipid.inp + +# These are specified by CHARMM +exclude scaled1-4 +1-4scaling 1.0 +switching on + +# You have some freedom choosing the cutoff +cutoff 12.0 ;# may use smaller, maybe 10., with PME +switchdist 10.0 ;# cutoff - 2. +pairlistdist 14.0 ;# cutoff + 2. Promise that atom won't move more than 2A in a cycle +stepspercycle 20 ;# redo pairlists every X steps +pairlistsPerCycle 2 ;# This means the parilist will be updataed every stepspercycle/pairlistsPerCycle = 10 (default=10) + +# Integrator Parameters +timestep 1.0 ;# 1fs/step +rigidBonds none ;# rigidBonds=none needed to record vibrations of bonds involving hydrogens +nonbondedFreq 1 ;# nonbonded forces every step +fullElectFrequency 1 ;# evaluate PME every X steps + +# Periodic Boundary Conditions. Only given when starting a simulation from scratch, +# since the basis vectors will fluctuate during constant pressure simulation and +# updated values need to be read via extendedSystem from a .xsc file. +#cellBasisVector1 36.0 0. 0.0 +#cellBasisVector2 0.0 36.0 0.0 +#cellBasisVector3 0.0 0 36.0 + +# Wrap output coordinates to the central cell +wrapWater off ;# wrap water to central cell +wrapAll off ;# wrap other molecules too +wrapNearest off ;# issue for non-rectangular cells + +# PME (for full-system periodic electrostatics) +PME on +PMEInterpOrder 6 ;# interpolation order (spline order = 6 in CHARMM) +PMEGridSpacing 1.0 +PMEGridSizeX 40 ;# should be slightly higher than the cell size and a multiple of 2, and/or 3, and/or 5 +PMEGridSizeY 40 +PMEGridSizeZ 40 + +# Langevin tempeature control +langevin on ;# do langevin dynamics +langevinTemp $temperature +langevinDamping 1.0 ;# damping coefficient (gamma) of 1/ps +langevinHydrogen off ;# don't couple langevin bath to hydrogens + # Control parameters for annealing + #reassignFreq 3000 ;# number of timesteps between temperature reassignment + #reassignTemp 290 ;# new temperature when reassignment happens + #reassignIncr -1.0 ;# temperature increment when reassignment happens + #reassignHold 10.0 ;# target or limit temperature + +# Constant Pressure Control (variable volume) +useGroupPressure no ;# needed if rigidBonds are declared +useFlexibleCell no ;# anysotropic cell fluctuations. Adequate for membrane simulations +useConstantArea no ;# no for water box, maybe for membrane simulations +langevinPiston on +langevinPistonTarget $pressure ;# in bar -> 1 atm +langevinPistonPeriod 100.0 ;# in fs +langevinPistonDecay 50.0 ;# recommended langevinPistonPeriod = 2 * langevinPistonDecay +langevinPistonTemp $temperature ;# coupled to heat bath + +# Output +outputName $outputname ;# prefix for output files +restartfreq 1000 ;# overwrite restart file every X steps +DCDUnitCell yes ;# write unit cell data to DCD file +dcdfreq 1000 ;# write coords every X steps +xstFreq 1000 ;# write extended trajectory every X steps +#forceDCDfreq 1000 ;# trajectory of atom forces every X steps +outputEnergies 1000 +outputPressure 1000 +outputTiming 1000 + +############################################################# +## EXTRA PARAMETERS ## +############################################################# + +# Put here any custom parameters that are specific to +# this job (e.g., SMD, TclForces, etc...) + +################################################################### +## EXECUTION SCRIPT +# time namd2-mc +idlepoll +p8 file.conf > file.log (8 cores) +################################################################### + +# Minimization +#minimize 1000 ;# perform 1000 minimization steps + +firsttimestep 0 ;# reset frame counter +run 400000 ;# 400ps +@PRODEOF +mkdir -p center/toppar +mkdir -p backward/toppar +mkdir -p forward/toppar +mv Q42_*b.psf backward/toppar/Q42.psf +mv Q42_*f.psf forward/toppar/Q42.psf +mv Q42_*.psf center/toppar/Q42.psf +cd center +#equilibrium run +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/par_all27_prot_lipid.inp toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/equilibrate/init.xsc . +cp ../equilibrate.conf . +cp ../production.conf . +$MPIRUN -n $tasks_per_job -hostfile ../nodefile1 $NAMD equilibrate.conf > equilibrate.log & +center_pid=$! +cd ../backward +#equilibrium run +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/par_all27_prot_lipid.inp toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/equilibrate/init.xsc . +cp ../equilibrate.conf . +cp ../production.conf . +$MPIRUN -n $tasks_per_job -hostfile ../nodefile2 $NAMD equilibrate.conf > equilibrate.log & +backward_pid=$! +cd ../forward +#equilibrium run +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/par_all27_prot_lipid.inp toppar +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/equilibrate/init.xsc . +cp ../equilibrate.conf . +cp ../production.conf . +$MPIRUN -n $tasks_per_job -hostfile ../nodefile3 $NAMD equilibrate.conf > equilibrate.log & +forward_pid=$! + +wait $forward_pid +if [ $? -ne 0 ]; then + cd ../forward + $MPIRUN -n $tasks_per_job -hostfile ../nodefile3 $NAMD equilibrate.conf > equilibrate.log & +fi +wait $backward_pid +if [ $? -ne 0 ]; then + cd ../backward + $MPIRUN -n $tasks_per_job -hostfile ../nodefile2 $NAMD equilibrate.conf > equilibrate.log & +fi +wait $center_pid +if [ $? -ne 0 ]; then + cd ../center + $MPIRUN -n $tasks_per_job -hostfile ../nodefile1 $NAMD equilibrate.conf > equilibrate.log & +fi + +cd ../center +#production run +mv equilibrate.restart.coor production00.restart.coor +mv equilibrate.restart.vel production00.restart.vel +mv equilibrate.restart.xsc production00.restart.xsc +$MPIRUN -n $tasks_per_job -hostfile ../nodefile1 $NAMD production.conf > production.log & +center_pid=$! +cd ../backward +#production run +mv equilibrate.restart.coor production00.restart.coor +mv equilibrate.restart.vel production00.restart.vel +mv equilibrate.restart.xsc production00.restart.xsc +$MPIRUN -n $tasks_per_job -hostfile ../nodefile2 $NAMD production.conf > production.log & +backward_pid=$! +cd ../forward +#production run +mv equilibrate.restart.coor production00.restart.coor +mv equilibrate.restart.vel production00.restart.vel +mv equilibrate.restart.xsc production00.restart.xsc +$MPIRUN -n $tasks_per_job -hostfile ../nodefile3 $NAMD production.conf > production.log & +forward_pid=$! + +wait $forward_pid +if [ $? -ne 0 ]; then + cd ../forward + $MPIRUN -n $tasks_per_job -hostfile ../nodefile3 $NAMD equilibrate.conf > equilibrate.log & +fi +wait $backward_pid +if [ $? -ne 0 ]; then + cd ../backward + $MPIRUN -n $tasks_per_job -hostfile ../nodefile2 $NAMD equilibrate.conf > equilibrate.log & +fi +wait $center_pid +if [ $? -ne 0 ]; then + cd ../center + $MPIRUN -n $tasks_per_job -hostfile ../nodefile1 $NAMD equilibrate.conf > equilibrate.log & +fi diff --git a/simulation/sassina_camm-shorttest.pbs b/simulation/sassina_camm-shorttest.pbs new file mode 100644 index 0000000..27ca149 --- /dev/null +++ b/simulation/sassina_camm-shorttest.pbs @@ -0,0 +1,62 @@ +#!/bin/bash +#PBS -l nodes=12:ppn=16 +#PBS -l walltime=100:00:00 +#PBS -j oe +#PBS -N sassinaTest +#PBS -M lynchve@ornl.gov +#PBS -V + +cd $PBS_O_WORKDIR + +SASSINA=/shared/local/sassena/sassena-v1.4.1/builds/shared/sassena +MPIRUN="/shared/openmpi/gcc/bin/mpirun" + +#Run 6 jobs simultaneously, each with one third cores +NCPU=`wc -l < $PBS_NODEFILE` +let num_jobs=6 +let tasks_per_job=$NCPU/$num_jobs + +#Assume jobs run in separate directories, job1, job2, ... +for i in $(seq $num_jobs) +do + #write hostfile for i-th job to use + let lstart=($i-1)*${tasks_per_job}+1 + let lend=${lstart}+${tasks_per_job}-1 + sed -n ${lstart},${lend}'p' < $PBS_NODEFILE >nodefile$i +done + +mkdir -p center/toppar +mkdir -p backward/toppar +mkdir -p forward/toppar + +cd center +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp $NAMD_DIR/center/production.dcd production_single.dcd +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/db*.xml . +cp -R /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/database . +cp /data/jbq/sassena_test/sassenaInc_10Qpoints.xml ./sassenaInc.xml +cp /data/jbq/sassena_test/sassenaCoh_10Qpoints.xml ./sassenaCoh.xml +$MPIRUN -n $tasks_per_job -hostfile ../nodefile1 $SASSINA --config=sassenaInc.xml > sassina_inc.log & +$MPIRUN -n $tasks_per_job -hostfile ../nodefile2 $SASSINA --config=sassenaCoh.xml > sassina_coh.log & + +cd ../backward +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp $NAMD_DIR/backward/production.dcd production_single.dcd +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/db*.xml . +cp -R /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/database . +cp /data/jbq/sassena_test/sassenaInc_10Qpoints.xml ./sassenaInc.xml +cp /data/jbq/sassena_test/sassenaCoh_10Qpoints.xml ./sassenaCoh.xml +$MPIRUN -n $tasks_per_job -hostfile ../nodefile3 $SASSINA --config=sassenaInc.xml > sassina_inc.log & +$MPIRUN -n $tasks_per_job -hostfile ../nodefile4 $SASSINA --config=sassenaCoh.xml > sassina_coh.log & + +cd ../forward +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/toppar/crd.md18_vmd_autopsf.pdb toppar +cp $NAMD_DIR/forward/production.dcd production_single.dcd +cp /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/db*.xml . +cp -R /data/jbq/projects/research/LiCl/watBox30/Hq.II/Q42/T290/production/database . +cp /data/jbq/sassena_test/sassenaInc_10Qpoints.xml ./sassenaInc.xml +cp /data/jbq/sassena_test/sassenaCoh_10Qpoints.xml ./sassenaCoh.xml +$MPIRUN -n $tasks_per_job -hostfile ../nodefile5 $SASSINA --config=sassenaInc.xml > sassina_inc.log & +$MPIRUN -n $tasks_per_job -hostfile ../nodefile6 $SASSINA --config=sassenaCoh.xml > sassina_coh.log & + +wait