Skip to main content
torchdrug Graph-based drug discovery toolkit. Molecular property prediction (ADMET), protein modeling, knowledge graph reasoning, molecular generation, retrosynthesis, GNNs (GIN, GAT, SchNet), 40+ datasets, for PyTorch-based ML on molecules, proteins, and biomedical graphs.
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/davila7/claude-code-templates --skill torchdrug명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... 이 저장소의 다른 Skills Build AI agents that interact with computers like humans do - viewing screens, moving cursors, clicking buttons, and typing text. Covers Anthropic's Computer Use, OpenAI's Operator/CUA, and open-source alternatives. Critical focus on sandboxing, security, and handling the unique challenges of vision-based control. Use when: computer use, desktop automation agent, screen control AI, vision-based agent, GUI automation.
Expert in building products that wrap AI APIs (OpenAI, Anthropic, etc.) into focused tools people will pay for. Not just 'ChatGPT but different' - products that solve specific problems with AI. Covers prompt engineering for products, cost management, rate limiting, and building defensible AI businesses. Use when: AI wrapper, GPT product, AI tool, wrap AI, AI SaaS.
github-workflow-automation Automate GitHub workflows with AI assistance. Includes PR reviews, issue triage, CI/CD integration, and Git operations. Use when automating GitHub workflows, setting up PR review automation, creating GitHub Actions, or triaging issues.
name torchdrug description Graph-based drug discovery toolkit. Molecular property prediction (ADMET), protein modeling, knowledge graph reasoning, molecular generation, retrosynthesis, GNNs (GIN, GAT, SchNet), 40+ datasets, for PyTorch-based ML on molecules, proteins, and biomedical graphs.
TorchDrug
Overview
TorchDrug is a comprehensive PyTorch-based machine learning toolbox for drug discovery and molecular science. Apply graph neural networks, pre-trained models, and task definitions to molecules, proteins, and biological knowledge graphs, including molecular property prediction, protein modeling, knowledge graph reasoning, molecular generation, retrosynthesis planning, with 40+ curated datasets and 20+ model architectures.
When to Use This Skill
This skill should be used when working with:
Data Types:
SMILES strings or molecular structures
Protein sequences or 3D structures (PDB files)
Chemical reactions and retrosynthesis
Biomedical knowledge graphs
Drug discovery datasets
Tasks:
Predicting molecular properties (solubility, toxicity, activity)
Protein function or structure prediction
Drug-target binding prediction
Generating new molecular structures
Planning chemical synthesis routes
Link prediction in biomedical knowledge bases
Training graph neural networks on scientific data
Libraries and Integration:
TorchDrug is the primary library
Often used with RDKit for cheminformatics
Compatible with PyTorch and PyTorch Lightning
Integrates with AlphaFold and ESM for proteins
Getting Started
Installation
uv pip install torchdrug
uv pip install torchdrug[full]
Quick Example from torchdrug import datasets, models, tasks
from torch.utils.data import DataLoader
dataset = datasets.BBBP("~/molecule-datasets/" )
train_set, valid_set, test_set = dataset.split()
model = models.GIN(
input_dim=dataset.node_feature_dim,
hidden_dims=[256 , 256 , 256 ],
edge_input_dim=dataset.edge_feature_dim,
batch_norm=True ,
readout="mean"
)
task = tasks.PropertyPrediction(
model,
task=dataset.tasks,
criterion="bce" ,
metric=["auroc" , "auprc" ]
)
optimizer = torch.optim.Adam(task.parameters(), lr=1e-3 )
train_loader = DataLoader(train_set, batch_size=32 , shuffle=True )
for epoch in range (100 ):
for batch in train_loader:
loss = task(batch)
optimizer.zero_grad()
loss.backward()
optimizer.step()
Core Capabilities
1. Molecular Property Prediction Predict chemical, physical, and biological properties of molecules from structure.
Drug-likeness and ADMET properties
Toxicity screening
Quantum chemistry properties
Binding affinity prediction
20+ molecular datasets (BBBP, HIV, Tox21, QM9, etc.)
GNN models (GIN, GAT, SchNet)
PropertyPrediction and MultipleBinaryClassification tasks
Reference: See references/molecular_property_prediction.md for:
Complete dataset catalog
Model selection guide
Training workflows and best practices
Feature engineering details
2. Protein Modeling Work with protein sequences, structures, and properties.
Enzyme function prediction
Protein stability and solubility
Subcellular localization
Protein-protein interactions
Structure prediction
15+ protein datasets (EnzymeCommission, GeneOntology, PDBBind, etc.)
Sequence models (ESM, ProteinBERT, ProteinLSTM)
Structure models (GearNet, SchNet)
Multiple task types for different prediction levels
Reference: See references/protein_modeling.md for:
Protein-specific datasets
Sequence vs structure models
Pre-training strategies
Integration with AlphaFold and ESM
3. Knowledge Graph Reasoning Predict missing links and relationships in biological knowledge graphs.
Drug repurposing
Disease mechanism discovery
Gene-disease associations
Multi-hop biomedical reasoning
General KGs (FB15k, WN18) and biomedical (Hetionet)
Embedding models (TransE, RotatE, ComplEx)
KnowledgeGraphCompletion task
Reference: See references/knowledge_graphs.md for:
Knowledge graph datasets (including Hetionet with 45k biomedical entities)
Embedding model comparison
Evaluation metrics and protocols
Biomedical applications
4. Molecular Generation Generate novel molecular structures with desired properties.
De novo drug design
Lead optimization
Chemical space exploration
Property-guided generation
Autoregressive generation
GCPN (policy-based generation)
GraphAutoregressiveFlow
Property optimization workflows
Reference: See references/molecular_generation.md for:
Generation strategies (unconditional, conditional, scaffold-based)
Multi-objective optimization
Validation and filtering
Integration with property prediction
5. Retrosynthesis Predict synthetic routes from target molecules to starting materials.
Synthesis planning
Route optimization
Synthetic accessibility assessment
Multi-step planning
USPTO-50k reaction dataset
CenterIdentification (reaction center prediction)
SynthonCompletion (reactant prediction)
End-to-end Retrosynthesis pipeline
Reference: See references/retrosynthesis.md for:
Task decomposition (center ID → synthon completion)
Multi-step synthesis planning
Commercial availability checking
Integration with other retrosynthesis tools
6. Graph Neural Network Models Comprehensive catalog of GNN architectures for different data types and tasks.
General GNNs: GCN, GAT, GIN, RGCN, MPNN
3D-aware: SchNet, GearNet
Protein-specific: ESM, ProteinBERT, GearNet
Knowledge graph: TransE, RotatE, ComplEx, SimplE
Generative: GraphAutoregressiveFlow
Reference: See references/models_architectures.md for:
Detailed model descriptions
Model selection guide by task and dataset
Architecture comparisons
Implementation tips
7. Datasets 40+ curated datasets spanning chemistry, biology, and knowledge graphs.
Molecular properties (drug discovery, quantum chemistry)
Protein properties (function, structure, interactions)
Knowledge graphs (general and biomedical)
Retrosynthesis reactions
Reference: See references/datasets.md for:
Complete dataset catalog with sizes and tasks
Dataset selection guide
Loading and preprocessing
Splitting strategies (random, scaffold)
Common Workflows
Workflow 1: Molecular Property Prediction Scenario: Predict blood-brain barrier penetration for drug candidates.
Load dataset: datasets.BBBP()
Choose model: GIN for molecular graphs
Define task: PropertyPrediction with binary classification
Train with scaffold split for realistic evaluation
Evaluate using AUROC and AUPRC
Navigation: references/molecular_property_prediction.md → Dataset selection → Model selection → Training
Workflow 2: Protein Function Prediction Scenario: Predict enzyme function from sequence.
Load dataset: datasets.EnzymeCommission()
Choose model: ESM (pre-trained) or GearNet (with structure)
Define task: PropertyPrediction with multi-class classification
Fine-tune pre-trained model or train from scratch
Evaluate using accuracy and per-class metrics
Navigation: references/protein_modeling.md → Model selection (sequence vs structure) → Pre-training strategies
Workflow 3: Drug Repurposing via Knowledge Graphs Scenario: Find new disease treatments in Hetionet.
Load dataset: datasets.Hetionet()
Choose model: RotatE or ComplEx
Define task: KnowledgeGraphCompletion
Train with negative sampling
Query for "Compound-treats-Disease" predictions
Filter by plausibility and mechanism
Navigation: references/knowledge_graphs.md → Hetionet dataset → Model selection → Biomedical applications
Workflow 4: De Novo Molecule Generation Scenario: Generate drug-like molecules optimized for target binding.
Train property predictor on activity data
Choose generation approach: GCPN for RL-based optimization
Define reward function combining affinity, drug-likeness, synthesizability
Generate candidates with property constraints
Validate chemistry and filter by drug-likeness
Rank by multi-objective scoring
Navigation: references/molecular_generation.md → Conditional generation → Multi-objective optimization
Workflow 5: Retrosynthesis Planning Scenario: Plan synthesis route for target molecule.
Load dataset: datasets.USPTO50k()
Train center identification model (RGCN)
Train synthon completion model (GIN)
Combine into end-to-end retrosynthesis pipeline
Apply recursively for multi-step planning
Check commercial availability of building blocks
Navigation: references/retrosynthesis.md → Task types → Multi-step planning
Integration Patterns
With RDKit Convert between TorchDrug molecules and RDKit:
from torchdrug import data
from rdkit import Chem
smiles = "CCO"
mol = data.Molecule.from_smiles(smiles)
rdkit_mol = mol.to_molecule()
rdkit_mol = Chem.MolFromSmiles(smiles)
mol = data.Molecule.from_molecule(rdkit_mol)
With AlphaFold/ESM Use predicted structures:
from torchdrug import data
protein = data.Protein.from_pdb("AF-P12345-F1-model_v4.pdb" )
graph = protein.residue_graph(
node_position="ca" ,
edge_types=["sequential" , "radius" ],
radius_cutoff=10.0
)
With PyTorch Lightning Wrap tasks for Lightning training:
import pytorch_lightning as pl
class LightningTask (pl.LightningModule):
def __init__ (self, torchdrug_task ):
super ().__init__()
self .task = torchdrug_task
def training_step (self, batch, batch_idx ):
return self .task(batch)
def validation_step (self, batch, batch_idx ):
pred = self .task.predict(batch)
target = self .task.target(batch)
return {"pred" : pred, "target" : target}
def configure_optimizers (self ):
return torch.optim.Adam(self .parameters(), lr=1e-3 )
Technical Details For deep dives into TorchDrug's architecture:
Core Concepts: See references/core_concepts.md for:
Architecture philosophy (modular, configurable)
Data structures (Graph, Molecule, Protein, PackedGraph)
Model interface and forward function signature
Task interface (predict, target, forward, evaluate)
Training workflows and best practices
Loss functions and metrics
Common pitfalls and debugging
Quick Reference Cheat Sheet
Molecular property → references/datasets.md → Molecular section
Protein task → references/datasets.md → Protein section
Knowledge graph → references/datasets.md → Knowledge graph section
Molecules → references/models_architectures.md → GNN section → GIN/GAT/SchNet
Proteins (sequence) → references/models_architectures.md → Protein section → ESM
Proteins (structure) → references/models_architectures.md → Protein section → GearNet
Knowledge graph → references/models_architectures.md → KG section → RotatE/ComplEx
Property prediction → references/molecular_property_prediction.md or references/protein_modeling.md
Generation → references/molecular_generation.md
Retrosynthesis → references/retrosynthesis.md
KG reasoning → references/knowledge_graphs.md
Data structures → references/core_concepts.md → Data Structures
Model design → references/core_concepts.md → Model Interface
Task design → references/core_concepts.md → Task Interface
Troubleshooting Common Issues Issue: Dimension mismatch errors
→ Check model.input_dim matches dataset.node_feature_dim
→ See references/core_concepts.md → Essential Attributes
Issue: Poor performance on molecular tasks
→ Use scaffold splitting, not random
→ Try GIN instead of GCN
→ See references/molecular_property_prediction.md → Best Practices
Issue: Protein model not learning
→ Use pre-trained ESM for sequence tasks
→ Check edge construction for structure models
→ See references/protein_modeling.md → Training Workflows
Issue: Memory errors with large graphs
→ Reduce batch size
→ Use gradient accumulation
→ See references/core_concepts.md → Memory Efficiency
Issue: Generated molecules are invalid
→ Add validity constraints
→ Post-process with RDKit validation
→ See references/molecular_generation.md → Validation and Filtering
Resources
Summary Navigate to the appropriate reference file based on your task:
Molecular property prediction → molecular_property_prediction.md
Protein modeling → protein_modeling.md
Knowledge graphs → knowledge_graphs.md
Molecular generation → molecular_generation.md
Retrosynthesis → retrosynthesis.md
Model selection → models_architectures.md
Dataset selection → datasets.md
Technical details → core_concepts.md
Each reference provides comprehensive coverage of its domain with examples, best practices, and common use cases.