Skip to main content

UNAGI: virtual disease and drug perturbation

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.

Citation

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

Highlights

  • 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

News

  • 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)

Overview

Alt text
  • 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.

Installation

Create a new conda environment

conda create -n unagi python=3.10
conda activate unagi

UNAGI installation

Option 1: Install from pip

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 .

Prerequisites

  • 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.)

Tutorials:

Dataset preparation

Prepare datasets to run UNAGI.

Training and analysis on an example dataset

UNAGI training and analysis on an example dataset.

Visualize the results of the UNAGI method

Visualization on an example dataset.

Using UNAGI with a customized pathway or drug database for in-silico perturbation

Run UNAGI on Customized drug/compound database and Customized pathway database.

Predicting post-treatment gene expressions

Predict the post-treatment gene expression changes using the PCLS data.

Walkthrough Example

From loading data to downstream analysis.

Please visit UNAGI-docs for more examples and tutorials.

Contact

Yumin Zheng, Naftali Kaminski, Jun Ding

Metadata

Release files for scUNAGI 0.5.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scUNAGI 0.5.10
File Size Uploaded Provenance Actions
scunagi-0.5.10.tar.gz 6.7 MB Without provenance Details for scunagi-0.5.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scUNAGI 0.5.10
File Interpreter ABI Platform Actions
scunagi-0.5.10-py3-none-any.whl Python 3 none any Details for scunagi-0.5.10-py3-none-any.whl

Total release size: 13.5 MB

Release files / scunagi-0.5.10.tar.gz

Download URL scunagi-0.5.10.tar.gz
Size 6.7 MB
Tags Source
SHA-256 checksum
How to use checksums
574572ea2ec50b8286edf27faaff663599ef262eeb6741ea724511b7433245f0
BLAKE2b-256 checksum
How to use checksums
133580f0256986f7124960ec3b9fa0168884d3cf3561acb9795192b0bf46691f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Release files / scunagi-0.5.10-py3-none-any.whl

Download URL scunagi-0.5.10-py3-none-any.whl
Size 6.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4c86ca9b2f6bd6b49386308fad22e2db62e15e54ce22bcd356dd7206621e0b77
BLAKE2b-256 checksum
How to use checksums
2405b37d0ba32912eb0ba39b8d56ed2c593b2f268ee514c666537691f50a89fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Security for scUNAGI 0.5.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page