Forge Tools gtex_eqtl

gtex_eqtl read

scidex.forge.gtex_eqtl

Query GTEx v8 cis-eQTL associations — genetic variants that regulate gene expression in specific human tissues. Accepts a variant ID (e.g. chr1_1000565_A_G_b38) or gene symbol (e.g. BRCA1, MAPT), with an optional tissue filter (e.g. Brain_Cortex, Whole_Blood). Returns significant eQTL records with variant ID, gene symbol, tissue, p-value, effect size (slope), and minor allele frequency. Essential for GWAS functional interpretation — maps GWAS hits to regulated genes. Distinct from gtex_expression (TPM per tissue). REST API: https://gtexportal.org/api/v2/ — free, no auth.

HTTP: POST /api/scidex/forge/gtex_eqtl

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.gtex_eqtl``.",
  "properties": {
    "variant_id": {
      "default": "",
      "description": "GTEx variant identifier to query eQTLs for (e.g. ``chr1_1000565_A_G_b38``). At least one of variant_id or gene_symbol is required.",
      "maxLength": 200,
      "title": "Variant Id",
      "type": "string"
    },
    "gene_symbol": {
      "default": "",
      "description": "HGNC gene symbol to look up eQTLs for (e.g. ``BRCA1``, ``MAPT``). Resolved to a GENCODE ID before querying GTEx. At least one of variant_id or gene_symbol is required.",
      "maxLength": 30,
      "title": "Gene Symbol",
      "type": "string"
    },
    "tissue": {
      "default": "",
      "description": "GTEx tissue site detail ID to restrict results to (e.g. ``Brain_Cortex``, ``Whole_Blood``). Empty returns all tissues.",
      "maxLength": 100,
      "title": "Tissue",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of eQTL records to return (default 20, max 250).",
      "maximum": 250,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "ForgeGTExEQTLIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "GTExEQTL": {
      "description": "One GTEx cis-eQTL association record.",
      "properties": {
        "variant_id": {
          "description": "GTEx variant identifier (e.g. ``chr1_1000565_A_G_b38``).",
          "title": "Variant Id",
          "type": "string"
        },
        "gene_name": {
          "description": "HGNC gene symbol for the eQTL target gene.",
          "title": "Gene Name",
          "type": "string"
        },
        "tissue_site_detail": {
          "description": "GTEx tissue label (e.g. ``Brain - Cortex``, ``Whole Blood``). This is the human-readable name, not the snake_case ID.",
          "title": "Tissue Site Detail",
          "type": "string"
        },
        "p_value": {
          "description": "Nominal p-value for the eQTL association.",
          "title": "P Value",
          "type": "number"
        },
        "slope": {
          "description": "Effect size (beta/slope): change in normalised gene expression per copy of the alternative allele.",
          "title": "Slope",
          "type": "number"
        },
        "maf": {
          "description": "Minor allele frequency of the variant in the GTEx cohort.",
          "title": "Maf",
          "type": "number"
        }
      },
      "required": [
        "variant_id",
        "gene_name",
        "tissue_site_detail",
        "p_value",
        "slope",
        "maf"
      ],
      "title": "GTExEQTL",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.gtex_eqtl``.",
  "properties": {
    "variant_id": {
      "default": "",
      "description": "The variant_id queried, or '' when only gene_symbol was supplied.",
      "title": "Variant Id",
      "type": "string"
    },
    "gene_symbol": {
      "default": "",
      "description": "The gene_symbol queried, or '' when only variant_id was supplied.",
      "title": "Gene Symbol",
      "type": "string"
    },
    "gencode_id": {
      "default": "",
      "description": "GENCODE/Ensembl ID the gene symbol resolved to (e.g. ``ENSG00000186868.22``). Empty when querying by variant only.",
      "title": "Gencode Id",
      "type": "string"
    },
    "tissue": {
      "default": "",
      "description": "The tissue filter applied, or '' for all tissues.",
      "title": "Tissue",
      "type": "string"
    },
    "eqtls": {
      "description": "Matching cis-eQTL association records.",
      "items": {
        "$ref": "#/$defs/GTExEQTL"
      },
      "title": "Eqtls",
      "type": "array"
    },
    "total_returned": {
      "default": 0,
      "description": "Number of eQTL records returned.",
      "title": "Total Returned",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for upstream calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "took_ms"
  ],
  "title": "ForgeGTExEQTLOut",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/gtex_eqtl' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.