Xiang Lin, Zhenglun Kong, Soumya Ghosh, Manolis Kellis, Marinka Zitnik
Advancements in spatial perturbation transcriptomics (SPT) have revolutionized our understanding of cellular behavior in native tissue contexts by integrating spatial and perturbation data. However, existing computational frameworks often fail to capture spatial complexities, focusing primarily on individual cell responses. To overcome this limitation, we propose CONCERT, a spatial-aware model designed to address novel counterfactual prediction (CP) tasks. CONCERT learns perturbation-specific kernels to capture various propagation patterns, enabling predicting response gene expression spatially. Beyond perturbation prediction, CONCERT uniquely enables counterfactual predictions of gene expression by switching one or more cell attributes, providing insights that are beyond the reach of current technologies. Leveraging this capability, we applied CONCERT to two additional datasets, addressing challenges that existing sequencing technologies cannot resolve. Evaluations on Perturb-map lung cancer datasets demonstrated that CONCERT consistently outperformed benchmark models, underscoring its potential to unravel spatially complex cellular mechanisms and drive therapeutic innovation.
Ignoring cells' tissue context when predicting perturbations
- Predict perturbations on cells consdiering their niches (2D or 3D).
- Predict perturbations across slides.
- Impute missing cells with perturbation prediction.
- Learn scopes of perturbation effects on tissue space.
- Disentangle perturbation effects - intra or inter cells.
Python - 3.10.12
torch==2.1.0
scanpy==1.10.1
sklearn==1.4.0
scipy==1.12.0
pandas==2.2.0
numpy==1.23.5
scvi-tools==1.3.3
wandb==0.22.1
- Model training
python src/run_concert_map.py \
--config src/config.yaml \
--sample GSM5808054 \
--project_index map \
--stage train \
--data_file ../datasets/GSM5808054_data.h5 \
--model_file model_map_GSM5808054.pt \
--multi_kernel_mode True \
--wandb \
--wandb_project concert-map \
--wandb_run train-
Define the spots for counterfactual prediction. Spots can be easily selected from the Shiny APP in the select_cells.R script in folder select_cells.
-
Do perturbation prediction on the specified spots. Here we predict response gene expression of the spots in spots.txt with perturbagen Jak2-KO (knockout gene Jak2). Arguments
--target_cell_tissueand--target_cell_perturbationare the targert cell/spot type and perturbation state for counterfactual prediction.
python src/run_concert_map.py \
--config src/config.yaml \
--sample GSM5808054 \
--project_index map \
--stage eval \
--data_file ../datasets/GSM5808054_data.h5 \
--model_file model_map_GSM5808054.pt \
--multi_kernel_mode True \
--pert_cells select_cells/pert_cells_GSM5808054_patchclose_tumor_Jak2.txt \
--target_cell_tissue tumor \
--target_cell_perturbation Jak2- Visualized the intermediate and final outputs - see folder outputs
Also see jupyter notebook showing the detailed steps of running CONCERT.
| Dataset | Raw data | Processed data |
|---|---|---|
| Perturb-Map | Raw | Processed |
| Colon inflammation | Raw | Processed |
| Brain stroke | Available from the authors of the original paper upon request | Processed |
The code in this package is licensed under the MIT License.
@article {Lin2025.11.08.686890,
author = {Lin, Xiang and Kong, Zhenglun and Ghosh, Soumya and Kellis, Manolis and Zitnik, Marinka},
title = {CONCERT predicts niche-aware perturbation responses in spatial transcriptomics},
elocation-id = {2025.11.08.686890},
year = {2025},
doi = {10.1101/2025.11.08.686890},
publisher = {Cold Spring Harbor Laboratory},
URL = {https://www.biorxiv.org/content/early/2025/11/10/2025.11.08.686890},
journal = {bioRxiv}
}
#### 💬 Questions
Please leave a Github issue or contact [Xiang Lin](mailto:xianglin226@gmail.com) or [Marinka Zitnik](mailto:marinka@zitnik.si)


