2. Full Length Bulk Secondary Processing#
After performing QC on the aligned reads using LongRNAseqQC, we can proceed to perform transcript analysis using an array of tools put togther by folks using Long read sequencing.
There are multiple applications one can use for many of these sub-steps, below is the currently recommended workflow.
High-level Workflow for Bulk:#
The current recommended high-level workflow is as below:
Performing Sample QC and PCA with Ptr utility from Trinity toolkit.
minimap2 for aligning reads
Isoquant for Reference guided Isoform Discovery.
Stringtie merge to merge reconstructed assemblies to generate new Ref
Quantification with Isoquant against reconstructed ref
Gffcompare to compare against reference and fetch Ref Ids
Differential Expression analysis using DEseq2 implementation from the Trinity
Exploring isoform switches and isoform visualization with isoformSwitchAnalysisR
MDLgenomeview for inspecting read support
Test Data#
The test dataset used for demonstrating downstream processing workflows for Full Length correspond to HG002 from the Genome-in-a-Bottle project and K562 cell lines.
2.1 minimap2#
The minimap2 workflow, as detailed below, maps long reads or their assemblies to a reference genome. The details and parameters can be found in the minimap2 manual
Workflow configuration for runnning the minimap2 workflow over cloud platforms supporting Cromwell like Terra can be found here:- The workflow is designed to be run on a sample. Technical replicates must be merged before.
Dockstore : Minimap2_LR.wdlGithub: minimap2_LRTest Data can be found here (public, requester-pays) : add file path
Option name |
example value |
description |
|---|---|---|
inputReads |
this.ubam |
Replace “ubam” with the column that contains the path to the input file in the sample table. Formats supported are ubam and fastq(.gz) |
referenceGenome |
“gs://mdl-refs/GRCh38/GRCh38_no_alt.fa” |
Reference FASTA file for the assembly. |
juncBED |
“gs://mdl-refs/GRCh38/GRCh38.gencode.v39.annotation.sorted.bed” |
(Optional) Reference BED splice junctions file for the assembly |
sampleName |
this.sample_id |
Replace “sample_id” with the column that contains the name of the samples in the sample table. |
readType |
“PacBioIsoSeq” |
Type of reads provided, one of “PacBioCLR” “ONTGenomic” “PacBioHiFi” SplicedLongReads” “ONTDirectRNA” “PacBioIsoSeq” |
customArguments |
“-G 1250k” |
(Optional) String to be added to the minimap2 call, in the example, to allow introns up to 1M250bp long which is a bit more than the longest human intron size in gencode |
keepUnmapped |
FALSE |
(true/false) Whether to keep the reads for which no alignment was found or not. |
allowSecondary |
FALSE |
(true/false) Whether to include secondary alignments. |
Example of input arguments for minimap2 workflow for alignment with Human Ref genome
1 {
2 "Minimap2_LR.Minimap2Task.cpu" : "${8}",
3 "Minimap2_LR.Minimap2Task.diskSizeGB" : "${500}",
4 "Minimap2_LR.inputReads" : "${this.ubam}",
5 "Minimap2_LR.referenceGenome" : "gs://mdl-refs/GRCh38/GRCh38_no_alt.fa",
6 "Minimap2_LR.juncBED" : "gs://mdl-refs/GRCh38/GRCh38.gencode.v39.annotation.sorted.bed",
7 "Minimap2_LR.sampleName" : "${this.sample_id}",
8 "Minimap2_LR.readType" : "PacBioIsoSeq",
9 "Minimap2_LR.customArguments" : "-G 1250k",
10 "Minimap2_LR.keepUnmapped" : "true",
11 "Minimap2_LR.allowSecondary" : "false",
12 "Minimap2_LR.preemptible_tries" : "${3}"
13}