Forge Tools gencode_transcripts

gencode_transcripts read

scidex.forge.gencode_transcripts

Retrieve GENCODE transcript isoforms for a gene symbol or Ensembl gene ID. Returns biotype, transcript support level (TSL), APPRIS principal designation, exon count, and CDS coordinates for each isoform. Supports filtering to APPRIS principal transcripts only. REST API: https://rest.ensembl.org — free, no auth.

HTTP: POST /api/scidex/forge/gencode_transcripts

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.gencode_transcripts``.",
  "properties": {
    "gene_symbol": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "HGNC gene symbol (e.g. 'TP53', 'BRCA1'). Provide either this or ``ensembl_gene_id``.",
      "title": "Gene Symbol"
    },
    "ensembl_gene_id": {
      "anyOf": [
        {
          "maxLength": 32,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ensembl gene stable ID (e.g. 'ENSG00000141510'). Provide either this or ``gene_symbol``.",
      "title": "Ensembl Gene Id"
    },
    "species": {
      "default": "human",
      "description": "Species for the lookup. Common names ('human', 'mouse') are accepted and converted to Ensembl identifiers. Defaults to 'human'.",
      "maxLength": 64,
      "title": "Species",
      "type": "string"
    },
    "principal_only": {
      "default": false,
      "description": "If True, return only APPRIS principal transcripts (APPRIS annotation starts with 'appris_principal'). Defaults to False (return all transcripts).",
      "title": "Principal Only",
      "type": "boolean"
    }
  },
  "title": "GencodeTranscriptsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "TranscriptRecord": {
      "description": "Annotation for a single GENCODE/Ensembl transcript isoform.",
      "properties": {
        "transcript_id": {
          "description": "Ensembl transcript ID (e.g. ENST00000269305).",
          "title": "Transcript Id",
          "type": "string"
        },
        "biotype": {
          "default": "",
          "description": "Ensembl transcript biotype (e.g. 'protein_coding', 'retained_intron').",
          "title": "Biotype",
          "type": "string"
        },
        "tsl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Transcript support level: '1' (best) to '5' (worst), 'NA', or None if absent.",
          "title": "Tsl"
        },
        "appris": {
          "default": "",
          "description": "APPRIS annotation (e.g. 'appris_principal_1', 'appris_alternative_1'). Empty string if absent.",
          "title": "Appris",
          "type": "string"
        },
        "exon_count": {
          "default": 0,
          "description": "Number of exons in this transcript.",
          "title": "Exon Count",
          "type": "integer"
        },
        "cds_start": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Genomic start coordinate of the CDS (1-based, inclusive). None for non-coding.",
          "title": "Cds Start"
        },
        "cds_end": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Genomic end coordinate of the CDS (1-based, inclusive). None for non-coding.",
          "title": "Cds End"
        },
        "is_principal": {
          "default": false,
          "description": "True if the APPRIS annotation begins with 'appris_principal'.",
          "title": "Is Principal",
          "type": "boolean"
        }
      },
      "required": [
        "transcript_id"
      ],
      "title": "TranscriptRecord",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.gencode_transcripts``.",
  "properties": {
    "gene_id": {
      "description": "Ensembl gene stable ID (ENSG...).",
      "title": "Gene Id",
      "type": "string"
    },
    "gene_name": {
      "description": "Display name / gene symbol.",
      "title": "Gene Name",
      "type": "string"
    },
    "transcripts": {
      "description": "All transcript isoforms for the gene (filtered by principal_only if requested). Empty list when the gene is not found.",
      "items": {
        "$ref": "#/$defs/TranscriptRecord"
      },
      "title": "Transcripts",
      "type": "array"
    },
    "principal_transcript_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ensembl transcript ID of the primary APPRIS principal isoform ('appris_principal_1' preferred, else first principal). None when no principal transcript exists in the result set.",
      "title": "Principal Transcript Id"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream call, in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "gene_id",
    "gene_name",
    "took_ms"
  ],
  "title": "GencodeTranscriptsOut",
  "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/gencode_transcripts' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.