Multi-agent workflow for drug-target interaction (DTI) evidence. It combines ML scores (DeepPurpose), KG signals, and PubMed RAG evidence, then produces a reasoning tree and final label.
- Python 3.11+
- uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
uv sync
source .venv/bin/activateCreate a .env file (see .env.example) or export these variables:
AZURE_OPENAI_API_LLM_KEY=...
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_DEPLOYMENT_NAME=...
AZURE_OPENAI_API_VERSION=...
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME=...
AZURE_OPENAI_EMBEDDING_API_VERSION=...Embedding variables are required for PubMed RAG.
Full DrugAgent run:
uv run python -m drugagent.cli --drug Imatinib --gene KIT --enabled_agents ML,KG,RAGoutput/trees/{config_id}/{drug}_{gene}.jsonreasoning treesoutput/summary_{ablation}.csv(CLI)output/summary.csv(legacy summary output)output/ml_dti_scoresoutput/ml_lookup_cacheoutput/rag_dti_cache.csvoutput/graph_dti_cache.csv
- ML: DeepPurpose model downloads automatically if not present.
- RAG: place files at
data/kinase_rag_index.faissanddata/kinase_rag_metadata.json. If missing, the app tries to download viaDRUGAGENT_RAG_GDRIVE_URLintoDRUGAGENT_RAG_DOWNLOAD_DIR. - KG: provide a local KG CSV and set
DRUGAGENT_KG_PATHor place it atdata/KG+BDB.csv.gz.
@article{inoue2025drugagent,
title={Drugagent: Multi-agent large language model-based reasoning for drug-target interaction prediction},
author={Inoue, Yoshitaka and Song, Tianci and Wang, Xinling and Luna, Augustin and Fu, Tianfan},
journal={ArXiv},
pages={arXiv--2408},
year={2025}
}