UNAGI is a data-driven virtual disease model powered by deep generative AI for reconstructing longitudial cell dynamics in disease progression and performing unsupervised in-silico drug perturbations for drug discovery/repurposing.
Full documentations and tutorials can be accessed at UNAGI-docs.
Zheng, Y., Schupp, J.C., Adams, T. et al. A deep generative model for deciphering cellular dynamics and in silico drug discovery in complex diseases. Nat. Biomed. Eng (2025). https://doi.org/10.1038/s41551-025-01423-7
- UNAGI supports both time-series scRNA data and control/disease (two-condition) data.
- UNAGI can construct temporal cell dynamics
- trajectories
- TFs
- temporal marker genes
- UNAGI can perform UNSUPERVISED perturbation for
- single gene
- gene combinations
- pathways
- drug and compounds
- Sept/2025: We are honored to have this work highlighted by Anaconda AI Platform! (link)
- June/2025: We are thrilled to share that UNAGI is published on Nature Biomedical Engineering! (link)
-
Learning disease-specific cell embeddings through iterative training processes.
-
Constructing temporal dynamic graphs from time-series single-cell data and reconstructing temporal gene regulatory networks to decipher cellular dynamics.
-
Identifying dynamic and hierarchical static markers to profile cellular dynamics, both longitudinally and at specific time points.
-
Performing in-silico perturbations to identify potential therapeutic pathways and drug/compound candidates.
Create a new conda environment
conda create -n unagi python=3.10
conda activate unagi
UNAGI installation
pip install scUNAGI
Installing UNAGI directly from GitHub ensures you have the latest version. (Please install directly from GitHub to use the provided Jupyter notebooks for tutorials and walkthrough examples.)
git clone https://github.com/mcgilldinglab/UNAGI.git
cd UNAGI
pip install .
- Python >=3.9
- pyro-ppl>=1.8.6
- scanpy>=1.9.5
- anndata==0.8.0
- torch >= 2.0.0
- matplotlib>=3.7.1
Required files
Preprocessed CMAP database (Link) provides drug-gene pairs data to run UNAGI drug perturbation function.
- Option 1 : 'cmap_drug_target.npy' uses the direct drug target genes provided in CMAP LINCS 2020.
- Option 2: 'cmap_drug_treated_res_cutoff.npy' uses genes that are up/down-regulated significantly after individual drug treatments in CMAP LINCS 2020. We kept the top 5% drug-gene pairs based on level 5 MODZ score.
- 'cmap_direction_df.npy' indicates the direction of gene regulated by drugs after treatments. The drug regulation direction of gene is based on level 5 MODZ score.
- Use your own drug-target pairs, please see this tutorial.
Preprocessed IPF snRNA-seq dataset: One Drive
- UNAGI outcomes to reproduce the figures and tables generated for the manuscript.
Example dataset: Link.
- The dataset for UNAGI walkthrough demonstration.
iDREM installation:
git clone https://github.com/phoenixding/idrem.git
iDREM prerequisites:
Install the iDREM to the source folder of UNAGI
-
Java To use iDREM, a version of Java 1.7 (64-bit) or later must be installed. If Java (64-bit) 1.7 or later is not currently installed, please refer to http://www.java.com for installation instructions.
-
JavaScript To enable the interactive visualization powered by Javascript. (The users are still able to run the software off-line, but Internet access is needed to view the result interactively.)
Prepare datasets to run UNAGI.
UNAGI training and analysis on an example dataset.
Visualization on an example dataset.
Run UNAGI on Customized drug/compound database and Customized pathway database.
Predict the post-treatment gene expression changes using the PCLS data.
From loading data to downstream analysis.
Please visit UNAGI-docs for more examples and tutorials.