Which molecular and gene representations work, for which cellular readouts, and under which evaluation settings?
🧪 Molecular representations · 🧬 Gene representations · 🔬 Transcriptomics · 🖼️ Cell morphology
🌐 Project Page • 📄 Read the Paper • 🗂️ Dataset • ⚡ Quickstart • 📝 Citation
MVCBench systematically studies how drug molecular and gene representations influence prediction of drug-induced cellular phenotypes across transcriptomic, morphological, and multimodal settings. Rather than declaring one encoder universally best, MVCBench asks which representation helps a particular readout and how well that advantage generalizes.
| 🧫 Drug-induced profiles | 🧪 Molecular representations | 🧬 Gene representations | 🔬 Evaluation stages |
|---|---|---|---|
| ~1.1 million | 12 | 12 | 3 |
Figure 1. MVCBench integrates drug-perturbation resources and evaluates representation choices in a progressive benchmark, from individual response modalities to multimodal modeling. Click the figure to explore the project website.
Note
What “multimodal” means here: The transcriptomic and morphological resources are not universally measured in the same cells, plates, or experimental replicates. When readouts come from different experiments, cross-modality correspondence may be established at the compound level. Do not interpret the total profile count as same-cell RNA–image pairs.
| Research question | What MVCBench finds | |
|---|---|---|
| 🧪 | Do stronger molecular encoders help all phenotypes equally? | Gains are substantially more pronounced for morphology prediction than for gene-expression prediction, where simpler fingerprints can remain competitive. |
| 🧬 | Are general-purpose gene foundation models always preferable? | Task alignment matters. In the evaluated transcriptomic settings, perturbation-oriented representations can outperform more general encoders. |
| 🔗 | Does multimodal training help? | Joint optimization improves results in the evaluated settings, but the size and interpretation of gains depend on the dataset, readout, and optimization setup. |
| 🧭 | What should we learn for future virtual cells? | Representation selection, generalization splits, loss balancing, and fusion strategy need modality-aware evaluation, not a single aggregate ranking. |
📊 Show supporting results · Molecular representations (Figures 2–3)
Figure 2 · Drug molecular representations for gene-expression prediction.
Figure 3 · Drug molecular representations for cellular morphology prediction.
🧬 Show supporting results · Gene representations (Figure 4)
Figure 4 · Gene representation benchmarking across gene-expression prediction settings.
🔗 Show supporting results · Multimodal modeling and design principles (Figures 5–6)
Figure 5 · Evaluation of multimodal virtual-cell construction.
Figure 6 · Empirical analyses of multimodal design choices.
The benchmark follows three complementary stages rather than collapsing different prediction questions into one score.
| Stage | Focus | Scientific question | Training entry point |
|---|---|---|---|
| A · 🧪 | Molecular representation | Which chemical representations support prediction of drug-induced RNA and morphology? | train_gene.py, train_image.py |
| B · 🧬 | Gene representation | How do gene encoders affect transcriptomic response prediction? | train_gene.py |
| C · 🔗 | Multimodal virtual cell | When does joint RNA–morphology learning help, and under which settings? | train_mvc.py |
Evaluation dimensions: drug/compound, cellular context, and dataset-dependent generalization; see the paper and project website for the precise protocols and results.
git clone https://github.com/QSong-github/MVCBench.git
cd MVCBench
conda create -n mvcbench python=3.11 -y
conda activate mvcbench
pip install -r requirements.txtDownload the released data from 🤗 MVCBench on Hugging Face. The loaders expect prepared datasets and, for some settings, precomputed model embeddings. They do not automatically download every upstream resource.
# The default data root is ./data
export VCBENCH_DATA_ROOT=/path/to/MVCBench_dataDataset paths and representation file mappings are defined in src/configs.py. Typical resource groups include LINCS2020, CIGS, Tahoe-100M, BBBC036, BBBC047, cpg0016, and molecular representations under Molecular_representations/.
🧬 A · Predict gene-expression responses
python train_gene.py \
--dataset_name LINCS \
--molecule_feature ECFP4 \
--gene_encoder_type Default \
--split_data_type smiles_split \
--n_epochs 2 \
--batch_size 1024🖼️ A · Predict morphological responses
python train_image.py \
--dataset_name cpg0016 \
--molecule_feature ECFP4 \
--image_encoder_type Default \
--split_data_type smiles_split \
--n_epochs 2 \
--batch_size 1024🔗 C · Train a multimodal virtual cell
python train_mvc.py \
--dataset_name MVC_BBBC047 \
--molecule_feature ECFP4 \
--split_data_type smiles_split \
--n_epochs 2 \
--batch_size 1024Tip
These commands use 2 epochs as a smoke-test configuration, not the training budget for reproducing published benchmark results. Supply the corresponding prepared datasets and embeddings before running. The training scripts use CUDA by default; check --device and available hardware as needed.
By default, training writes to results/, including model checkpoints (e.g., best_model.pt), per-sample evaluation tables (.csv), and predicted profiles (.h5) when profile export is enabled.
For benchmark sweeps, see the batch launchers:
MVCBench evaluates 12 molecular and 12 gene representation approaches in the paper. The reference tables below highlight linked implementations (not a complete model inventory); availability and reproducibility may depend on upstream projects.
🧪 Molecular representations · View model reference table
| Model | Reference | Implementation |
|---|---|---|
| KPGT | Nature Communications · 2023 | |
| InfoAlign | ICLR · 2025 | |
| GeminiMol | Advanced Science · 2024 | |
| Ouroboros | Preprint | |
| Mole-BERT | ICLR · 2023 | |
| ChemBERTa2 | arXiv · 2022 | |
| MolT5 | EMNLP · 2022 | |
| Chemprop | JCIM · 2024 | |
| MolCLR | Nature Machine Intelligence · 2022 | |
| UniMol | ICLR · 2023 | |
| UniMol2 | NeurIPS · 2024 |
🧬 Gene representations · View model reference table
| Model | Reference | Implementation |
|---|---|---|
| Geneformer | Nature · 2023 | 🤗 Hugging Face |
| tGPT | bioRxiv · 2022 | |
| UCE | bioRxiv · 2023 | |
| scBERT | Nature Machine Intelligence · 2022 | |
| CellPLM | ICLR · 2024 | |
| OpenBioMed | arXiv · 2023 | |
| scGPT | Nature Methods · 2024 | |
| scFoundation | Nature Methods · 2024 | |
| SCimilarity | Nature · 2025 | |
| Cell2Sentence | ICML | |
| STATE | bioRxiv · 2025 |
| Modality | Data sources | Access |
|---|---|---|
| 🧬 Transcriptomics | CIGS · Tahoe-100M · LINCS 2020 | CIGS · Tahoe · LINCS |
| 🖼️ Cell morphology | Cell Painting Gallery (cpg0016, cpg0003) |
AWS Open Data |
| 🔗 Multimodal datasets | CDRP-BBBC047-Bray · CDRPBIO-BBBC036-Bray | Data resource reference |
| 📦 Processed release | MVCBench benchmark data | 🤗 Hugging Face |
Cross-modal correspondence and experimental pairing should be interpreted at the level supported by each dataset, not assumed to mean same-cell image–RNA measurements.
| Representation | Notebook / code | Description |
|---|---|---|
| 🧪 Molecular (e.g., UniMol2) | Get_Molecular_Embedding.ipynb |
Generate compound/molecular representations for benchmark inputs. |
| 🧬 Gene (e.g., STATE) | Get_STATE_Embedding.ipynb |
Compute gene-expression/cellular representations with the corresponding upstream model. |
For STATE, the upstream interface includes the following call (see the linked notebook for setup and actual parameters):
inferer.encode_adata( # https://github.com/ArcInstitute/state
input_file,
output_file,
emb_key=embed_key,
dataset_name=dataset_name,
gene_column=gene_column,
)If MVCBench supports your research, please cite the publicly available preprint until the final journal record is published.
@article{li2026mvcbench,
title = {{MVCBench}: A Multimodal Benchmark for Drug-induced Virtual Cell Phenotypes},
author = {Li, Bo and Wang, Qing and Wang, Shihang and Zhang, Bob and Peng, Yuzhong and Zeng, Pinxian and Liu, Chengliang and Li, Mengran and Tang, Ziyang and Yao, Xiaojun and Deng, Chuxia and Song, Qianqian},
journal = {bioRxiv},
year = {2026},
doi = {10.64898/2026.04.22.720110},
url = {https://www.biorxiv.org/content/10.64898/2026.04.22.720110v1},
note = {Preprint; accepted in principle at Nature Communications}
}




