2.2. Read-level Quality Controls

2.2. Read-level Quality Controls#

LongRNAqc+ is a workflow intended to look at base reads quality rather than collapsed reads, and to easily compare multiple samples on Terra. Taking an aligned BAM as input for a sample, it runs a long-read adapted version of RNAqc<>, SQANTI3, and optionally IsoQuant.

Once multiple samples have been processed, a downstream workflow can be run on a selection of samples to generate a comparison report based on the Sqanti3 outputs.

Main workflow: LongRNAqcPlusFromBAM#

Workflow configuration for runnning the main workflow over cloud platforms supporting Cromwell like Terra can be found here:-

Test Data can be found here (public, requester-pays) : (add download link from github or gs here)

Input arguments for LongRNAqcPlusFromBAM

Table 6 LongRNAqcPlusFromBAM#

Option name

example value

description

sampleName

this.sample_name

Replace “sample_name” with the column that contains the name of the samples in the sample table.

inputBAM

this.sorted_BAM

Replace “sorted_BAM” with the column that contains the path to the sorted BAM alignment in the sample table.

inputBAMIndex

this.sorted_BAM_index

Replace “sorted_BAM_index” with the column that contains the path to the sorted BAM alignment index in the sample table.

chromosomesList

“chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10, chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18, chr19,chr20,chr21,chr22,chr23,chrX,chrY”

Comma-separated list of chromosome names as named in the reference you used for the alignments and provide as input in this workflow. Any read aligning outside of these chromosomes will be filtered.

dataType

“pacbio_ccs”

Argument of the same name in IsoQuant, one of “assembly”, “pacbio_ccs”, “nanopore”.

allowNonPrimary

FALSE

(true/false) Whether to process non primary alignments as additional duplicate reads for the Sqanti3 classification.

BAMToGTFConversionMethod

“cDNACupcake”

One of “cDNACupcake” or “CTAT-LR”. Defines which tool is used for the BAM to GTF conversion to provide a GTF as input to Sqanti3.

cagePeak

“refs/refTSS/refTSS_v4.1_human_coordinate.hg38.bed”

Reference CAGE peak file from refTSS specific to the organism. Hg38 and mm39 are available in the mdl-refs buckets.

polyAMotifs

“refs/polyA_motifs/mouse_and_human.polyA_motif.txt”

File with a list of known polyA motifs in Human and Mouse (one entry per line).

referenceFasta

“refs/GRCh38/GRCh38_no_alt.fa”

Reference FASTA file for the assembly.

referenceGTF

“refs/GRCh38/GRCh38.gencode.v39.annotation.gtf”

Reference GTF file for the assembly

referenceGTF_DB

“refs/GRCh38/GRCh38.gencode.v39.annotation.db”

Optional argument. DB file generated from the referenceGTF file by IsoQuant. If not provided, will be generated by the workflow.

collapsedReferenceGTF

“refs/GRCh38/GRCh38.gencode.v39.collapsed.gtf”

Reference GTF file for the assembly collapsed with [collapse_annotation.py](broadinstitute/gtex-pipeline) for LongRNAqc.

LongRNAqc+ Plotting#

Workflow configuration for runnning LongRNAqc+ on Terra can be found here:-

Test Data can be found here (public, requester-pays) : add file path

Example of input arguments for LongRNAqc+ workflow for alignment with human ref genome

1{
2  "LongRNAqcPlotting.classificationFile":"${this.sqantiClassificationTSV}",
3  "LongRNAqcPlotting.junctionFile":"${this.sqantiJunctionsTSV}",
4  "LongRNAqcPlotting.includeSaturation":"${false}",
5  "LongRNAqcPlotting.outputPrefix":"LongRNAqcPlots",
6  "LongRNAqcPlotting.sampleName":"${this.samples.sample_id}"
7  }

Example of plots generated as a part of the output_report.pdf populated in `QC_plots` field

Kinnex Full Length - FSM

Fig. 4 Normalized transcript length distriubtions - FS#

Kinnex Full Length - NIC

Fig. 5 Normalized transcript length distriubtions - NIC#

Kinnex Full Length - Category wise

Fig. 6 Isoform Distribution across SQANTI Structural Categories#

Kinnex Full Length - FSM

Fig. 7 Isoform Distribution Across FSM’s and Samples#

../_images/longRNAqc.3.png