Back to skills
SKILL.md
Madd Drug Discovery Guide
ASecurityMulti-agent system for automated drug discovery pipelines
- 3,639 stars
- 0 votes
- 0 copies
- 1 view
- Added June 6, 2026
Security analysis
100/100npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill madd-drug-discovery-guide --agent claude-codeAre you the author of Madd Drug Discovery Guide?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/brycewang-stanford-madd-drug-discovery-guide)---
name: madd-drug-discovery-guide
description: "Multi-agent system for automated drug discovery pipelines"
metadata:
openclaw:
emoji: "π"
category: "domains"
subcategory: "pharma"
keywords: ["drug discovery", "multi-agent", "molecular design", "ADMET", "virtual screening", "pharma AI"]
source: "https://github.com/sb-ai-lab/MADD"
---
# MADD: Multi-Agent Drug Discovery Guide
## Overview
MADD (Multi-Agent Drug Discovery) is a multi-agent system that automates key stages of the drug discovery pipeline β target identification, molecule generation, property prediction (ADMET), docking simulation, and lead optimization. Specialized agents collaborate to propose, evaluate, and refine drug candidates, reducing the manual effort in early-stage drug discovery research.
## Agent Pipeline
```
Target Protein
β
Target Analysis Agent (binding site, druggability)
β
Molecule Generation Agent (de novo design)
β
Property Prediction Agent (ADMET screening)
β
Docking Agent (binding affinity estimation)
β
Optimization Agent (lead optimization cycle)
β
Report Agent (candidate ranking + rationale)
```
## Usage
```python
from madd import DrugDiscoveryPipeline
pipeline = DrugDiscoveryPipeline(
llm_provider="anthropic",
tools=["rdkit", "autodock_vina", "admet_predictor"],
)
# Run discovery pipeline
results = pipeline.discover(
target_protein="6LU7", # PDB ID (SARS-CoV-2 Mpro)
target_site="active_site",
constraints={
"molecular_weight": (200, 500), # Lipinski
"logP": (-0.4, 5.6),
"hbd": (0, 5),
"hba": (0, 10),
"tpsa": (0, 140),
},
num_candidates=100,
optimization_rounds=3,
)
# Top candidates
for i, mol in enumerate(results.top_candidates[:5]):
print(f"\nCandidate {i+1}: {mol.smiles}")
print(f" Docking score: {mol.docking_score:.2f} kcal/mol")
print(f" QED: {mol.qed:.3f}")
print(f" Synthetic accessibility: {mol.sa_score:.2f}")
print(f" ADMET: {mol.admet_summary}")
```
## ADMET Prediction
```python
from madd.agents import ADMETAgent
admet = ADMETAgent()
# Predict ADMET properties for a molecule
props = admet.predict("CC(=O)Oc1ccccc1C(=O)O") # Aspirin
print(f"Absorption: {props.absorption}")
print(f"Distribution: {props.distribution}")
print(f"Metabolism: {props.metabolism}")
print(f"Excretion: {props.excretion}")
print(f"Toxicity: {props.toxicity}")
print(f"BBB penetration: {props.bbb_penetration}")
print(f"CYP inhibition: {props.cyp_inhibition}")
print(f"hERG liability: {props.herg_risk}")
```
## Molecule Generation
```python
from madd.agents import MolGenAgent
gen = MolGenAgent(method="reinforcement_learning")
# Generate molecules targeting a binding site
molecules = gen.generate(
target_pdb="6LU7",
binding_site="active_site",
num_molecules=500,
diversity_threshold=0.5, # Tanimoto diversity
constraints={
"drug_likeness": True, # Lipinski + Veber
"novelty": True, # Not in ChEMBL
},
)
print(f"Generated: {len(molecules)}")
print(f"Drug-like: {sum(1 for m in molecules if m.is_drug_like)}")
print(f"Novel: {sum(1 for m in molecules if m.is_novel)}")
```
## Lead Optimization
```python
from madd.agents import OptimizationAgent
optimizer = OptimizationAgent()
# Optimize a lead compound
optimized = optimizer.optimize(
lead_smiles="c1ccc(-c2ncc(F)c(N)n2)cc1",
objectives=[
("docking_score", "minimize"),
("qed", "maximize"),
("sa_score", "minimize"),
("solubility", "maximize"),
],
num_iterations=50,
keep_scaffold=True, # Maintain core structure
)
for mol in optimized.pareto_front[:5]:
print(f"SMILES: {mol.smiles}")
print(f" Docking: {mol.docking_score:.2f}")
print(f" QED: {mol.qed:.3f}")
```
## Use Cases
1. **Hit discovery**: Generate novel drug candidates for targets
2. **Lead optimization**: Improve properties of promising compounds
3. **ADMET screening**: Predict pharmacokinetic properties
4. **Virtual screening**: Score large molecule libraries
5. **Drug repurposing**: Evaluate known drugs for new targets
## References
- [MADD GitHub](https://github.com/sb-ai-lab/MADD)
- [RDKit](https://www.rdkit.org/) β Chemistry toolkit
- [AutoDock Vina](https://vina.scripps.edu/) β Molecular docking
Attribution
Comments
Loading commentsβ¦