{"id":24710,"plugin_id":"plugins~Plugin_7113e6f705948191bad2d24c30465361","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:18:35.920Z","digest":"866da3e7893bd8e932f1f820673a635f39c0873ba7a266ab207d992ae309e1d2","against":null,"payload":{"name":"gtex-eqtl-skill","description":"Fetch GTEx single-tissue eQTL associations from one variant input by accepting rsID, GRCh37, or GRCh38 input and resolving to the required GRCh38 query for the GTEx v2 API. Use when a user wants eQTL associations returned as JSON.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":91},{"relative_path":"scripts/gtex_eqtl.py","size_in_bytes":4374},{"relative_path":"scripts/variant_resolution.py","size_in_bytes":12206}],"skill_md_contents":"---\nname: gtex-eqtl-skill\ndescription: Fetch GTEx single-tissue eQTL associations from one variant input by accepting rsID, GRCh37, or GRCh38 input and resolving to the required GRCh38 query for the GTEx v2 API. Use when a user wants eQTL associations returned as JSON.\n---\n\n# Operating rules\n\n- Use Python `requests` for all network calls.\n- Accept exactly one of `rsid`, `grch37`, `grch38`, or `variant`, and resolve to a GRCh38 `chrom-pos-ref-alt` query.\n- Convert to GTEx `variantId` format: `chr{chrom}_{pos}_{ref}_{alt}_b38`.\n- Always return one JSON object (no markdown) as final output.\n\n# Input\n\nAccept JSON on stdin as either:\n\n- A string: `\"10-112998590-C-T\"` (treated as GRCh38)\n- An object:\n\n```json\n{\n  \"grch38\": \"10-112998590-C-T\",\n  \"max_results\": 200\n}\n```\n\nOther accepted object forms include:\n\n```json\n{\n  \"grch37\": \"10-114758349-C-T\"\n}\n```\n\n```json\n{\n  \"rsid\": \"rs7903146\",\n  \"max_results\": 50\n}\n```\n\nAllowed variant separators include `-`, `:`, `_`, `/`, or whitespace, for example:\n\n- `10-112998590-C-T`\n- `10:112998590-C-T`\n- `10:112998590:C:T`\n- `chr10 112998590 C T`\n\n`max_results` is optional and truncates returned eQTL rows when provided.\n\n# Output\n\nSuccess shape:\n\n```json\n{\n  \"ok\": true,\n  \"source\": \"gtex-v2\",\n  \"input\": {\"type\": \"grch38\", \"value\": \"10-112998590-C-T\"},\n  \"query_variant\": {\n    \"chr\": \"10\",\n    \"pos\": 112998590,\n    \"ref\": \"C\",\n    \"alt\": \"T\",\n    \"canonical\": \"10:112998590-C-T\",\n    \"variant_id\": \"chr10_112998590_C_T_b38\"\n  },\n  \"eqtl_count\": 2,\n  \"eqtl_count_total\": 2,\n  \"truncated\": false,\n  \"eqtls\": [],\n  \"paging_info\": {},\n  \"warnings\": []\n}\n```\n\nFailure shape:\n\n```json\n{\n  \"ok\": false,\n  \"error\": {\"code\": \"...\", \"message\": \"...\"},\n  \"warnings\": []\n}\n```\n\n# Execution\n\nUse:\n\n- `scripts/gtex_eqtl.py`\n\nThe script reads JSON from stdin and prints JSON to stdout.\n\nExample:\n\n```bash\necho '{\"grch38\":\"10-112998590-C-T\",\"max_results\":5}' | python scripts/gtex_eqtl.py\n```\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}