Spatially-resolved omics allow single-cell transcriptomic profiling while retaining spatial information of cells in their native microenvironment. Integration of spatial information with gene expression data remains challenging, but could potentially yield significant biological insights into how cells function in their microenvironment. Here, we explore probabilistic generative modeling for jointly modeling expression and spatial information from spatial transcriptomics (ST) data.
- Clone the repository.
git clone https://github.com/jleechung/ZB4171-project
cd ZB4171-project
- Create a virtual environment.
conda create --name project python=3.8
activate project
- Install requirements.
pip3 install -r requirements.txt
We implement four variants of the VAE with PyTorch and Pyro:
- NBVAE: samples the parameters of the Negative Binomial distribution
- ZINBVAE: samples the parameters of the Zero Inflated Negative Binomial distribution
- LabelVAE: ZINB + conditioned on cell type labels
- CVAE: ZINB + conditioned on spatial neighbors
To run the models,
- Specify data, model and experiment configurations in
config.yml
- Execute with
python main.py
- MERFISH mouse hypothalamus: https://datadryad.org/stash/dataset/doi:10.5061/dryad.8t8s248
- ST mouse olfactory bulb: https://github.com/JEFworks-Lab/MERINGUE/tree/master/data
- seqFISH+: https://github.com/CaiGroup/seqFISH-PLUS
Probabilistic modeling for scRNA-seq and/or ST:
- SPICEMIX: Latent variable model for jointly modeling spatial information and expression for cell type inference
- gimVI: A joint model for unpaired scRNA-seq and spatial transcriptomics data for imputation
- scVI: Deep generative modeling for scRNA-seq
- BISCUIT: Normalization and clustering of single-cell data with Dirichlet process mixture model
Methods developed for ST:
- SpatialDE: Identification of spatially variable genes
- Hidden Markov Random Fields for clustering expression data with spatially-coherent genes
- BayesSpace: resolution enhancement and clustering for ST
Generative modeling for spatial data: