Molecular Targets Platform Query Skill

SkillDev tools

Query the NCI CCDI Molecular Targets Platform (pediatric oncology) for targets (genes), diseases, drugs, and target-disease associations via its public GraphQL API. Auto-detects entity type from input string.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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 Molecular Targets Platform Query Skill skill

What this skill tells your AI

The instructions your AI receives, as published by qsong-github/drugclaw in skills/dti/molecular_targets/SKILL.md and read by ahel’s review.

Search the CCDI Molecular Targets Platform — an NCI-supported Open Targets instance focused on preclinical pediatric oncology data. Includes FDA Pediatric Molecular Target Lists and additional pediatric cancer datasets.

Entity Auto-Detection

Input PatternDetected AsQuery Used
ENSG00000141510Target (Ensembl gene)target(ensemblId)
EFO_\d+, MONDO_\d+, Orphanet_\d+, HP_\d+, DOID_\d+Disease / Phenotypedisease(efoId)
CHEMBL\d+Drug / moleculedrug(chemblId)
anything elseFree textsearch(queryString)

API

FunctionInputReturns
search(entity, size=10)single entity stringdict (GraphQL data) or None
search_batch(entities)list of stringsdict[str, dict|None] — uses batch GraphQL where possible
get_associations(entity, size=10)Ensembl ID or EFO/MONDO IDassociated diseases (for target) or targets (for disease)
summarize(data, entity)result dict + labelcompact LLM-readable text
to_json(data)result dictlist[dict] for pipeline output

Helper

FunctionPurpose
detect_entity_type(entity)returns 'target', 'disease', 'drug', or 'search'

Usage

See if __name__ == "__main__" block in 16_MolecularTargets.py for runnable examples covering:

  1. Free-text search ("neuroblastoma")
  2. Target lookup by Ensembl ID ("ENSG00000141510" → TP53)
  3. Disease lookup by ontology ID ("MONDO_0005072")
  4. Drug lookup by ChEMBL ID ("CHEMBL941" → imatinib)
  5. Target → disease associations
  6. Disease → target associations
  7. Batch search (mixed entity types)
  8. JSON pipeline output

Data Source

  • Platform: NCI CCDI Molecular Targets Platform
  • URL: https://moleculartargets.ccdi.cancer.gov
  • API endpoint: https://moleculartargets.ccdi.cancer.gov/api/v4/graphql
  • Method: HTTP POST, Content-Type: application/json, no auth required
  • Upstream schema: Open Targets Platform GraphQL v4
  • Focus: Pediatric oncology — FDA Pediatric Molecular Target Lists, preclinical data

Notes

  • The API is optimised for single-entity queries. For bulk analyses consider Open Targets data downloads.
  • Batch functions (search_batch) use the plural GraphQL fields (targets, diseases, drugs) to reduce round-trips where possible; free-text queries fall back to one-at-a-time.
  • get_associations() returns scored target↔disease links ranked by overall evidence score (0–1). Use size to control how many rows are returned.
  • Returns None / [] on HTTP errors — callers handle no-results gracefully.

Signals

GitHub stars
116
Forks
3
Last commit
Aug 2026
Advanced
Item type
skill
Key
molecular-targets-query
Source
github.com/qsong-github/drugclaw