Forge Tools sequence_mutations

sequence_mutations read

scidex.forge.sequence_mutations

Find mutations between two DNA sequences. Closes Biomni-parity port of `find_sequence_mutations` (SPEC-195 §1 molecular_biology row 10; iter 24).

HTTP: POST /api/scidex/forge/sequence_mutations

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
{
  "properties": {
    "reference": {
      "description": "Reference DNA sequence (ACGT). The 'wild-type' or expected sequence.",
      "maxLength": 100000,
      "minLength": 1,
      "title": "Reference",
      "type": "string"
    },
    "query": {
      "description": "Query DNA sequence (ACGT). The variant or experimental sequence to score.",
      "maxLength": 100000,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    }
  },
  "required": [
    "reference",
    "query"
  ],
  "title": "SequenceMutationsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "Mutation": {
      "properties": {
        "kind": {
          "description": "'substitution', 'insertion', or 'deletion'.",
          "title": "Kind",
          "type": "string"
        },
        "position": {
          "description": "1-indexed position on the reference sequence.",
          "title": "Position",
          "type": "integer"
        },
        "notation": {
          "description": "HGVS-style notation. Substitution: '100A>G'. Insertion: '100insATG'. Deletion: '100delGT'.",
          "title": "Notation",
          "type": "string"
        },
        "ref_base": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reference base(s) at the mutation site (None for insertion).",
          "title": "Ref Base"
        },
        "query_base": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Query base(s) at the mutation site (None for deletion).",
          "title": "Query Base"
        }
      },
      "required": [
        "kind",
        "position",
        "notation"
      ],
      "title": "Mutation",
      "type": "object"
    }
  },
  "properties": {
    "reference_length": {
      "description": "Length of the reference sequence (nt).",
      "title": "Reference Length",
      "type": "integer"
    },
    "query_length": {
      "description": "Length of the query sequence (nt).",
      "title": "Query Length",
      "type": "integer"
    },
    "mutations": {
      "description": "Detected mutations.",
      "items": {
        "$ref": "#/$defs/Mutation"
      },
      "title": "Mutations",
      "type": "array"
    },
    "substitution_count": {
      "description": "Convenience: count of substitutions.",
      "title": "Substitution Count",
      "type": "integer"
    },
    "insertion_count": {
      "description": "Convenience: count of insertions.",
      "title": "Insertion Count",
      "type": "integer"
    },
    "deletion_count": {
      "description": "Convenience: count of deletions.",
      "title": "Deletion Count",
      "type": "integer"
    },
    "method": {
      "description": "'aligned_hamming' for equal-length comparison; 'prefix_suffix' for single contiguous indel between sequences of different length.",
      "title": "Method",
      "type": "string"
    }
  },
  "required": [
    "reference_length",
    "query_length",
    "mutations",
    "substitution_count",
    "insertion_count",
    "deletion_count",
    "method"
  ],
  "title": "SequenceMutationsOut",
  "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/sequence_mutations' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "reference": "",
  "query": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.