Forge Tools ensembl_vep

ensembl_vep read

scidex.forge.ensembl_vep

Query Ensembl VEP (Variant Effect Predictor) for molecular consequence annotations on a genetic variant (rsID or HGVS). Returns transcript-level consequences sorted by impact severity (HIGH → MODERATE → LOW → MODIFIER), with SIFT/PolyPhen scores and amino acid changes. Third variant annotation layer alongside forge_gnomad_variant (population AF) and forge_clinvar_variant (clinical significance). REST API: https://rest.ensembl.org — free, no auth.

HTTP: POST /api/scidex/forge/ensembl_vep

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.ensembl_vep``.",
  "properties": {
    "variant_id": {
      "description": "Variant identifier: dbSNP rsID (e.g. ``rs699``) or HGVS notation (e.g. ``ENST00000357654.9:c.5340A>G``). rsIDs are the most common input for human disease variants.",
      "maxLength": 256,
      "minLength": 1,
      "title": "Variant Id",
      "type": "string"
    },
    "species": {
      "default": "human",
      "description": "Species name for VEP lookup. Defaults to ``human``. Other Ensembl species names (e.g. ``mus_musculus``) are also accepted.",
      "maxLength": 64,
      "title": "Species",
      "type": "string"
    },
    "canonical_only": {
      "default": true,
      "description": "If True (default), return only the canonical transcript consequence per gene. If False, return all transcript consequences.",
      "title": "Canonical Only",
      "type": "boolean"
    }
  },
  "required": [
    "variant_id"
  ],
  "title": "ForgeEnsemblVEPIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "VEPConsequence": {
      "description": "One transcript-level VEP consequence annotation.",
      "properties": {
        "transcript_id": {
          "description": "Ensembl transcript ID (e.g. ENST00000357654).",
          "title": "Transcript Id",
          "type": "string"
        },
        "gene_symbol": {
          "default": "",
          "description": "HGNC gene symbol (e.g. BRCA1).",
          "title": "Gene Symbol",
          "type": "string"
        },
        "gene_id": {
          "default": "",
          "description": "Ensembl gene ID (e.g. ENSG00000012048).",
          "title": "Gene Id",
          "type": "string"
        },
        "impact": {
          "default": "MODIFIER",
          "description": "VEP impact tier: HIGH, MODERATE, LOW, or MODIFIER.",
          "title": "Impact",
          "type": "string"
        },
        "consequence_terms": {
          "description": "SO consequence terms (e.g. missense_variant, frameshift_variant, splice_donor_variant). Multiple terms may apply to one transcript.",
          "items": {
            "type": "string"
          },
          "title": "Consequence Terms",
          "type": "array"
        },
        "amino_acids": {
          "default": "",
          "description": "Amino acid change in ref/alt notation (e.g. 'S/L' for Ser→Leu). Empty string for non-coding consequences.",
          "title": "Amino Acids",
          "type": "string"
        },
        "codons": {
          "default": "",
          "description": "Codon change in ref/alt notation (e.g. 'tCg/tTg'). Empty for non-coding.",
          "title": "Codons",
          "type": "string"
        },
        "sift_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "SIFT score in [0.0, 1.0]. Values < 0.05 predict deleterious effect. None if not predicted (non-missense or missing data).",
          "title": "Sift Score"
        },
        "sift_prediction": {
          "default": "",
          "description": "SIFT qualitative call: 'deleterious', 'tolerated', or ''.",
          "title": "Sift Prediction",
          "type": "string"
        },
        "polyphen_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "PolyPhen-2 HumVar score in [0.0, 1.0]. Values > 0.908 predict probably_damaging. None if not predicted.",
          "title": "Polyphen Score"
        },
        "polyphen_prediction": {
          "default": "",
          "description": "PolyPhen-2 qualitative call: 'probably_damaging', 'possibly_damaging', 'benign', or ''.",
          "title": "Polyphen Prediction",
          "type": "string"
        },
        "canonical": {
          "default": false,
          "description": "True if this transcript is the Ensembl canonical transcript for the gene.",
          "title": "Canonical",
          "type": "boolean"
        },
        "biotype": {
          "default": "",
          "description": "Ensembl transcript biotype (e.g. 'protein_coding', 'lncRNA').",
          "title": "Biotype",
          "type": "string"
        }
      },
      "required": [
        "transcript_id"
      ],
      "title": "VEPConsequence",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ensembl_vep``.",
  "properties": {
    "variant_id": {
      "description": "The queried variant identifier.",
      "title": "Variant Id",
      "type": "string"
    },
    "most_severe_consequence": {
      "default": "",
      "description": "The most severe consequence term across all transcripts (as reported by Ensembl VEP).",
      "title": "Most Severe Consequence",
      "type": "string"
    },
    "consequences": {
      "description": "VEP consequence annotations sorted by impact severity (HIGH → MODERATE → LOW → MODIFIER).",
      "items": {
        "$ref": "#/$defs/VEPConsequence"
      },
      "title": "Consequences",
      "type": "array"
    },
    "total_transcripts": {
      "default": 0,
      "description": "Total number of transcript consequences returned (after canonical filter).",
      "title": "Total Transcripts",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "variant_id",
    "took_ms"
  ],
  "title": "ForgeEnsemblVEPOut",
  "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/ensembl_vep' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "variant_id": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.