PhenoSeq is a conditional diffusion model that generates biologically structured scRNA-seq embeddings directly from Cell Painting microscopy images.
Rather than treating morphology and transcriptomics as independent measurements, PhenoSeq learns a shared latent relationship between the two modalities. Given only imaging-derived features, the model synthesises transcriptomic representations in the pretrained scGPT embedding space, enabling downstream molecular analysis without sequencing.
Cell morphology is a physical manifestation of underlying molecular state.
PhenoSeq learns to translate:
Cell Painting Morphology
↓
Conditional Diffusion
↓
Synthetic scGPT Embeddings
↓
Transcriptomic Representation
- First diffusion model for generating transcriptomic embeddings from Cell Painting morphology
- Cross-attention transformer architecture
- Population-level supervision (no cell-paired data required)
- Generates biologically structured scGPT embeddings
- Improves treatment classification over imaging alone
- Recovers ~29% of the gap to the real-transcriptomics multimodal ceiling
| Modality | WE Balanced Accuracy |
|---|---|
| Imaging | 0.270 |
| Synthetic RNA | 0.293 |
| Imaging + Synthetic RNA | 0.315 |
| Imaging + Real RNA | 0.425 |
Synthetic transcriptomic embeddings consistently outperform morphology alone and provide complementary biological signal when fused with imaging.
PhenoSeq consists of three components:
Cell Painting images are encoded using a frozen ViT-L backbone:
5 channels × 1024 features
↓
5120-d vector
A transformer-based denoiser predicts noise in scGPT latent space while attending to imaging-derived context.
Noisy RNA Embedding
↓
Cross-Attention Transformer
↓
Predicted Noise
Iterative denoising produces a synthetic transcriptomic embedding:
xT ~ N(0,I)
↓
DDIM Sampling
↓
Synthetic scGPT Embedding
Cell Painting Features (5120)
│
▼
Self-Attention Encoder
│
▼
Cross-Attention
│
▼
Diffusion Transformer
│
▼
Synthetic scGPT (512)
Key parameters:
| Parameter | Value |
|---|---|
| Diffusion Steps | 1000 |
| Transformer Layers | 6 |
| Heads | 8 |
| Model Dimension | 1024 |
| RNA Dimension | 512 |
| Imaging Dimension | 5120 |
We train and evaluate on the scGeneScope dataset.
- 5 fluorescence channels
- ViT-L ImageNet embeddings
- 5120-dimensional representation
- scGPT embeddings
- 512-dimensional representation
Dataset:
(https://huggingface.co/datasets/altoslabs/scGeneScope)
scGeneScope
├── Imaging
│ └── ViT-L embeddings
└── RNA-seq
└── scGPT embeddings
git clone https://github.com/<username>/PhenoSeq.git
cd PhenoSeq
pip install -r requirements.txtpython train.py --config config.yamlExample:
python train.py \
--config config.yaml \
--batch_size 256 \
--lr 1e-4 \
--diffusion_steps 1000 \
--model_dim 1024img2rna/
├── train.py
├── config.yaml
├── requirements.txt
│
├── models/
│ ├── diffusion.py
│ ├── denoiser.py
│ └── model_utils.py
│
├── data/
│ └── dataset.py
│
├── utils/
│ └── train_utils.py
│
└── assets/
├── phenoseq_hero.png
└── architecture.png
