Skip to main content

TxOptimus

Zero-shot drug repurposing via TxGNN on PrimeKG and OptimusKG.

TxOptimus is a unified Python package that wraps TxGNN (Huang et al., Nature Medicine, 2024) with two knowledge graph backends:

  • TxGNN Prime — the original baseline trained on Harvard PrimeKG
  • TxGNN Optimus — an enriched model trained on the Zitnik Lab's OptimusKG, a multimodal knowledge graph validated by LLM extraction (PaperQA3)

OptimusKG achieves a ~34% improvement in Macro AUROC over PrimeKG in zero-shot drug repurposing for oncology under the cell_proliferation split.

Installation

# Create a dedicated environment (recommended)
conda create -n txoptimus python=3.8
conda activate txoptimus

# Install DGL first (not available on PyPI, requires separate wheel)
# For CUDA 12.1:
pip install https://data.dgl.ai/wheels/torch-2.4/cu121/dgl-2.4.0%2Bcu121-cp38-cp38-manylinux1_x86_64.whl
# For CPU only:
# pip install https://data.dgl.ai/wheels/torch-2.4/cpu/dgl-2.4.0-cp38-cp38-manylinux1_x86_64.whl

# Install TxOptimus
pip install txoptimus

⚠ System Requirements:

  • RAM: ≥32 GB (OptimusKG loads a 21.8M-edge graph)
  • Storage: ≥8 GB free disk space
  • Python: 3.8+ (tested on 3.8.20)
  • GPU: Optional (CPU inference supported)

Quick Start

1. Download data files

txoptimus --setup              # downloads both PrimeKG and OptimusKG data
txoptimus --setup prime        # only PrimeKG
txoptimus --setup optimus      # only OptimusKG

2. Run zero-shot drug repurposing

# Using OptimusKG (recommended)
txoptimus --engine optimus --diseases "oral cavity cancer" "glioblastoma"

# Using PrimeKG baseline
txoptimus --engine prime --diseases "oral cavity cancer"

# Benchmark mode — runs both and generates a comparison report
txoptimus --engine benchmark --diseases "oral cavity cancer"

3. Fuzzy disease matching

TxOptimus uses PubMedBERT embeddings to fuzzy-match your disease terms against the knowledge graph vocabulary. If your input doesn't match exactly, the tool will show the top-10 closest matches and let you pick:

Disease term: "breast cancer"

Matched terms in OPTIMUS:
  [1] invasive breast carcinoma (similarity: 0.94)
  [2] breast carcinoma (similarity: 0.91)
  [3] triple-negative breast cancer (similarity: 0.89)

Select terms (e.g., '1 3' or 'all'): 1 3

4. Enable explainability

# Add --graphmask to enable GraphMask pathway attribution
txoptimus --engine optimus --diseases "oral cavity cancer" --graphmask

Note: GraphMask requires ≥30 GB RAM and takes 2-4 hours on CPU.

Full CLI Reference

Argument Type Default Description
--engine str optimus prime, optimus, or benchmark
--diseases str[] (required) Disease terms (fuzzy matched)
--graphmask flag False Enable GraphMask explainability
--output_dir str ./txoptimus_output Output directory
--prefix str txoptimus File prefix
--threads int 18 CPU threads
--top_k int 100 Drug candidates per disease
--setup str? — Download data (prime/optimus/both)
--data_dir str ~/.txoptimus Data directory override

Output Files

File Description
{prefix}_{engine}_results.json Full metrics (AUROC, AUPRC, per-relation, graph profile)
{prefix}_{engine}_candidates.csv Top-K drug candidates ranked by score
{prefix}_comparison_report.md Side-by-side comparison (benchmark mode only)

Citation

If you use TxOptimus in your research, please cite the original TxGNN paper:

@article{huang2024txgnn,
  title={Zero-shot prediction of therapeutic use with geometric deep learning and clinician centered design},
  author={Huang, Kexin and Chandak, Payal and Wang, Qianwen and Haber, Shreyas and Zitnik, Marinka},
  journal={Nature Medicine},
  year={2024}
}

License

MIT License — see LICENSE for details.

Author

arsalanriaz

Release files for txoptimus 0.1.4

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

Source distribution (sdist)

Source distribution for txoptimus 0.1.4
File Size Uploaded
txoptimus-0.1.4.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for txoptimus 0.1.4
File Interpreter ABI Platform
txoptimus-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 5.0 MB

Release files / txoptimus-0.1.4.tar.gz

Download URL txoptimus-0.1.4.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8aa138e290e9aa76d45e91a93dd9a72705f2be55afb6ff5990baf1ad8a6c62b3
BLAKE2b-256 checksum
How to use checksums
60d42d600002311a088a1016121d205420d452c07e9b5c34d3d144080e694eb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / txoptimus-0.1.4-py3-none-any.whl

Download URL txoptimus-0.1.4-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
805bb3eb7ba7f5fc5c056856f6096a42b91d30febd6f8439654e31ac762da623
BLAKE2b-256 checksum
How to use checksums
c8344c3060df0899fdee582c78dee8091b178e989fbd2855d460d6895d57b8e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release history Release notifications | RSS feed

0.1.7

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

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