environment-setup-guide
Guide developers through setting up development environments with proper tools, dependencies, and configurations
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.
Full skill instructions
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.
This skill should be used when working with:
Data Types:
Tasks:
Libraries and Integration:
uv pip install torchdrug
# Or with optional dependencies
uv pip install torchdrug[full]
from torchdrug import datasets, models, tasks
from torch.utils.data import DataLoader
# Load molecular dataset
dataset = datasets.BBBP("~/molecule-datasets/")
train_set, valid_set, test_set = dataset.split()
# Define GNN model
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"
)
# Create property prediction task
task = tasks.PropertyPrediction(
model,
task=dataset.tasks,
criterion="bce",
metric=["auroc", "auprc"]
)
# Train with PyTorch
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()
Predict chemical, physical, and biological properties of molecules from structure.
Use Cases:
Key Components:
Reference: See references/molecular_property_prediction.md for:
Work with protein sequences, structures, and properties.
Use Cases:
Key Components:
Reference: See references/protein_modeling.md for:
Predict missing links and relationships in biological knowledge graphs.
Use Cases:
Key Components:
Reference: See references/knowledge_graphs.md for:
Generate novel molecular structures with desired properties.
Use Cases:
Key Components:
Reference: See references/molecular_generation.md for:
Predict synthetic routes from target molecules to starting materials.
Use Cases:
Key Components:
Reference: See references/retrosynthesis.md for:
Comprehensive catalog of GNN architectures for different data types and tasks.
Available Models:
Reference: See references/models_architectures.md for:
40+ curated datasets spanning chemistry, biology, and knowledge graphs.
Categories:
Reference: See references/datasets.md for:
Scenario: Predict blood-brain barrier penetration for drug candidates.
Steps:
datasets.BBBP()PropertyPrediction with binary classificationNavigation: references/molecular_property_prediction.md → Dataset selection → Model selection → Training
Scenario: Predict enzyme function from sequence.
Steps:
datasets.EnzymeCommission()PropertyPrediction with multi-class classificationNavigation: references/protein_modeling.md → Model selection (sequence vs structure) → Pre-training strategies
Scenario: Find new disease treatments in Hetionet.
Steps:
datasets.Hetionet()KnowledgeGraphCompletionNavigation: references/knowledge_graphs.md → Hetionet dataset → Model selection → Biomedical applications
Scenario: Generate drug-like molecules optimized for target binding.
Steps:
Navigation: references/molecular_generation.md → Conditional generation → Multi-objective optimization
Scenario: Plan synthesis route for target molecule.
Steps:
datasets.USPTO50k()Navigation: references/retrosynthesis.md → Task types → Multi-step planning
Convert between TorchDrug molecules and RDKit:
from torchdrug import data
from rdkit import Chem
# SMILES → TorchDrug molecule
smiles = "CCO"
mol = data.Molecule.from_smiles(smiles)
# TorchDrug → RDKit
rdkit_mol = mol.to_molecule()
# RDKit → TorchDrug
rdkit_mol = Chem.MolFromSmiles(smiles)
mol = data.Molecule.from_molecule(rdkit_mol)
Use predicted structures:
from torchdrug import data
# Load AlphaFold predicted structure
protein = data.Protein.from_pdb("AF-P12345-F1-model_v4.pdb")
# Build graph with spatial edges
graph = protein.residue_graph(
node_position="ca",
edge_types=["sequential", "radius"],
radius_cutoff=10.0
)
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)
For deep dives into TorchDrug's architecture:
Core Concepts: See references/core_concepts.md for:
Choose Dataset:
references/datasets.md → Molecular sectionreferences/datasets.md → Protein sectionreferences/datasets.md → Knowledge graph sectionChoose Model:
references/models_architectures.md → GNN section → GIN/GAT/SchNetreferences/models_architectures.md → Protein section → ESMreferences/models_architectures.md → Protein section → GearNetreferences/models_architectures.md → KG section → RotatE/ComplExCommon Tasks:
references/molecular_property_prediction.md or references/protein_modeling.mdreferences/molecular_generation.mdreferences/retrosynthesis.mdreferences/knowledge_graphs.mdUnderstand Architecture:
references/core_concepts.md → Data Structuresreferences/core_concepts.md → Model Interfacereferences/core_concepts.md → Task InterfaceIssue: 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
Official Documentation: https://torchdrug.ai/docs/ GitHub: https://github.com/DeepGraphLearning/torchdrug Paper: TorchDrug: A Powerful and Flexible Machine Learning Platform for Drug Discovery
Navigate to the appropriate reference file based on your task:
molecular_property_prediction.mdprotein_modeling.mdknowledge_graphs.mdmolecular_generation.mdretrosynthesis.mdmodels_architectures.mddatasets.mdcore_concepts.mdEach reference provides comprehensive coverage of its domain with examples, best practices, and common use cases.
Guide developers through setting up development environments with proper tools, dependencies, and configurations
Implement Exa lint rules, policy enforcement, and automated guardrails. Use when setting up code quality rules for Exa integrations, implementing pre-commit hooks, or configuring CI policy checks for Exa best practices. Trigger with phrases like "exa policy", "exa lint", "exa guardrails", "exa be...
Configure CI/CD pipelines for Documenso integrations. Use when setting up automated testing, deployment pipelines, or continuous integration for Documenso projects. Trigger with phrases like "documenso CI", "documenso GitHub Actions", "documenso pipeline", "documenso automated testing".
Build check model availability and implement fallback chains. Use when building resilient systems or handling model outages. Trigger with phrases like 'openrouter availability', 'openrouter fallback', 'openrouter model down', 'openrouter health check'.
Configure Langfuse enterprise organization management and access control. Use when implementing team access controls, configuring organization settings, or setting up role-based permissions for Langfuse projects. Trigger with phrases like "langfuse RBAC", "langfuse teams", "langfuse organization"...
Execute compliance and security auditing for Cursor usage. Triggers on "cursor compliance", "cursor audit", "cursor security review", "cursor soc2", "cursor gdpr". Use when analyzing or auditing cursor compliance audit. Trigger with phrases like "cursor compliance audit", "cursor audit", "cursor".
Configure Apollo.io CI/CD integration. Use when setting up automated testing, continuous integration, or deployment pipelines for Apollo integrations. Trigger with phrases like "apollo ci", "apollo github actions", "apollo pipeline", "apollo ci/cd", "apollo automated tests".
Create robust Python automation with full logging and safety checks. Use when tasks need complex data processing, authenticated API work, conditional file operations, or error handling beyond simple shell commands.
Configure PostHog across development, staging, and production environments. Use when setting up multi-environment deployments, configuring per-environment secrets, or implementing environment-specific PostHog configurations. Trigger with phrases like "posthog environments", "posthog staging", "po...
Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration. Use when: build agent, AI agent, autonomous agent, tool use, function calling.
Validate insecure deserialization checker operations. Auto-activating skill for Security Fundamentals. Triggers on: insecure deserialization checker, insecure deserialization checker Part of the Security Fundamentals skill category. Use when working with insecure deserialization checker functiona...
Manage path traversal finder operations. Auto-activating skill for Security Fundamentals. Triggers on: path traversal finder, path traversal finder Part of the Security Fundamentals skill category. Use when working with path traversal finder functionality. Trigger with phrases like "path traversa...
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience