Skip to content
Back to skills

Madd Drug Discovery Guide

ASecurity

Multi-agent system for automated drug discovery pipelines

  • 3,639 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
researchpythongogit

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill madd-drug-discovery-guide --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Madd Drug Discovery Guide?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Madd Drug Discovery Guide
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/brycewang-stanford-madd-drug-discovery-guide/badge)](https://www.skillsdirectory.com/skills/brycewang-stanford-madd-drug-discovery-guide)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.