High-Performance Computing at the NIH
GitHub YouTube @nih_hpc RSS Feed

The QoRTs software package is a fast, efficient, and portable multifunction toolkit designed to assist in the analysis, quality control, and data management of RNA-Seq datasets.


Hartley, S. W. & Mullikin, J. C. 2015. QoRTs: a comprehensive toolset for quality control and data processing of RNA-Seq experiments BMC Bioinformatics 16:224.

QoRTs uses environment modules. Type

module load QoRTs

The QoRTs module sets the following environment variables:

In addition, QoRTs requires R and java.

How To Use

QoRTs is a mixture of java and R. The jarfile can be executed directly using the $QORTS_JARFILE environment variable:

java -Xmx1G -jar $QORTS_JARFILE --man

NOTE: Memory and scratch space are handled through java options -Xm and -Djava.io.tmpdir. The amount of memory needed is 10-20GB for most genomes. To allocate 10GB of RAM to the java machine, include the option -Xmx10G.

The R steps are done as with any R job:

> library(QoRTS);


There is an example walkthrough available which uses data available in $QORTS_EXAMPLES.

$ module load QoRTs
$ sh exampleScripts/step0/step0.reset.sh
$ mkdir -p outputData/qortsQcData/SAMP1_RG1
$ java -Xmx1G -jar $QORTS_JARFILE QC --stranded inputData/bamFiles/SAMP1_RG1.bam \
 inputData/annoFiles/anno.gtf.gz outputData/qortsQcData/SAMP1_RG1/

$ while read line
  mkdir outputData/qortsData/$line/
  java -Xmx1G -jar $QORTS_JARFILE QC --stranded \
    inputData/bamFiles/$line.bam \
    inputData/annoFiles/anno.gtf.gz \
done < "inputData/annoFiles/uniqueID.list.txt"

$ R
res <- read.qc.results.data("outputData/qortsData/",
  decoder.files = "inputData/annoFiles/decoder.byUID.txt",
  calc.DESeq2 = TRUE,
  calc.edgeR = TRUE);
  outfile.dir = "outputData/qortsPlots/summaryPlots/",
  plot.device.name = "png");

Submitting a batch job

Create an sbatch script QoRTs.sh:

module load QoRTs

java -Xmx20G -jar $QORTS_JARFILE QC \
  --stranded \
  --chromSizes inputData/annoFiles/chrom.sizes \
  --trackTitlePrefix SAMP1_RG1_WIGGLE  \
  inputData/bamFiles/SAMP1_RG1.bam \
  inputData/annoFiles/anno.gtf.gz \

Then submit the job, allocating 20GB of memory:

$ sbatch --mem=20g QoRTs.sh