Skip to content
Skillpedia
Machine learning51k · #1993

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

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/torchdrug/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/torchdrug/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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 torchdrug

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/torchdrug/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

TorchDrug

Use TorchDrug as a modular PyTorch graph-learning stack:

  1. load a datasets.* dataset,
  2. choose a models.* representation model,
  3. wrap it in a tasks.* objective,
  4. 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.

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1993
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills