← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / skills / bioskills / bio-read-qc-rnaseq-qc / references / usage-guide.md

RNA-seq QC - Usage Guide

Overview

RNA-seq QC runs on the ALIGNED BAM plus a gene model and assesses metrics with no DNA analogue: library strandedness, gene-body 5'-3' coverage, exonic/intronic/intergenic distribution, rRNA/globin/mitochondrial rate, transcript integrity (TIN), and saturation. Two facts dominate: getting strandedness wrong silently halves or zeros counts, and non-UMI bulk RNA-seq must NOT be deduplicated (high-expression genes produce genuine identical-coordinate fragments).

Prerequisites

conda install -c bioconda rseqc qualimap rna-seqc picard salmon sortmerna multiqc samtools

Quick Start

Tell your AI agent what you want to do: - "Determine the strandedness of my RNA-seq library before quantifying" - "Assess gene-body coverage and RNA integrity (TIN) across my samples" - "Measure the rRNA rate in my libraries" - "Run full post-alignment RNA-seq QC and aggregate with MultiQC"

Example Prompts

Strandedness (do this first)

"Infer the strandedness of my library with RSeQC and tell me the featureCounts and salmon settings"

"My counts came out near zero, check whether I used the wrong strand setting"

Integrity

"Compute gene-body coverage and TIN to check for 3' degradation"

"My samples are FFPE; which integrity metric should I use?"

Distribution and contamination

"Break down my reads into exonic/intronic/intergenic and tell me if there is gDNA contamination"

"Measure the rRNA rate to check my depletion worked"

What the Agent Will Do

  1. Infer strandedness first and report the matching downstream tool flags
  2. Run the RSeQC suite (read_distribution, geneBody_coverage, tin) on the BAM with a BED12 model
  3. Run Picard CollectRnaSeqMetrics with STRAND_SPECIFICITY set to the inferred protocol
  4. Interpret 3' bias, intronic/intergenic rate, and rRNA rate against the protocol (not absolute cutoffs)
  5. Aggregate with MultiQC and flag cohort outliers; report duplication as a diagnostic, never dedup non-UMI data

Strandedness decode

Protocol infer_experiment dominant salmon -l featureCounts -s htseq
Unstranded both ~0.5 IU / U 0 no
Forward (fr-secondstrand) 1++,1--,2+-,2-+ ISF / SF 1 yes
Reverse (fr-firststrand, dUTP) 1+-,1-+,2++,2-- ISR / SR 2 reverse

Single-end infer_experiment drops the read-number prefix: forward = "++,--", reverse = "+-,-+".

Tips

Resources

read-qc/quality-reports - Raw-FASTQ QC before alignment read-qc/umi-processing - Molecule-accurate dedup for UMI RNA-seq read-qc/contamination-screening - rRNA and cross-species contamination read-alignment/star-alignment - Aligner that emits ReadsPerGene strandedness columns rna-quantification/featurecounts-counting - Strand-aware quantification after QC differential-expression/deseq2-basics - Use medTIN as a covariate in the design