Biowulf at the NIH
RSS Feed
RNA-SeQC on Biowulf

RNA-SeQC is a java program which computes a series of quality control metrics for RNA-seq data. The input can be one or more BAM files. The output consists of HTML reports and tab delimited files of metrics data. This program can be valuable for comparing sequencing quality across different samples or experiments to evaluate different experimental parameters. It can also be run on individual samples as a means of quality control before continuing with downstream analysis.

RNA-SeQC is built on the GATK as well as the Picard API.

Example files are under /usr/local/apps/rnaseqc/example

Other useful data is under /usr/local/apps/rnaseqc/data

User needs to add bwa (or samtools) to the PATH by running 'module load bwa' and/or 'module load samtools'.

The following example assume that user has already copied the example directory to /home/$USER/example

Running a batch job

1. Create a script file alone the lines below. Note, the following script assume that all the input files have already been copied into /home/$USER/example directory.

#!/bin/bash
# This file is rnaseqcfile
#PBS -N rnaseqc
#PBS -m be
#PBS -k oe

module load bwa
cd /home/$USER/example  
java -jar /usr/local/apps/rnaseqc/current/RNASeQC.jar \
-n 1000 \
-s   "TestId|ThousandReads.bam|TestDesc" \
-t   gencode.v7.annotation_goodContig.gtf \
-r Homo_sapiens_assembly19.fasta \
-o   ./testReport/ \
-strat gc \
-gc gencode.v7.gc.txt \
-BWArRNA   human_all_rRNA.fasta
  

2. submit the second file from biowulf:

biowulf> $ qsub -l nodes=1:g24:c16 /data/$USER/TheFileAbove

This job was submitted to a g24 node. Use 'freen' to see other available node types.

Running an interactive job

Users 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.


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

[user@p4]$ module load bwa
        
[user@p4]$ cd /data/$USER/example

[user@p4]$ java -jar /usr/local/apps/rnaseqc/current/RNASeQC.jar \
-n 1000 \
-s   "TestId|ThousandReads.bam|TestDesc" \
-t   gencode.v7.annotation_goodContig.gtf \
-r Homo_sapiens_assembly19.fasta \
-o   ./testReport/ \
-strat gc \
-gc gencode.v7.gc.txt \
-BWArRNA   human_all_rRNA.fasta

[user@p4] exit
qsub: job 2236960.biobos completed
user@biowulf]$ 

User may add a node property 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

 

Submitting a swarm of ranseqc jobs

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

Set up a swarm command file (eg /data/$USER/cmdfile). Here is a sample file:

cd /data/$USER/Dir1; java -jar /usr/local/apps/rnaseqc/current/RNASeQC.jar ....... 
cd /data/$USER/Dir2; java -jar /usr/local/apps/rnaseqc/current/RNASeQC.jar .......
[.....]
cd /data/$USER/DirN; java -jar /usr/local/apps/rnaseqc/current/RNASeQC.jar .......

The '-f' and '--module' options for swarm are required

By default, each line of the command file above will be executed on 1 processor core of a node and use 1gb of memory. If this is not what you want, you will need to specify '-g' flags when you submit the job on biowulf. Say if each line of the commands above need to use 10gb of memory instead of the default 1gb of memory, make sure swarm understands this by including '-g 10' flag:

biowulf> $ swarm -g 10 -f swarmFile --module bwa

For more information regarding running swarm, see swarm.html

 

Documentation

https://confluence.broadinstitute.org/display/CGATools/RNA-SeQC#RNA-SeQC-RunningLocally