BindingDB Query Skill
SkillDatabases & dataQuery the BindingDB drug-target binding affinity database. Use whenever the user asks about protein-ligand binding data, affinity measurements (Ki, IC50, Kd, EC50), or wants to look up binding partners for a UniProt ID, PDB ID, or compound SMILES string.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the BindingDB Query Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/dti/bindingdb/SKILL.md and read by ahel’s review.
Search BindingDB binding affinity records by any entity. Auto-detects type by pattern:
| Input Pattern | Detected As | Example | API Endpoint |
|---|---|---|---|
P35355, Q9Y233 | UniProt ID | P00533 (EGFR) | getLigandsByUniprots |
1Q0L, 3ANM | PDB ID (4-char, digit-leading) | 1Q0L | getLigandsByPDBs |
contains =()#[]@/\ | SMILES string | CC(=O)Oc1ccccc1C(O)=O | getTargetByCompound |
| fallback | treated as UniProt | — | getLigandsByUniprots |
API
| Function | Input | Returns |
|---|---|---|
search(entity, cutoff) | single entity string | dict with entity, type, hits, affinities |
search_batch(entities, cutoff) | list of entity strings | dict[str, search_result] |
summarize(result) | search() output | compact multi-line text |
to_json(result) | search() output | list[dict] of affinity records |
query_by_uniprot(ids, cutoff) | UniProt ID(s), nM cutoff | list[dict] |
query_by_pdb(ids, cutoff, identity) | PDB ID(s), nM cutoff, % identity | list[dict] |
query_by_smiles(smiles, cutoff) | SMILES, similarity 0–1 | list[dict] |
Parameters
cutoff(int): affinity threshold in nM (default 10 000). Entries with IC50/Ki/Kd ≤ cutoff are returned.identity(int, PDB only): sequence-identity cutoff in percent (default 92).- Results are capped at 50 per query for LLM readability.
Usage
See if __name__ == "__main__" block in 26_BindingDB.py for runnable examples covering: UniProt single query, PDB query, SMILES compound query, batch query, and JSON output.
Key Fields in Each Affinity Record
| Field | Description |
|---|---|
query | Target protein name |
monomerid | BindingDB compound ID |
smile | SMILES structure of ligand |
affinity_type | Ki, IC50, Kd, or EC50 |
affinity | Value in nM |
pmid | PubMed ID of source |
doi | DOI of source publication |
Data Source
- Database: BindingDB (https://www.bindingdb.org/)
- Size: 3.2M data points, 1.4M compounds, 11.4K targets
- Access: Public REST API (JSON), no authentication required
- Citation: BindingDB in 2024: a FAIR knowledgebase of protein-small molecule binding data. Nucleic Acids Research, 53(D1), D1633 (2025). DOI: 10.1093/nar/gkae1199
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
bindingdb-query- Source
- github.com/qsong-github/drugclaw
github.com/qsong-github/drugclaw
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonconnect
Skill · composiohq
More in Databases & dataanalytics
Skill · coreyhaines31
More in Databases & dataazure-kusto
Skill · microsoft
More in Databases & dataagentic-os
Skill · affaan-m
More in Databases & data