Forge Tools oma_orthologs

oma_orthologs read

scidex.forge.oma_orthologs

Look up protein orthologs in the OMA Browser REST API by OMA entry ID, numeric entry number, or canonical protein identifier such as a UniProt accession. Returns OMA ortholog records with species, NCBI taxon ID, relationship type, HOG/group identifiers, locus metadata, score, and distance. Supports optional OMA rel_type filtering such as '1:1'.

HTTP: POST /api/scidex/forge/oma_orthologs

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.oma_orthologs``.",
  "properties": {
    "protein_id": {
      "description": "OMA protein entry identifier: OMA ID, numeric entry number, or canonical protein identifier such as a UniProt accession (for example, 'P04637').",
      "maxLength": 80,
      "minLength": 1,
      "title": "Protein Id",
      "type": "string"
    },
    "rel_type": {
      "anyOf": [
        {
          "enum": [
            "1:1",
            "1:n",
            "m:1",
            "m:n"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional OMA relationship filter. Use '1:1' for one-to-one orthologs, or leave unset to return all ortholog relationship types.",
      "title": "Rel Type"
    },
    "limit": {
      "default": 100,
      "description": "Maximum number of ortholog records to return.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "protein_id"
  ],
  "title": "ForgeOMAOrthologsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "OMAOrtholog": {
      "description": "One OMA ortholog record.",
      "properties": {
        "entry_nr": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OMA internal numeric entry ID.",
          "title": "Entry Nr"
        },
        "oma_id": {
          "default": "",
          "description": "OMA protein identifier, e.g. HUMAN07666.",
          "title": "Oma Id",
          "type": "string"
        },
        "canonical_id": {
          "default": "",
          "description": "Canonical protein identifier from OMA, often a UniProt or RefSeq accession.",
          "title": "Canonical Id",
          "type": "string"
        },
        "entry_url": {
          "default": "",
          "description": "OMA API URL for this protein entry.",
          "title": "Entry Url",
          "type": "string"
        },
        "sequence_length": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Protein sequence length.",
          "title": "Sequence Length"
        },
        "species_code": {
          "default": "",
          "description": "OMA five-letter species code.",
          "title": "Species Code",
          "type": "string"
        },
        "species_name": {
          "default": "",
          "description": "Scientific species name.",
          "title": "Species Name",
          "type": "string"
        },
        "taxon_id": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "NCBI taxonomy ID for the species.",
          "title": "Taxon Id"
        },
        "rel_type": {
          "default": "",
          "description": "OMA relationship type, e.g. '1:1' or '1:n'.",
          "title": "Rel Type",
          "type": "string"
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OMA orthology confidence score.",
          "title": "Score"
        },
        "distance": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OMA evolutionary distance value.",
          "title": "Distance"
        },
        "oma_group": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "OMA group ID when available.",
          "title": "Oma Group"
        },
        "oma_hog_id": {
          "default": "",
          "description": "Hierarchical orthologous group ID.",
          "title": "Oma Hog Id",
          "type": "string"
        },
        "chromosome": {
          "default": "",
          "description": "Chromosome or contig label.",
          "title": "Chromosome",
          "type": "string"
        },
        "locus_start": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Genomic locus start coordinate.",
          "title": "Locus Start"
        },
        "locus_end": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Genomic locus end coordinate.",
          "title": "Locus End"
        },
        "locus_strand": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Genomic strand, usually 1 or -1.",
          "title": "Locus Strand"
        },
        "is_main_isoform": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Whether OMA marks this protein as the main isoform.",
          "title": "Is Main Isoform"
        }
      },
      "title": "OMAOrtholog",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.oma_orthologs``.",
  "properties": {
    "protein_id": {
      "description": "The protein identifier that was queried.",
      "title": "Protein Id",
      "type": "string"
    },
    "orthologs": {
      "items": {
        "$ref": "#/$defs/OMAOrtholog"
      },
      "title": "Orthologs",
      "type": "array"
    },
    "total_orthologs": {
      "default": 0,
      "description": "Total ortholog records returned by OMA before applying ``limit``.",
      "title": "Total Orthologs",
      "type": "integer"
    },
    "returned": {
      "default": 0,
      "description": "Number of ortholog records returned.",
      "title": "Returned",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True when OMA cannot resolve the ID.",
      "title": "Not Found",
      "type": "boolean"
    },
    "detail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "OMA not-found or ambiguity detail when available.",
      "title": "Detail"
    },
    "source": {
      "default": "OMA Browser REST API (omabrowser.org)",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for the upstream call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "protein_id"
  ],
  "title": "ForgeOMAOrthologsOut",
  "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/oma_orthologs' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "protein_id": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.