<< All versions

Skill v1.0.0

currentAutomated scan100/100
qsong-github/drugclaw/drugcentral
──Details
PublishedOctober 20, 2026 at 09:32 PM
Content Hashsha256:de5f71d67c6a3d5b...
Git SHAec38be0be783
──Files
Files (1 file, 2.8 KB)
SKILL.md2.8 KBactive
SKILL.md · 83 lines · 2.8 KB

version: "1.0.0" name: drugcentral-query description: > Query the DrugCentral drug pharmacology database. Use whenever the user asks about approved drug structures, drug targets, pharmacological actions, or wants to look up any entity (drug name, DrugCentral ID, CAS number, InChIKey) in DrugCentral.


DrugCentral Query Skill

Search local DrugCentral flat files by any entity. Auto-detects query type:

Input PatternDetected AsMatch Logic
860 (numeric)DrugCentral IDexact on ID
50-78-2 (NNN-NN-N)CAS Numberexact on CAS_RN
BSYNRYMUTXBXSQ or full keyInChIKey (prefix or full)prefix match on InChIKey
anything elsefree textsubstring on INN (drug name)

Data

Download from <https://drugcentral.org/download>:

FileDescriptionRequired
structures.smiles.tsvSMILES, InChI, InChIKey, ID, INN, CAS_RNYes
drug.target.interaction.tsvDrug-target interaction profiles (gene, action, potency)Recommended
FDA+EMA+PMDA_Approved.csvApproval status (ID, drug_name)Optional

Place files in DATA_DIR (default: resources_metadata/drug_knowledgebase/DrugCentral, or set env DRUGCENTRAL_DIR).

API

FunctionInputReturns
search(entity)single entity stringdict with structures, targets, approved
search_batch(entities)list or comma-separated stringdict[str, dict]
summarize(result, entity)search result dict + labelcompact text
to_json(result)search result dictJSON string

Key Fields

structures: ID, INN (drug name), CAS_RN, SMILES, InChI, InChIKey

targets (from DTI file): GENE, TARGET_NAME, TARGET_CLASS, ACTION_TYPE, ACT_VALUE, ACT_TYPE, ACT_UNIT, ACCESSION (UniProt), TDL, ORGANISM

approved: id, name, approved (bool)

Usage

python
from 18_DrugCentral import search, search_batch, summarize, to_json
# Single query — drug name
result = search("aspirin")
print(summarize(result))
# Single query — DrugCentral ID
result = search("860")
print(summarize(result))
# Single query — CAS number
result = search("50-78-2")
print(summarize(result))
# Batch query
results = search_batch(["metformin", "ibuprofen", "50-78-2"])
for entity, res in results.items():
print(summarize(res, entity))
# JSON export
print(to_json(result))

See if __name__ == "__main__" block in 18_DrugCentral.py for runnable examples covering: drug name, DrugCentral ID, CAS number, InChIKey prefix, batch search, and JSON output.

Source

  • DrugCentral: <https://drugcentral.org/>
  • Paper: Avram et al., Nucleic Acids Research 2023, 51(D1):D1276–D1287. DOI: 10.1093/nar/gkac1085
  • License: CC BY-NC 4.0 (non-commercial)
All versions