PyTDC (Therapeutics Data Commons)
Safely discover and use Therapeutics Data Commons datasets, splits, evaluators, benchmark groups, and molecular oracles via the PyTDC package.
Data & AnalyticsAdvanced★ 33,030⑂ 3,248AI score 7/10Last updated: Aug 9, 2026
What it does
Drives the full workflow for Harvard's Therapeutics Data Commons through the PyTDC package (pinned to 1.1.15).
- Download-free discovery:
discover_metadata.pylists tasks, datasets, benchmarks, evaluators, and oracles from installed package metadata - Task-aware splits: covers
random,scaffold,cold_split,combination, andtime, with explicit warnings that scaffold splitting does not prove absence of analog/temporal/label leakage - Exact evaluator names:
PCC(notPearson),ROC-AUC,micro-f1,kappa, plus notes on thresholds and metric direction - Benchmark groups: specialized classes such as
admet_group, plus the rule that leaderboard aggregation needs at least five prediction dictionaries - Molecular oracles: bounded local scoring (e.g. QED) allowed; remote, docking, distribution, and composite oracles deliberately refused
- Network/storage policy: enforces discover → plan → user approval →
--execute, withcache_audit.pyfor read-only cache manifests
Who it's for
- Researchers and grad students working on therapeutic ML (ADMET, DTI, DDI, molecular generation)
- Teams that must review dataset licenses and download sizes before pulling data
- Anyone who wants an AI agent to stop before downloading multi-hundred-megabyte archives or sending molecular structures to remote services
Example uses
- "Show me the ADME datasets without downloading anything" → runs
discover_metadata.py --kind datasets --task ADMEand returns bounded name/count summaries - "Prepare Caco2_Wang with a scaffold split, seed 42" → prints the plan (license, size, cache dir, metric) first, then loads only after you approve with
--execute - "Score my predictions against the ADMET leaderboard" → validates the JSON prediction plan, asks before downloading the
admet_grouparchive, then aggregates viaevaluate_many
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/pytdc folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/pytdc/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pytdc ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Create the skills folder and copy it in:
mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pytdc ~/.claude/skills/ - Install
uvif you don't have it:curl -LsSf https://astral.sh/uv/install.sh | sh - Create an isolated environment:
uv venv --python 3.11 .venv-pytdc - Preview the install size:
uv pip install --dry-run --python .venv-pytdc/bin/python "setuptools==80.9.0" "PyTDC==1.1.15"(~120 packages, hundreds of MB) - Confirm you have disk space, then rerun without
--dry-runto install. - Restart Claude Code and try: "use the pytdc skill to list ADME datasets".
- Only download real data after reviewing the plan and approving
--execute(plus--downloadfor MolGen corpora or oracle checkpoints).
View source on GitHub ↗License: MIT