Biowulf at the NIH
RSS Feed
ViennaRNA on Biowulf

The Vienna RNA Package consists of a C code library and several stand-alone programs for the prediction and comparison of RNA secondary structures. RNA secondary structure prediction through energy minimization is the most used function in the package. It includes three kinds of dynamic programming algorithms for structure prediction: the minimum free energy algorithm of (Zuker & Stiegler 1981) which yields a single optimal structure, the partition function algorithm of (McCaskill 1990) which calculates base pair probabilities in the thermodynamic ensemble, and the suboptimal folding algorithm of (Wuchty 1999) which generates all suboptimal structures within a given energy range of the optimal energy. For secondary structure comparison, the package contains several measures of distance (dissimilarities) using either string alignment or tree-editing (Shapiro & Zhang 1990). Finally, it includes an algorithm to design sequences with a predefined structure (inverse folding).

ViennaRNA was developed at the Institut für theoretische Chemie, Austria.

The environment variable(s) need to be set properly first. The easiest way to do this is by using the modules commands as in the example below.

$ module avail viennarna
-------------------- /usr/local/Modules/3.2.9/modulefiles ----------------------
viennarna/1.8.5 viennarna/2.0.2 viennarna/2.1.1(default) $ module load viennarna $ module list Currently Loaded Modulefiles:
1) viennarna/2.1.1 $ module unload viennarna $ module load viennarna/1.8.5 $ module show viennarna ------------------------------------------------------------------- /usr/local/Modules/3.2.9/modulefiles/viennarna/2.1.1: module-whatis Sets up ViennaRNA 2.1.1 prepend-path PATH /usr/local/apps/viennarna/2.1.1/bin -----------------------------------------------------------------


Submitting a single batch job

1. Create a script file alone the following lines.

# This file is YourOwnFileName
#PBS -N yourownfilename
#PBS -m be
#PBS -k oe

# load the latest version of ViennaRNA
module load viennarna

cd /data/$USER/mydir

# calculate secondary structure of RNA
RNAfold -p -T 300 < myseq.rna

# compute the structure upon hybridization of two RNA strands
RNAduplex input.seqs

2. Submit the script using the 'qsub' command on Biowulf.

$ qsub -l nodes=1 /data/$USER/theScriptFileAbove

Submitting a swarm of jobs

Using the 'swarm' utility, one can submit many jobs to the cluster to run concurrently.

Set up a swarm command file (eg /data/username/cmdfile). Here is a sample file which runs RNALfold on several sequences at two different temperatures.

RNALfold -T 300 < /data/$USER/seq1 > out1.t300
RNALfold -T 300 < /data/$USER/seq2 > out1.t300
RNALfold -T 300 < /data/$USER/seq3 > out1.t300
RNALfold -T 300 < /data/$USER/seq4 > out1.t300

Submit this job with

swarm -f cmdfile --module ViennaRNA

By default, each of the commands above will run on a single core of a node and use 1 GB of memory. If each command (a single line in the file above) requires more than 1 GB of memory, you must specify the required memory using the swarm -g # flag. For example:

$ swarm -g 4 -f cmdfile --module viennarna

will tell swarm that each command above requires 4 GB of memory and setup viennarna environmental variables for each swarm job.

For more information regarding running swarm, see swarm.html


Running an interactive job

User may need to run jobs interactively sometimes. Such jobs should not be run on the Biowulf login node. Instead allocate an interactive node as described below, and run the interactive job there.

$ qsub -I -l nodes=1
qsub: waiting for job 2236960.biobos to start
qsub: job 2236960.biobos ready

$ module load viennarna

$ cd /data/user/myruns
$ RNAheat -Tmin -30 -Tmax 120 -h 0.1 -m 4 < tRNA.seq
$ exit
qsub: job 2236960.biobos completed

If you need a node with more memory, you can specify this on the qsub command line: For example, if you need a node with 8gb of memory to run job interactively, do this:

$ qsub -I -l nodes=1:g8