01 — Mini Project
RNA-seq Analysis Platform
Glucocorticoid Response Analysis
An end-to-end RNA-seq workflow on a real human airway dataset.
01 — Problem
What this project set out to solve
GSE52778 is a human airway smooth muscle RNA-seq dataset covering 16 samples across four donors and four conditions, six of which were used in the current analysis.
Turning that raw sequencing data into interpretable differential expression results requires a workflow that is not only correct but reproducible — and that accounts for variation between individual donors rather than treating every sample as independent.
02 — Approach
How it was approached
An end-to-end RNA-seq workflow was implemented across quality control, preprocessing, alignment, counting and differential expression.
A donor-aware DESeq2 experimental design of approximately ~ donor + condition was used to control for inter-donor variability.
Reproducibility, data provenance and workflow limitations were documented alongside the analysis so the work can be reused and extended.
03 — Workflow
Workflow & architecture
RNA-seq workflow
- Raw dataGSE52778
GSE52778 is a human airway smooth muscle RNA-seq dataset covering 16 samples across four donors and four conditions, six of which were used in the current analysis.
- FastQCQuality control
Quality control with FastQC.
- fastpPreprocessing
Adapter and quality trimming with fastp.
- STARSpliced alignment
Spliced alignment with STAR.
- featureCountsGene-level counting
Gene-level quantification with featureCounts.
- DESeq2Differential expression
A donor-aware DESeq2 experimental design of approximately ~ donor + condition was used to control for inter-donor variability.
- ResultsReporting
Results and detailed analysis available in the project repository.
Stage 01 / 07
Raw data
GSE52778
GSE52778 is a human airway smooth muscle RNA-seq dataset covering 16 samples across four donors and four conditions, six of which were used in the current analysis.
- Analysis layer — FastQC → fastp → STAR → featureCounts → DESeq2, run as a sequential, reproducible chain over the GSE52778 samples.
- Pipeline layer — modular Nextflow DSL2 pipelines wrapping the analysis steps so they can be composed and re-run.
- Service layer — a FastAPI backend exposing the pipeline and its outputs.
- Interface layer — a React / TypeScript frontend for interacting with the workflow and its results.
04 — Technologies
What it was built with
Analysis
Pipeline
Backend
Frontend
05 — Implementation
What was built
- Quality control with FastQC, adapter and quality trimming with fastp, spliced alignment with STAR, gene-level quantification with featureCounts and differential expression with DESeq2.
- Donor included as a term in the DESeq2 design so condition effects are estimated within, rather than across, donors.
- Modular Nextflow DSL2 pipelines paired with a FastAPI backend and a React / TypeScript frontend.
06 — Results
Results & output
Results and detailed analysis available in the project repository.
07 — Learnings
What it taught me
- Experimental design matters before any code runs — a donor-aware model is what makes the condition comparison meaningful in a multi-donor dataset.
- Documenting data provenance and known workflow limitations is part of the deliverable, not an afterthought.
- Splitting the workflow into modular pipeline steps makes each stage independently re-runnable and easier to reason about.