Coursework projects from the NGS data analysis course of the MSc in Data Analysis in Biology and Medicine, HSE University (2025). Each folder holds the code and a write-up of what was done, what came out, and what I would do differently.
| Project | Data | Stack | Question |
|---|---|---|---|
| 01 — Bulk RNA-seq | 6 single-end libraries, wine flor yeast, day 10 vs day 71 | fastp, HISAT2, featureCounts, DESeq2, kallisto | What changes in the transcriptome as a flor biofilm ages? |
| 02 — scRNA-seq | Human nucleus accumbens, 10x v3, single-nuclei | scanpy, Scrublet, UMAP | From raw matrix to annotated cell types, without mistaking depth for biology |
| 03 — 16S amplicon | 60 paired-end samples, gut microbiome under TB preventive therapy | DADA2, SILVA 138, phyloseq | Reproducing a published microbiome analysis end to end |
| 04 — Exome variant calling | WES BAM, coronary artery disease case | Picard, DeepVariant, bcftools, SnpEff, ClinVar | Which variants could a clinician act on? |
- Full pipelines, not single steps — raw reads through QC, alignment or denoising, quantification, statistics, and biological interpretation.
- QC treated as evidence. Read attrition is accounted for stage by stage; an overrepresented sequence is BLASTed rather than ignored; mean–variance behaviour is inspected before and after normalisation.
- Batch and design structure taken seriously — donor effects in the brain atlas, treatment groups in the microbiome study, capture regions in the exome.
- Honest limits. Where a constraint broke an analysis (see the subsampling mistake in project 03), it is written down with the lesson, not smoothed over.
fastp · Trimmomatic · Trim Galore · FastQC / MultiQC · HISAT2 ·
samtools · featureCounts · kallisto · DESeq2 · scanpy · Scrublet ·
DADA2 · phyloseq · SILVA · Picard · DeepVariant · bcftools ·
SnpEff · ClinVar — in Python, R and bash, with Docker where a tool needs it.
Input data are not redistributed here: they are course-supplied files or public
archives (SRA PRJNA772261, CELLxGENE, the DeepVariant exome case-study
bucket), and each project README says where its inputs come from. The
assignment texts themselves are course material and are not included.
The code and analyses in this repository are mine.