OpenParable
Skip to content
← Back to skills

bindingdb-query

Research

Query 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.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/BioTender-max/awesome-bio-agent-skills/blob/HEAD/skills/drugclaw/bindingdb/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/bindingdb-query, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

BindingDB Query Skill

Search BindingDB binding affinity records by any entity. Auto-detects type by pattern:

Input PatternDetected AsExampleAPI Endpoint
P35355, Q9Y233UniProt IDP00533 (EGFR)getLigandsByUniprots
1Q0L, 3ANMPDB ID (4-char, digit-leading)1Q0LgetLigandsByPDBs
contains =()#[]@/\SMILES stringCC(=O)Oc1ccccc1C(O)=OgetTargetByCompound
fallbacktreated as UniProt—getLigandsByUniprots

API

FunctionInputReturns
search(entity, cutoff)single entity stringdict with entity, type, hits, affinities
search_batch(entities, cutoff)list of entity stringsdict[str, search_result]
summarize(result)search() outputcompact multi-line text
to_json(result)search() outputlist[dict] of affinity records
query_by_uniprot(ids, cutoff)UniProt ID(s), nM cutofflist[dict]
query_by_pdb(ids, cutoff, identity)PDB ID(s), nM cutoff, % identitylist[dict]
query_by_smiles(smiles, cutoff)SMILES, similarity 0–1list[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

FieldDescription
queryTarget protein name
monomeridBindingDB compound ID
smileSMILES structure of ligand
affinity_typeKi, IC50, Kd, or EC50
affinityValue in nM
pmidPubMed ID of source
doiDOI 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