Forge Tools cgi_biomarkers

cgi_biomarkers read

scidex.forge.cgi_biomarkers

Query the Cancer Genome Interpreter (CGI) for validated tumor biomarkers of drug response. CGI (cancergenomeinterpreter.org) curates literature-validated biomarkers associating genomic alterations (mutations, amplifications, fusions, expression changes) with drug sensitivity or resistance in cancer, with evidence tiering (A=validated through E=inferential). Input: optional gene_symbol (e.g. 'BRAF'), optional drug name filter (e.g. 'Vemurafenib'), optional cancer_type and response_type filters, limit. Returns biomarkers sorted by evidence level then gene. API: GET https://www.cancergenomeinterpreter.org/api/v2/biomarkers — no key required.

HTTP: POST /api/scidex/forge/cgi_biomarkers

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.cgi_biomarkers``.",
  "properties": {
    "gene_symbol": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "HGNC gene symbol to filter by (e.g. ``'BRAF'``, ``'EGFR'``).  Pass ``None`` to return biomarkers for all genes (subject to ``limit``).",
      "title": "Gene Symbol"
    },
    "drug": {
      "anyOf": [
        {
          "maxLength": 200,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Drug name filter (e.g. ``'Vemurafenib'``, ``'Erlotinib'``).  Case-insensitive substring match applied client-side.  Pass ``None`` to skip drug filtering.",
      "title": "Drug"
    },
    "cancer_type": {
      "anyOf": [
        {
          "maxLength": 200,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Cancer type filter (e.g. ``'Melanoma'``, ``'Lung'``).  Case-insensitive substring match applied client-side.  Pass ``None`` to return all cancer types.",
      "title": "Cancer Type"
    },
    "response_type": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Drug response filter.  Valid values: ``'Sensitive'``, ``'Resistant'``, ``'Not applicable'``.  Pass ``None`` to return all response types.",
      "title": "Response Type"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of biomarker records to return.  Default 20.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "ForgeCGIBiomarkersIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "CGIBiomarker": {
      "description": "One validated biomarker record from CGI.",
      "properties": {
        "gene": {
          "default": "",
          "description": "Gene symbol (e.g. ``BRAF``).",
          "title": "Gene",
          "type": "string"
        },
        "alteration": {
          "default": "",
          "description": "Specific alteration associated with the biomarker (e.g. ``V600E``).",
          "title": "Alteration",
          "type": "string"
        },
        "alteration_type": {
          "default": "",
          "description": "Alteration category: ``MUT`` (mutation), ``AMP`` (amplification), ``DEL`` (deletion), ``FUS`` (fusion), ``EXP`` (expression), etc.",
          "title": "Alteration Type",
          "type": "string"
        },
        "cancer_type": {
          "default": "",
          "description": "Primary tumor type or lineage.",
          "title": "Cancer Type",
          "type": "string"
        },
        "drug": {
          "default": "",
          "description": "Drug name associated with this biomarker.",
          "title": "Drug",
          "type": "string"
        },
        "drug_status": {
          "default": "",
          "description": "Regulatory status of the drug (e.g. ``FDA approved``, ``Investigational``).",
          "title": "Drug Status",
          "type": "string"
        },
        "response_type": {
          "default": "",
          "description": "Predicted drug response: ``Sensitive``, ``Resistant``, or ``Not applicable``.",
          "title": "Response Type",
          "type": "string"
        },
        "evidence_level": {
          "default": "",
          "description": "CGI evidence tier: ``A`` (validated association), ``B`` (clinical evidence), ``C`` (case report), ``D`` (preclinical), ``E`` (inferential).",
          "title": "Evidence Level",
          "type": "string"
        },
        "source": {
          "default": "",
          "description": "Evidence source reference (e.g. PubMed ID or clinical trial ID).",
          "title": "Source",
          "type": "string"
        },
        "cgi_url": {
          "default": "",
          "description": "Link to the CGI biomarker entry, if available.",
          "title": "Cgi Url",
          "type": "string"
        }
      },
      "title": "CGIBiomarker",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.cgi_biomarkers``.",
  "properties": {
    "query": {
      "additionalProperties": true,
      "description": "Echo of the effective query parameters used for this lookup.",
      "title": "Query",
      "type": "object"
    },
    "biomarkers": {
      "description": "Validated CGI biomarker records matching the query, sorted by evidence level then gene symbol, capped at ``limit``.",
      "items": {
        "$ref": "#/$defs/CGIBiomarker"
      },
      "title": "Biomarkers",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total matching biomarker records before ``limit`` was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True when no matching biomarkers were found in the CGI catalog.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "Cancer Genome Interpreter (cancergenomeinterpreter.org)",
      "description": "Data source attribution.",
      "title": "Source",
      "type": "string"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for the upstream API call in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "title": "ForgeCGIBiomarkersOut",
  "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/cgi_biomarkers' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.