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.
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
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:
This job was submitted to a g24 node. Use 'freen' to see other available node types.
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:
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