...
This
...
page
...
is
...
designed
...
to
...
serve
...
as
...
a
...
repository
...
for
...
files
...
that
...
may
...
be
...
useful
...
to
...
group
...
members.
...
For
...
information
...
on
...
uploading
...
files,
...
see
...
...
below.
...
Anchor | ||||
---|---|---|---|---|
|
Queue submission scripts.
The apoa.sh model script is for a simple 8-processor job in NAMD. The multiple_images.sh script is to run 8 single-processor jobs in NAMD simultaneously, while the sequential-jobs-separately-submitted.sh
...
script
...
is
...
for
...
submitting
...
a
...
series
...
of
...
jobs
...
in
...
series,
...
as
...
would
...
be
...
done
...
in
...
aimless
...
shooting,
...
for
...
example.
...
When
...
copying
...
to
...
scratch
...
directories
...
is
...
necessary,
...
it
...
is
...
necessary
...
to
...
do
...
that
...
within
...
the
...
PBS
...
script,
...
since
...
it's
...
not
...
a
...
priori
...
known
...
which
...
compute
...
node
...
will
...
be
...
used.
...
The
...
example
...
script
...
...
does
...
this,
...
albeit
...
with
...
some
...
more
...
complicated
...
features
...
that
...
start
...
a
...
new
...
NAMD
...
simulation
...
from
...
an
...
older
...
one.
...
Small
...
analysis
...
jobs
...
(with
...
VMD,
...
CHARMM,
...
custom
...
C
...
code)
...
should
...
not
...
be
...
run
...
outside
...
the
...
queue
...
system.
...
To
...
run
...
many
...
small
...
jobs,
...
you
...
can
...
write
...
a
...
script
...
that
...
creates
...
bash
...
scripts
...
which
...
then
...
can
...
be
...
qsub'ed.
...
This
...
approach
...
is
...
used
...
in
...
generate_many_child_scripts.sh
...
.
...
Of
...
course,
...
this
...
approach
...
could
...
be
...
used
...
quite
...
generally.
...
...
is
...
another
...
script
...
illustrating
...
that
...
successive
...
program
...
executions
...
can
...
be
...
included
...
in
...
one
...
simplified
...
shell
...
script.
...
It
...
runs
...
AutoDock
...
and
...
AutoGrid.
...
The qnodes_status
...
script
...
gives
...
a
...
summary
...
of
...
the
...
output
...
of
...
the
...
qnodes
...
command
...
(as
...
written,
...
it
...
considers
...
only
...
nodes
...
with
...
the
...
property
...
"group0").
...
Remove
...
the
...
":group"
...
argument
...
to
...
qnodes
...
to
...
use
...
this
...
on
...
Quantum2.
...
Anchor | ||||
---|---|---|---|---|
|
Submitting many 1 cpu jobs on clusters using parallel perl scripts
We have found that submitting many 1 cpu jobs to the clusters can often create efficiency problems when these jobs compete for resources with jobs that are requesting whole or multiples of nodes. That is, the 1 cpu jobs  will dominate the resources making jobs requesting multiples of nodes wait longer than they should with respect to what they should using the fair share policy.  To overcome this difficulty we suggest that your 1 cpu jobs should be submitted in batches according to the size of the node.  To achieve this we have installed a parallel job manager using the perl program package. To utilize this functionality you will have to write a perl script to manage your 1 cpu jobs.  Below we give an example of what your scripts might look. In Example 1 is a normal 1 cpu PBS script executing your program without any perl parallelization. Examples 2a and 2b show the pbs script and perl script that you would need write in order to parallelize example 1.
Example 1: A pbs script running a 1 cpu job executing a program called myprogram
#!/bin/bash
###### Queue name
#PBS -q short
###### Resources request
#PBS -l  nodes=1:ppn=1
cd $PBS_O_WORKDIR
i=1
./myprogram $i > out$i
Example 2a: A pbs script running eight instances of a 1 cpu job executing a program called myprogram using a perl script called parallel.perl  all on one node:
#!/bin/bash
###### Queue name
#PBS -q short
###### Resources request
#PBS -l  nodes=1:ppn=8
cd $PBS_O_WORKDIR
start=1
ncpus=8
./parallel.perl $start $ncpus
Â
Example 2b: the contents of the perl script will look something like this:
#!/usr/bin/perl
use Parallel::ForkManager; Â ### this is the parallel perl package
Wiki Markup |
---|
$start=$ARGV\[0\]; #### an increment variable starting point |
...
Wiki Markup |
---|
$ncpus=$ARGV\[1\]; #### the number of cpus |
...
\my
...
$pm
...
=
...
new
...
Parallel::ForkManager($ncpus);
...
 ### start a parallel session with ncpus
   ### a for loop containing ncpu times your program is parallelized:
   $end=$start+$ncpus;
