🧬 RNA-seq Differential Expression
This skill performs differential expression on bulk RNA-seq or pseudo-bulk count matrices.
Core Capabilities
- Input validation for count matrix and sample metadata
- Pre-DE QC (library size, detected genes, low-count filtering)
- PCA visualisation on normalized expression
- Differential expression from formula + contrast
- Volcano and MA plots
- Markdown report with reproducibility files
Input Contract
- Count matrix (
.csvor.tsv): rows are genes, columns are samples, first column is gene identifier - Metadata table (
.csvor.tsv): one row per sample, must includesample_id - Formula: e.g.
~ conditionor~ batch + condition - Contrast:
factor,numerator,denominator(e.g.condition,treated,control)
Output Structure
rnaseq_de_report/
├── report.md
├── figures/
│ ├── pca.png
│ ├── volcano.png
│ └── ma_plot.png
├── tables/
│ ├── qc_summary.csv
│ ├── normalized_counts.csv
│ └── de_results.csv
└── reproducibility/
├── commands.sh
├── environment.yml
└── checksums.sha256
Usage
python rnaseq_de.py \
--counts counts.csv \
--metadata metadata.csv \
--formula "~ batch + condition" \
--contrast "condition,treated,control" \
--output report_dir
Safety
- Local-only processing
- Warn before overwriting existing output
- Report-level disclaimer required