← All projects

Problem

Diet and the gut microbiome both shape metabolic dysfunction-associated steatotic liver disease (MASLD). This study asks how they act together on the liver's non-parenchymal and immune cells, using a 2×2 diet × microbiome design: germ-free or SPF (microbiome-colonized) mice, each fed a high-fat diet with or without added cholesterol.

Approach

I built an end-to-end scRNA-seq pipeline in Python and Scanpy for the 10x Genomics data: QC, Scrublet doublet removal, highly variable gene selection, PCA, batch integration, UMAP, Leiden clustering, and Wilcoxon marker discovery. Cell types were annotated two ways, automatically with CellTypist (Healthy Mouse Liver model) and manually from marker genes, and the two were benchmarked against each other. Differential expression is pseudobulk, with mice as replicates, so that cell-level pseudoreplication and shifts in cell-type composition do not produce false positives. A separate hepatocyte-specific workflow adds DecontX ambient-RNA correction, LOESS-based QC, and reference- and marker-gated (Alb⁺/CD45⁻) filtering of immune contamination, and checks GSEA stability across GO and KEGG gene-set libraries.

2×2 diet × microbiome design Germ-free or SPF (microbiome-colonized) mice, each fed a high-fat diet or a high-fat diet with added cholesterol. The Trem2⁺/Gpnmb⁺/Cd9⁺ macrophage state was enriched in colonized, cholesterol-fed mice. High-fat diet High-fat + cholesterol Germ-free no microbiome SPF colonized Trem2⁺/Gpnmb⁺/Cd9⁺ macrophage state enriched
Study design, redrawn by me: microbiome status (germ-free or SPF) × diet (high-fat, or high-fat + cholesterol). The design follows the foundation study by Hermanson et al. 2026, Gut Microbes (Leone lab), https://doi.org/10.1080/19490976.2026.2668121.
scRNA-seq analysis pipeline Liver non-parenchymal cells from 10x Genomics (180,152 cells) pass through quality control, Scrublet doublet removal, highly variable gene selection, PCA, batch integration, UMAP, Leiden clustering, marker discovery and annotation, and pseudobulk differential expression; 143,221 cells × 27,120 genes are kept. Liver non-parenchymal cells 10x Genomics · 180,152 cells Quality control Scrublet doublet removal Highly variable genes PCA Batch integration UMAP Leiden clustering Markers & annotation Pseudobulk DE QC and doublet filtering Embedding and clusters Wilcoxon markers; CellTypist vs manual Mice as replicates, 2×2 design 143,221 cells × 27,120 genes kept Trem2⁺/Gpnmb⁺/Cd9⁺ macrophage state
The scRNA-seq pipeline I built, from raw 10x Genomics counts to pseudobulk differential expression.

Key results

My role

  • Mouse work, as part of a small team: oral gavage, blood collection, fecal collection, euthanasia and tissue collection.
  • Built the scRNA-seq analysis pipeline end to end, from QC and Scrublet doublet removal through batch integration, Leiden clustering and Wilcoxon marker discovery.
  • Benchmarked CellTypist annotation against manual marker-based annotation and identified the Trem2⁺/Gpnmb⁺/Cd9⁺ macrophage state.
  • Set up pseudobulk differential expression with mice as replicates for the 2×2 diet × microbiome design.
  • Designed the hepatocyte-specific workflow (DecontX, LOESS-based QC, Alb⁺/CD45⁻ gating) and the GSEA stability checks.

The mouse work was a small-team effort in the lab. Cell isolation, single-cell library preparation and sequencing are not my work.

CellChat vs CellPhoneDB

A side analysis on experimental single-cell data: how differences in the mathematical frameworks of CellChat and CellPhoneDB change the cell–cell communication they infer from single-cell RNA-seq data in diet-induced liver disease.

Tools

Python, Scanpy