Biowulf at the NIH
RSS Feed
CIRCOS on Biowulf

Circos is a program for the generation of publication-quality, circularly composited renditions of genomic data and related annotations. Circos is particularly suited for visualizing alignments, conservation and intra and inter-chromosomal relationships. Also, Circos is useful to visualize any type of information that benefits from a circular layout. Thus, although it has been designed for the field of genomics, it is sufficiently flexible to be used in other data domains.


Programs Location


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.

[user@biowulf]$ module avail circos
---------------------------- /usr/local/Modules/3.2.9/modulefiles -----------------------
circos/0.52 circos/0.54-1 circos/0.55 circos/0.62-1(default) [user@biowulf]$ module load circos [user@biowulf]$ module list Currently Loaded Modulefiles: 1) circos/0.62-1 [user@biowulf]$ module unload circos [user@biowulf]$ module load circos/0.52 [user@biowulf]$ module list Currently Loaded Modulefiles: 1) circos/0.52 [user@biowulf]$ module show circos ------------------------------------------------------------------- /usr/local/Modules/3.2.9/modulefiles/circos/0.62-1: module-whatis Sets up circos 0.62-1
prepend-path PATH /usr/local/apps/circos/0.62-1/bin
Submitting a single batch job

1. Create a script file. The file will contain the lines similar to the lines below. Modify the path of program location before running.

# This file is YourOwnFileName
#PBS -N yourownfilename
#PBS -m be
#PBS -k oe
module load circos
cd /data/$USER/somewhereWithInputFile
circos command 1
circos command 2

2. Submit the script using the 'qsub' command on Biowulf, e.g. Note, user is recommend to run benchmarks to determine what kind of node is suitable for his/her jobs.

[user@biowulf]$ qsub -l nodes=1 /data/$USER/theScriptFileAbove

Useful commands:

freen: see

qstat: search for 'qstat' on for it's usage.

jobload: search for 'jobload' on for it's usage.


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:

cd /data/$USER/run1/; circos command 1; circos command 2
cd /data/$USER/run2/; circos command 1; circos command 2
[ ........]


Submit the swarm job:
[user@biowulf]$ swarm -f cmdfile --module circos

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.

[user@biowulf] $ qsub -I -l nodes=1
qsub: waiting for job 2236960.biobos to start
qsub: job 2236960.biobos ready

[user@pXXXX]$ cd /data/$USER/myruns
[user@pXXXX]$ module load circos
[user@pXXXX]$ circos command 1
[user@pXXXX]$ circos command 2
[user@p4]$ ...........
[user@p4] exit
qsub: job 2236960.biobos completed

User may add property of node in the qsub command to request specific interactive node. For example, if you need a node with 24gb of memory to run job interactively, do this:

[user@biowulf]$ qsub -I -l nodes=1:g24:C16