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


Intervene - a tool for intersection and visualization of multiple genomic region sets.

Intervene provides an easy and automated interface for effective intersection and visualization of genomic region sets or lists of items, thus facilitating their analysis and interpretations. Intervene contains three modules. venn to compute Venn diagrams of up-to 6 sets upset to compute UpSet plots of multiple sets pairwise to compute and visualize intersections of genomic sets as clustered heatmap. Intervene gives user flexibility to choose figure colors, labels, size, quality, and type to make them as publication standard.

There may be multiple versions available on our systems. An easy way of selecting the version is to use modules. To see the modules available, type

module avail intervene 

To select a module use

module load intervene/[version]

where [version] is the version of choice.

Environment variables set


Interactive job on Biowulf

Allocate an interactive session with sinteractive and use as described below

biowulf$ sinteractive --mem=5g
salloc.exe: Pending job allocation 38978697
salloc.exe: Nodes cn2273 are ready for job
node$ module load intervene
[+] Loading intervene
node$ # Copy the test data
node$ cp -r /usr/local/apps/intervene/example_data/ENCODE_hESC .
node$ intervene venn -i ENCODE_hESC/*.bed
node$ exit


Batch job on Biowulf

Create a batch script similar to the following example:

#! /bin/bash
# this file is intervene.batch

module load intervene || exit 1
cd /data/$USER
cp -r /usr/local/apps/intervene/example_data/ENCODE_hESC .
intervene venn -i ENCODE_hESC/*.bed

Submit to the queue with sbatch:

biowulf$ sbatch intervene.batch


Swarm of Jobs on Biowulf

Create a swarmfile (e.g. script.swarm). For example:

# this file is called script.swarm
cd dir1;intervene command 1;intervene command 2
cd dir2;intervene command 1;intervene command 2
cd dir3;intervene command 1;intervene command 2

Submit this job using the swarm command.

swarm -f script.swarm --module intervene

For more information regarding swarm: https://hpc.nih.gov/apps/swarm.html#usage