Source: https://github.com/aipoch/medical-research-skills
When to Use
- You have a disease (e.g., an EFO ID) and want to discover and prioritize candidate therapeutic targets.
- You have a target (e.g., an Ensembl gene ID) and need to review associated diseases and supporting evidence.
- You need evidence-level details (e.g., GWAS, ClinVar, ChEMBL) to justify or audit a target-disease association.
- You want to compare association strength across targets/diseases using Open Targets evidence scoring.
- You are building a pipeline that programmatically fetches curated target-disease associations from Open Targets.
Key Features
- Entity querying by type:
target, disease, or evidence.
- Target discovery for diseases using Open Targets associations.
- Association scoring based on Open Targets evidence aggregation (harmonic-sum style aggregation across evidence sources).
- Evidence retrieval from integrated sources such as GWAS, ClinVar, ChEMBL, pathways, and other curated datasets.
- Field selection to request only specific fields (optional) for smaller payloads.
Dependencies
- Python
>=3.8
requests >=2.25
Example Usage
Run a target query by Ensembl ID (example: BRAF ENSG00000157764):
python scripts/query_opentargets.py --id "ENSG00000157764" --type target
Optional: request specific fields (if supported by your script/API wrapper):
python scripts/query_opentargets.py \
--id "ENSG00000157764" \
--type target \
--fields "approvedSymbol,biotype,tractability"
Implementation Details
When Not to Use
- Do not use this skill when the required source data, identifiers, files, or credentials are missing.
- Do not use this skill when the user asks for fabricated results, unsupported claims, or out-of-scope conclusions.
- Do not use this skill when a simpler direct answer is more appropriate than the documented workflow.
Required Inputs
- A clearly specified task goal aligned with the documented scope.
- All required files, identifiers, parameters, or environment variables before execution.
- Any domain constraints, formatting requirements, and expected output destination if applicable.
Recommended Workflow
- Validate the request against the skill boundary and confirm all required inputs are present.
- Select the documented execution path and prefer the simplest supported command or procedure.
- Produce the expected output using the documented file format, schema, or narrative structure.
- Run a final validation pass for completeness, consistency, and safety before returning the result.
Deterministic Output Rules
- Use the same section order for every supported request of this skill.
- Keep output field names stable and do not rename documented keys across examples.
- If a value is unavailable, emit an explicit placeholder instead of omitting the field.
Output Contract
- Return a structured deliverable that is directly usable without reformatting.
- If a file is produced, prefer a deterministic output name such as
open_targets_db_result.md unless the skill documentation defines a better convention.
- Include a short validation summary describing what was checked, what assumptions were made, and any remaining limitations.
Validation and Safety Rules
- Validate required inputs before execution and stop early when mandatory fields or files are missing.
- Do not fabricate measurements, references, findings, or conclusions that are not supported by the provided source material.
- Emit a clear warning when credentials, privacy constraints, safety boundaries, or unsupported requests affect the result.
- Keep the output safe, reproducible, and within the documented scope at all times.
Failure Handling
- If validation fails, explain the exact missing field, file, or parameter and show the minimum fix required.
- If an external dependency or script fails, surface the command path, likely cause, and the next recovery step.
- If partial output is returned, label it clearly and identify which checks could not be completed.
Completion Checklist
- Confirm all required inputs were present and valid.
- Confirm the supported execution path completed without unresolved errors.
- Confirm the final deliverable matches the documented format exactly.
- Confirm assumptions, limitations, and warnings are surfaced explicitly.
Quick Validation
Run this minimal verification path before full execution when possible:
python scripts/query_opentargets.py --help
Expected output format:
Result file: open_targets_db_result.md
Validation summary: PASS/FAIL with brief notes
Assumptions: explicit list if any
Scope Reminder
- Core purpose: Query the Open Targets Platform to retrieve targets, diseases, or evidence records when you need target-disease association data and evidence-based scores for therapeutic discovery.
1---2name: open-targets-db3description: Query the Open Targets Platform to retrieve targets, diseases, or evidence records when you need target-disease association data and evidence-based scores for therapeutic discovery.4license: MIT5---6> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
7
8## When to Use
9
10- You have a disease (e.g., an EFO ID) and want to discover and prioritize candidate therapeutic targets.
11- You have a target (e.g., an Ensembl gene ID) and need to review associated diseases and supporting evidence.
12- You need evidence-level details (e.g., GWAS, ClinVar, ChEMBL) to justify or audit a target-disease association.
13- You want to compare association strength across targets/diseases using Open Targets evidence scoring.
14- You are building a pipeline that programmatically fetches curated target-disease associations from Open Targets.
15
16## Key Features
17
18- **Entity querying** by type: `target`, `disease`, or `evidence`.
19- **Target discovery** for diseases using Open Targets associations.
20- **Association scoring** based on Open Targets evidence aggregation (harmonic-sum style aggregation across evidence sources).
21- **Evidence retrieval** from integrated sources such as GWAS, ClinVar, ChEMBL, pathways, and other curated datasets.
22- **Field selection** to request only specific fields (optional) for smaller payloads.
23
24## Dependencies
25
26- Python `>=3.8`
27- `requests >=2.25`
28
29## Example Usage
30
31Run a target query by Ensembl ID (example: **BRAF** `ENSG00000157764`):
32
33```bash
34python scripts/query_opentargets.py --id "ENSG00000157764" --type target
35```
36
37Optional: request specific fields (if supported by your script/API wrapper):
38
39```bash
40python scripts/query_opentargets.py \
41 --id "ENSG00000157764" \
42 --type target \
43 --fields "approvedSymbol,biotype,tractability"
44```
45
46## Implementation Details
47
48- **Inputs**
49 - `query_type` (required, `string`): Entity type to query. Supported values: `target`, `disease`, `evidence`.
50 - `id` (required, `string`): Entity identifier (e.g., Ensembl ID for targets, EFO ID for diseases).
51 - `fields` (optional, `array`): A list of fields to retrieve to limit the response payload.
52
53- **Outputs**
54 - `data` (`json`): The parsed response returned by the Open Targets API for the requested entity.
55
56- **Scoring model (conceptual)**
57 - Open Targets aggregates evidence across multiple evidence sources (genetics, drugs/chemistry, pathways, literature/curation, etc.).
58 - Association scores are computed by combining evidence contributions; the platform commonly uses harmonic-sum style aggregation to prevent any single evidence type from dominating while still rewarding multiple independent evidence lines.
59
60- **Reference**
61 - See `references/api_reference.md` for API details, available fields, and entity schemas.
62
63## When Not to Use
64
65- Do not use this skill when the required source data, identifiers, files, or credentials are missing.
66- Do not use this skill when the user asks for fabricated results, unsupported claims, or out-of-scope conclusions.
67- Do not use this skill when a simpler direct answer is more appropriate than the documented workflow.
68
69## Required Inputs
70
71- A clearly specified task goal aligned with the documented scope.
72- All required files, identifiers, parameters, or environment variables before execution.
73- Any domain constraints, formatting requirements, and expected output destination if applicable.
74
75## Recommended Workflow
76
771. Validate the request against the skill boundary and confirm all required inputs are present.
782. Select the documented execution path and prefer the simplest supported command or procedure.
793. Produce the expected output using the documented file format, schema, or narrative structure.
804. Run a final validation pass for completeness, consistency, and safety before returning the result.
81
82## Deterministic Output Rules
83
84- Use the same section order for every supported request of this skill.
85- Keep output field names stable and do not rename documented keys across examples.
86- If a value is unavailable, emit an explicit placeholder instead of omitting the field.
87
88## Output Contract
89
90- Return a structured deliverable that is directly usable without reformatting.
91- If a file is produced, prefer a deterministic output name such as `open_targets_db_result.md` unless the skill documentation defines a better convention.
92- Include a short validation summary describing what was checked, what assumptions were made, and any remaining limitations.
93
94## Validation and Safety Rules
95
96- Validate required inputs before execution and stop early when mandatory fields or files are missing.
97- Do not fabricate measurements, references, findings, or conclusions that are not supported by the provided source material.
98- Emit a clear warning when credentials, privacy constraints, safety boundaries, or unsupported requests affect the result.
99- Keep the output safe, reproducible, and within the documented scope at all times.
100
101## Failure Handling
102
103- If validation fails, explain the exact missing field, file, or parameter and show the minimum fix required.
104- If an external dependency or script fails, surface the command path, likely cause, and the next recovery step.
105- If partial output is returned, label it clearly and identify which checks could not be completed.
106
107## Completion Checklist
108
109- Confirm all required inputs were present and valid.
110- Confirm the supported execution path completed without unresolved errors.
111- Confirm the final deliverable matches the documented format exactly.
112- Confirm assumptions, limitations, and warnings are surfaced explicitly.
113
114## Quick Validation
115
116Run this minimal verification path before full execution when possible:
117
118```bash
119python scripts/query_opentargets.py --help
120```
121
122Expected output format:
123
124```text
125Result file: open_targets_db_result.md
126Validation summary: PASS/FAIL with brief notes
127Assumptions: explicit list if any
128```
129
130## Scope Reminder
131
132- Core purpose: Query the Open Targets Platform to retrieve targets, diseases, or evidence records when you need target-disease association data and evidence-based scores for therapeutic discovery.