torchdrug
Helps your agent use tools for working with molecules and proteins. It's useful for chemistry and biology research, like discovering new drugs.
What it does
TorchDrug is a tool to help build and fix computer programs that work with molecules. It allows you to load molecular data, choose models to understand them, and train these models to predict properties or generate new molecules.
When to use it
- ✓When you need to analyze molecular properties.
- ✓When trying to create new molecules with specific characteristics.
- ✓If you are working with machine learning in chemistry and need a specialized library.
Example of what to ask your AI
“How can I use TorchDrug to predict the toxicity of chemical compounds?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It works by combining different parts: one to load molecular data, another to choose an analysis model (like GIN), and a third to define what you want to do (like predicting properties). An 'Engine' then handles the training and testing.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill torchdrugOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/torchdrug/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
TorchDrug
Use TorchDrug as a modular PyTorch graph-learning stack:
- load a
datasets.*dataset, - choose a
models.*representation model, - wrap it in a
tasks.*objective, - train and evaluate it with
core.Engine.
The current official documentation and latest published release are both 0.2.1 (released July 2023; rechecked October 1, 2026). Treat newer Python or PyTorch combinations as unverified rather than silently assuming compatibility.
Start with the version guard
Before generating or debugging code, inspect the environment:
python --version
python -c "import torch; print(torch.__version__)"
python -c "import torchdrug; print(torchdrug.__version__)"
The supported matrix for TorchDrug 0.2.1 is:
- Python 3.7 through 3.10
- PyTorch 1.8 through 2.0
- Linux, Windows, or macOS
- Apple Silicon: PyTorch 1.13 or later, CPU only; no MPS support
If the project uses Python 3.11+ or PyTorch 2.1+, create a compatible environment or explicitly test a source build. Do not present such combinations as supported.
Installation
Prefer a dedicated Python 3.10 environment and pin the TorchDrug release:
uv venv --python 3.10
source .venv/bin/activate
uv pip install "torch==2.0.0" "numpy==1.26.4" "setuptools<81" wheel
Install torch-scatter and torch-cluster wheels matched to the exact PyTorch
and CUDA pair, following the
official installation page. For a
CPU-only PyTorch 2.0 environment on a platform listed in that wheel index, use:
uv pip install --only-binary :all: "torch-scatter==2.1.2" "torch-cluster==1.6.3" \
--find-links "https://data.pyg.org/whl/torch-2.0.0+cpu.html"
uv pip install "torchdrug==0.2.1" "numpy==1.26.4" "scipy==1.13.1" \
"rdkit-pypi==2022.9.5" "fair-esm==2.0.0" "decorator==5.1.1"
Do not copy a CUDA wheel URL between environments. Match the PyTorch version,
CUDA build, Python ABI, and platform. On Apple Silicon, the official docs require
building torch-scatter and torch-cluster from source; the wheel index above
has no macOS ARM64 wheels. Install PyTorch before building with
--no-build-isolation. A working compiler/SDK is also required; having PyTorch
installed alone does not guarantee a successful native build. See
review and environment evidence for the exact audit stack.
Use the fair-esm distribution, which imports as esm; the newer distribution
named esm is a different SDK. Do not install both RDKit distributions (rdkit
and rdkit-pypi) into one environment. NumPy 1.x avoids the old binary stack's
NumPy 2 ABI incompatibility; setuptools<81 retains pkg_resources for PyTorch 2.0.
Canonical property-prediction workflow
Use the documented ClinTox → GIN → PropertyPrediction → Engine pattern. The random split below is a tutorial baseline. For generalization to new molecular scaffolds, use data.scaffold_split or the benchmark's specified split, keep duplicate molecules in one partition, and record the actual split sizes and class counts. Scaffold-group allocation may not match the requested lengths exactly.
First run the ClinTox cache preparation. The release's old HTTP download URL fails; the current official HTTPS asset has the identical release MD5. The full training examples are illustrative and were not run to convergence during this review.
import torch
from torchdrug import core, datasets, models, tasks
dataset = datasets.ClinTox("~/molecule-datasets/")
lengths = [int(0.8 * len(dataset)), int(0.1 * len(dataset))]
lengths.append(len(dataset) - sum(lengths))
train_set, valid_set, test_set = torch.utils.data.random_split(
dataset, lengths, generator=torch.Generator().manual_seed(1)
)
model = models.GIN(
input_dim=dataset.node_feature_dim,
hidden_dims=[256, 256, 256, 256],
short_cut=True,
batch_norm=True,
concat_hidden=True,
)
task = tasks.PropertyPrediction(
model,
task=dataset.tasks,
criterion="bce",
metric=("auprc", "auroc"),
)
optimizer = torch.optim.Adam(task.parameters(), lr=1e-3)
solver = core.Engine(
task,
train_set,
valid_set,
test_set,
optimizer,
batch_size=1024,
)
solver.train(num_epoch=100)
solver.evaluate("valid")
Add gpus=[0] only when a supported CUDA device is available. Omit gpus for
CPU execution.
For binary classification, task.predict(batch) returns logits; apply
…
FAQ
Which version of TorchDrug should I use?
The recommended and most stable official version is 0.2.1, released in July 2023.
What Python and PyTorch versions are compatible with TorchDrug 0.2.1?
It works with Python 3.7 to 3.10 and PyTorch 1.8 to 2.0. Newer versions might not be compatible.
How do I install TorchDrug?
It's recommended to use a Python 3.10 environment and install the correct versions of PyTorch, torch-scatter, torch-cluster, and other dependencies, following the official instructions to ensure compatibility.
Details
Original description by the author
Builds and troubleshoots TorchDrug 0.2.1 workflows for molecular graphs, property prediction, self-supervised pretraining, molecule generation, retrosynthesis, protein representation learning, and knowledge graph reasoning. Use when code imports torchdrug or needs its datasets, models, tasks, or Engine.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1993
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
pytorch-patterns
Helps your agent use PyTorch for machine learning models. It applies best practices for efficient model training and ensures reproducible results.
affaan-m/ECC
evm-token-decimals
Helps your agent avoid errors with decimal numbers across different blockchain networks. It ensures token values are accurate in transactions and calculations.
affaan-m/ECC
knowledge-agent
Creates and queries knowledge bases using AI. It allows asking questions about past work or compiling expertise on a topic.
thedotmack/claude-mem