Pharma DB Tools
SkillDatabases & dataQuery public drug-discovery and translational-research databases including PubChem, ChEMBL, BindingDB, openFDA, ClinicalTrials.gov, and OpenAlex. Use when the user asks to look up compounds, measured binding affinities, regulatory labels or adverse events, clinical trials, or drug-discovery literature from public APIs and curated exports.
Use Pharma DB Tools in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Pharma DB Tools and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Pharma DB Tools skill
Details
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.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by drugclaw/drugclaw in skills/pharma/pharma-db-tools/SKILL.md and read by ahel’s review.
Use this skill when the user asks for public drug-discovery database lookups rather than local cheminformatics analysis.
Typical triggers:
- compound lookup by name, CID, SMILES, or ChEMBL id
- public bioactivity or target-association lookup from ChEMBL
- measured drug-target affinity lookup from BindingDB by UniProt, compound, or local TSV export
- FDA labeling, adverse-event, NDC, approval, recall, or shortage data
- ClinicalTrials.gov study search, status review, or NCT lookup
- OpenAlex literature retrieval for drug, target, modality, or institution queries
Environment Check
The bundled template uses Python plus HTTP APIs. Check first.
which python3 || true
python3 - <<'PY'
mods = ["requests"]
for name in mods:
try:
__import__(name)
print(f"{name}: ok")
except Exception as exc:
print(f"{name}: missing ({exc})")
PY
If outbound network access is blocked, say so explicitly before claiming the lookup ran.
Bundled Asset
Use the reusable template instead of rewriting API snippets every time:
templates/pharma_db_lookup.py
Supported sources:
pubchemchemblbindingdbopenfdaclinicaltrialsopenalex
Quick Start
python3 templates/pharma_db_lookup.py pubchem \
--query imatinib \
--output pharma/pubchem_imatinib.csv \
--summary pharma/pubchem_imatinib.json
python3 templates/pharma_db_lookup.py chembl \
--mode molecule \
--chembl-id CHEMBL941 \
--output pharma/chembl_imatinib.csv \
--summary pharma/chembl_imatinib.json
python3 templates/pharma_db_lookup.py bindingdb \
--tsv BindingDB_All.tsv \
--uniprot-id P00519 \
--affinity-type Ki \
--max-nm 1000 \
--output pharma/bindingdb_abl1.csv \
--summary pharma/bindingdb_abl1.json
python3 templates/pharma_db_lookup.py openfda \
--endpoint label \
--query imatinib \
--output pharma/fda_imatinib_label.csv \
--summary pharma/fda_imatinib_label.json
python3 templates/pharma_db_lookup.py clinicaltrials \
--condition "non-small cell lung cancer" \
--intervention osimertinib \
--status RECRUITING \
--output pharma/osimertinib_trials.csv \
--summary pharma/osimertinib_trials.json
python3 templates/pharma_db_lookup.py openalex \
--query "KRAS G12C inhibitor resistance" \
--limit 20 \
--output pharma/openalex_kras_g12c.csv \
--summary pharma/openalex_kras_g12c.json
Working Rules
- Save both a machine-readable result file and a summary JSON.
- Report the exact database, mode, identifier, filters, and endpoint used.
- Prefer exact identifiers when available: PubChem CID, ChEMBL id, NCT id, DOI.
- Return direct stable links when the upstream database exposes them.
- Distinguish clearly between compound metadata, activity measurements, regulatory evidence, clinical-study records, and literature hits.
- If the API returns no hits, say that explicitly instead of inferring a scientific conclusion.
- Treat these sources as evidence surfaces for prioritization and review, not as experimental proof.
Common Patterns
PubChem compound lookup by CID
python3 templates/pharma_db_lookup.py pubchem \
--cid 5291 \
--output pharma/pubchem_5291.csv \
--summary pharma/pubchem_5291.json
ChEMBL activity rows for a target
python3 templates/pharma_db_lookup.py chembl \
--mode activity \
--target-id CHEMBL203 \
--standard-type IC50 \
--limit 25 \
--output pharma/egfr_ic50.csv \
--summary pharma/egfr_ic50.json
BindingDB measured affinities from a local export
python3 templates/pharma_db_lookup.py bindingdb \
--tsv BindingDB_All.tsv \
--compound-name imatinib \
--affinity-type Ki \
--limit 25 \
--output pharma/imatinib_bindingdb.csv \
--summary pharma/imatinib_bindingdb.json
openFDA adverse-event aggregation
python3 templates/pharma_db_lookup.py openfda \
--endpoint event \
--query pembrolizumab \
--output pharma/pembro_events.csv \
--summary pharma/pembro_events.json
ClinicalTrials.gov study detail
python3 templates/pharma_db_lookup.py clinicaltrials \
--nct-id NCT04280705 \
--output pharma/nct04280705.csv \
--summary pharma/nct04280705.json
OpenAlex author- or institution-scoped literature
python3 templates/pharma_db_lookup.py openalex \
--author "Jennifer Doudna" \
--limit 20 \
--output pharma/doudna_works.csv \
--summary pharma/doudna_works.json
Output Expectations
Good answers should mention:
- which database and endpoint were queried
- the exact identifier or text query
- how many hits were returned
- the key IDs, names, phases, activities, warnings, affinity values, or citation counts
- the saved output paths
- any rate-limit, schema, or network caveats
Related Skills
For UniProt, PDB, AlphaFold, ClinVar, Ensembl, GEO, KEGG, Reactome, STRING, or OpenTargets, activate bio-db-tools.
For DrugBank, ADMET, QSAR, descriptors, or structure-aware affinity work, activate chem-tools.
For datamol, molfeat, PyTDC, or medchem-style library workflows, activate pharma-ml-tools.
For docking, receptor preparation, or virtual screening execution, activate docking-tools.
Signals
- GitHub stars
- 125
- Forks
- 9
- Last commit
- Mar 2026
Advanced
- Item type
- skill
- Key
pharma-db-tools- Source
- github.com/drugclaw/drugclaw
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonfirecrawl-scrape
Skill · firecrawl
The pick for Scrapescrape
Skill · davila7
The pick for Scrapesearch
Skill · davila7
The pick for Searchacademic-paper-composer
Skill · brycewang-stanford
The pick for Academic