← Life Sciences DatabasesCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Life Sciences Databases
Snapshot Sep 30, 2026 · 23:01 UTC · version 0.1.5
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "opentargets-skill",
"description": "Submit compact Open Targets Platform GraphQL requests for target, disease, drug, variant, study, and search data, including associated-disease datasource heatmap matrices. Use when a user wants concise Open Targets summaries or per-datasource evidence context",
"included_files": [
{
"relative_path": "scripts/opentargets_disease_heatmap.py",
"size_in_bytes": 13610
},
{
"relative_path": "scripts/opentargets_graphql.py",
"size_in_bytes": 6262
}
],
"skill_md_contents": "---\nname: opentargets-skill\ndescription: Submit compact Open Targets Platform GraphQL requests for target, disease, drug, variant, study, and search data, including associated-disease datasource heatmap matrices. Use when a user wants concise Open Targets summaries or per-datasource evidence context\n---\n\n## Source presentation\n<!-- source-presentation-contract:v2 -->\n- Add claim-adjacent links only for substantive claims supported by returned `sources`; never cite empty, metadata-only, or failed lookups.\n- Preserve `checked_sources`, use only supported `canonical_url` mappings, and leave requested raw or machine-readable output unchanged.\n- Use the `opentargets-skill` entry in `../../references/source-links.json` and follow `../../references/source-presentation.md`.\n\n## Operating rules\n- Use `scripts/opentargets_graphql.py` for all Open Targets GraphQL work.\n- Use `scripts/opentargets_disease_heatmap.py` when the user wants the associated-disease bubble grid or a disease-by-datasource evidence matrix.\n- The script accepts `max_items`; for nested GraphQL results, start with `max_items=3` to `5`.\n- Keep GraphQL selection sets narrow and page connection-style fields conservatively.\n- Use `query_path` for long GraphQL documents instead of pasting large inline query strings.\n- Re-run requests in long conversations instead of relying on earlier tool output.\n- Treat displayed `...` in tool previews as UI truncation, not part of the real query.\n\n## Execution behavior\n- Return concise markdown summaries from the script JSON by default.\n- Return the JSON verbatim only if the user explicitly asks for machine-readable output.\n- Prefer targeted GraphQL queries that select only the fields needed for the user task.\n- Use schema introspection only when necessary; do not dump large schema payloads into chat.\n- For the associated-disease heatmap, treat `datasourceScores` as evidence-source breadth/context. Do not treat heatmap breadth alone as proof of causal target assignment, mechanism, or direction of effect.\n\n## Input\n- Read one JSON object from stdin.\n- Required field: `query` or `query_path`\n- Optional fields: `variables`, `max_items`, `max_depth`, `timeout_sec`, `save_raw`, `raw_output_path`\n- Common Open Targets patterns:\n - `{\"query\":\"query searchAny($q: String!) { search(queryString: $q) { total hits { entity score object { ... on Target { id approvedSymbol } } } } }\",\"variables\":{\"q\":\"MST1\"},\"max_items\":3}`\n\n## Output\n- Success returns `ok`, `source`, `top_keys`, a compact `summary`, and `raw_output_path` when `save_raw=true`.\n- Failure returns `ok=false` with `error.code` such as `invalid_json`, `invalid_input`, `network_error`, `invalid_response`, or `graphql_error`.\n\n## Execution\n```bash\necho '{\"query\":\"query searchAny($q: String!) { search(queryString: $q) { total hits { entity score object { ... on Target { id approvedSymbol } } } } }\",\"variables\":{\"q\":\"MST1\"},\"max_items\":5}' | python scripts/opentargets_graphql.py\n```\n\nAssociated-disease heatmap helper:\n\n```bash\necho '{\n \"ensembl_id\":\"ENSG00000186868\",\n \"page_size\":50,\n \"max_pages\":4,\n \"disease_name_filter\":\"alzh\"\n}' | python scripts/opentargets_disease_heatmap.py\n```\n\nThe helper paginates `associatedDiseases`, collects `datasourceScores`, and returns:\n\n- `matrix.columns`: datasource IDs plus display labels\n- `matrix.rows`: diseases with `datasource_scores`\n- `summary.rows_preview`: top datasource signals per disease\n\nUse the disease-name filter as a client-side substring filter similar to the UI. If you later need the overall association score column, inspect the GraphQL row type first before adding candidate fields such as `score` or `associationScore`.\n"
}SHA-256: 015248921bde1eb0db3345ee2876bdb917c8543ccfe00dfd82552b5dd02c16a9