High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed
Circos on Biowulf & Helix

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.

Running on Helix

$ module load circos
$ cd /data/$USER/dir
$ circos -h
Usage:
      # guess location of configuration file
      circos

      # use specific configuration file
      circos -conf circos.conf [-silent]

      # diagnose required modules
      circos -modules

      # man page
      circos -man

      # detailed debugging for code components
      # see http://www.circos.ca/documentation/tutorials/configuration/debugging
      circos -debug_group GROUP1,[GROUP2,...]

      # full debugging
      circos -debug_group _all

      # configuration dump of a block (or block tree) of
      # any parameters that match REGEXP (optional)
      circos -cdump [BLOCK1/[BLOCK2/...]]{:REGEXP}

      # overriding configuration parameters
      circos -param image/radius=2000p -param ideogram/show=no

      # for fun - randomize all colors in the image except for
      # COLOR1 and COLOR2
      circos -randomcolor COLOR1,[COLOR2,...]

Running a single batch job on Biowulf

1. Create a script file. The file will contain the lines similar to the lines below.

#!/bin/bash


module load circos
cd /data/$USER/dir
circos commands

2. Submit the script on biowulf:

$ sbatch jobscript

If more momory is required (default 4gb), specify --mem=Mg, for example

$sbatch --mem=10g jobscript 

Running a swarm of jobs on Biowulf

Setup a swarm command file:

  cd /data/$USER/dir1; circos command
  cd /data/$USER/dir2; circos command
  cd /data/$USER/dir2; circos command
	[......]
  

Submit the swarm file, -f specify the swarmfile name, and module circos will be loaded for each command line in the file:

  $ swarm -f swarmfile --module circos

If more memory is needed for each line of commands, the below example allocate 10g for each command:

  $ swarm -f swarmfile -g 10 --module circos
For more information regarding running swarm, see swarm.html

Running an interactive job on Biowulf

It may be useful for debugging purposes to run jobs interactively. 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.

biowulf$ sinteractive 
salloc.exe: Granted job allocation 16535

cn999$ module load circos
cn999$ cd /data/$USER/dir
cn999$ circos command
[...etc...]

cn999$ exit
exit

biowulf$

Make sure to exit the job once finished.

If more memory is needed, use --mem. For example

biowulf$ sinteractive --mem=8g

Documentation

http://circos.ca/tutorials/lessons/