...
   for(
...
$j
...
=
...
 $start;
...
$j
...
<
...
$end
...
;
...
$j++)
...
{
   \my $pm = new Parallel::ForkManager($ncpus);  ### start a parallel session with ncpus
   system("./
...
myprogram
...
$j
...
>
...
out$j");
...
 ### the same program call as before
  ### wait until all jobs running in the background have stopped
    $pm->wait_all_children;
...
  }
 Â
MD Analysis scripts
...
Basic analysis for NAMD trajectories
...
...
A
...
simple
...
script
...
for
...
analyzing
...
NAMD
...
output
...
files
...
and
...
trajectories.
...
This
...
script
...
extracts
...
energy,
...
temperature,
...
and
...
pressure
...
values
...
from
...
a
...
simulation
...
log
...
file
...
and
...
plots
...
them
...
as
...
a
...
timeseries,
...
along
...
with
...
running
...
average
...
of
...
energy,
...
RMSD
...
of
...
system
...
and
...
of
...
a
...
selection
...
(specified
...
at
...
command
...
line),
...
and
...
density.
...
Users
...
should
...
feel
...
free
...
to
...
adapt
...
this
...
script
...
to
...
their
...
own
...
needs.
...
Note
...
that
...
this
...
requires
...
...
(assumed
...
to
...
be
...
in
...
/home/$(whoami)/tools),
...
and
...
note
...
that
...
the
...
formula
...
for
...
calculating
...
density
...
uses
...
only
...
simulation
...
cell
...
lengths:
...
(
...
volume
...
)
...
=
...
a
...
*
...
b
...
*
...
c
...
.
...
Run
...
with
...
options
...
"
...
-usage"
...
or
...
"
...
-help"
...
for
...
more
...
details:
Code Block |
---|
} Usage: basic_analysis.sh --name SIMNAME [ --logfile FILE ] [ --psf PSFFILE ] [ --outputdir ODR ] [ --dcdfreq N ] [ --rmsdsel SELTEXT ] Performs simple analysis tasks for simulation without output SIMNAME. OPTIONS: --logfile FILE : Use FILE as NAMD log file. Default value is SIMNAME.log --psf PSFFILE : Use PSFFILE (either CHARMM or AMBER format) as system topology file. Should have .psf or .parm7 extension for filetype recognition by VMD. Default value: SIMNAME.psf --outputdir ODR: Write analysis output to directory ODR. Figures will go to ODR/figures/. Default value: $(dirname SIMNAME)/analysis_output/ --dcdfreq N : Frequency at which frames were written to DCD file SIMNAME.dcd. Default 100. --rmsdsel SELTXT: VMD selection text for RMSD calculation. Must be enclosed in quotes. Default value: "all". {code} h6. Sample scripts for basic tasks in CHARMM The *[^scripts |
...
Sample scripts for basic tasks in CHARMM
...
The scripts.tar.gz
...
tar
...
ball
...
contains
...
following
...
scripts,
...
along
...
with
...
a
...
small
...
set
...
of
...
auxiliary
...
(data)
...
files.
...
These
...
scripts
...
are
...
also
...
available
...
on
...
...
...
,
...
and
...
questions
...
about
...
how
...
to
...
use
...
these
...
scripts
...
are
...
addressed
...
in
...
...
...
on
...
the
...
CHARMM
...
forums.
Section | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
VMD TCL script to calculate density profile normal to z-axis
...
...
TCL
...
script
...
for
...
VMD
...
to
...
calculate
...
density
...
profile
...
normal
...
to
...
z
...
-axis.
...
Run
...
the
...
script
...
with
...
argument
...
"usage"
...
for
...
more
...
info,
...
or
...
see
...
following
...
example:
Code Block |
---|
} vmd -dispdev text -psf system.psf -dcd sample_run.dcd -args seltext "not water" outfile zinfo_timeseries.txt histfile denprofile.txt first 100000 last 200000 freq 100 {code} |
Note
...
that
...
the
...
-psf
...
PSFfile
...
topology
...
description
...
could
...
be
...
replaced
...
with
...
other
...
filetype/filename
...
options,
...
e.g.
...
-parm
...
AMBERparmfile.
...
Bin
...
width
...
and
...
number
...
are
...
specified
...
in
...
the
...
script,
...
although
...
they
...
could
...
be
...
adjusted
...
to
...
be
...
set
...
at
...
command
...
line.
...
Basic and miscellaneous scripts
autocorr.awk AWK script to calculate autocorrelation of a time series.
histogram_dec.awk
...
AWK
...
script
...
to
...
create
...
histogram.
...
...
AWK
...
script
...
to
...
create
...
histogram
...
of
...
discrete
...
values
...
(e.g.
...
a
...
variable
...
taking
...
integral
...
values).
...
...
AWK
...
script
...
to
...
re-sample
...
mean
...
values
...
in
...
the
...
bootstrap
...
method.
...
...
AWK
...
script
...
to
...
calculate
...
running
...
average
...
of
...
energy
...
from
...
NAMD
...
output.
...
Requires
...
setting
...
variables
...
at
...
command
...
line.
...
Anchor | ||||
---|---|---|---|---|
|
Notes on uploading files
When uploading scripts, please remember that comments are essential to helping others understand your work. All uploaded files should include author information, a date or version number, a description of the file's purpose and methodology, a description of the expected input (if applicable), and a description of the output format.
Wiki Markup |
---|
To upload: Choose "Attachment" under the "Add" menu at right. Then, link to the attached file in this page using the following wiki syntax: \[^filename.sh\], followed by a description of the file. |
...
To
...
use:
...
download
...
the
...
file.
...
Note
...
that
...
some
...
browsers
...
will
...
append
...
unwanted
...
extensions
...
to
...
downloaded
...
files.
...
Remember
...
that
...
all
...
every
...
user
...
is
...
responsible
...
for
...
understanding
...
at
...
a
...
detailed
...
level
...
all
...
the
...
tools
...
that
...
he/she
...
uses
...
!