restriction_sites read
scidex.forge.restriction_sites
Find restriction-enzyme recognition sites in a DNA sequence. Closes Biomni-parity port of `find_restriction_sites` + `find_restriction_enzymes` (SPEC-195 §1 molecular_biology rows 7-9; iter 21).
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": {
"sequence": {
"description": "DNA sequence in standard one-letter code (ACGT). Length capped at 100,000 bases. Case-insensitive; whitespace stripped.",
"maxLength": 100000,
"minLength": 1,
"title": "Sequence",
"type": "string"
},
"enzymes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional subset of enzyme names to scan. When None, all ~37 enzymes in the standard set are scanned. Names are matched case-sensitively (e.g. 'EcoRI', not 'ecori').",
"title": "Enzymes"
},
"palindromic_only": {
"default": false,
"description": "If true, skip enzymes whose recognition sequence is not palindromic. The vast majority of common restriction sites are palindromic; setting this true is mostly a quality filter.",
"title": "Palindromic Only",
"type": "boolean"
}
},
"required": [
"sequence"
],
"title": "RestrictionSitesIn",
"type": "object"
}Output schema
{
"$defs": {
"RestrictionHit": {
"properties": {
"enzyme": {
"description": "Enzyme name (e.g. 'EcoRI').",
"title": "Enzyme",
"type": "string"
},
"recognition_sequence": {
"description": "The enzyme's recognition site (e.g. 'GAATTC').",
"title": "Recognition Sequence",
"type": "string"
},
"position": {
"description": "1-indexed start position of the recognition site on the top strand.",
"title": "Position",
"type": "integer"
},
"strand": {
"description": "'+' = match on input sequence; '-' = match on reverse complement.",
"title": "Strand",
"type": "string"
}
},
"required": [
"enzyme",
"recognition_sequence",
"position",
"strand"
],
"title": "RestrictionHit",
"type": "object"
}
},
"properties": {
"sequence_length": {
"description": "Validated input sequence length (nt).",
"title": "Sequence Length",
"type": "integer"
},
"enzymes_scanned": {
"description": "Number of enzymes scanned.",
"title": "Enzymes Scanned",
"type": "integer"
},
"hits": {
"description": "Hits across all scanned enzymes.",
"items": {
"$ref": "#/$defs/RestrictionHit"
},
"title": "Hits",
"type": "array"
},
"hits_by_enzyme": {
"additionalProperties": {
"type": "integer"
},
"description": "Per-enzyme hit count (sum of + and - strand matches).",
"title": "Hits By Enzyme",
"type": "object"
},
"total_hits": {
"description": "Convenience: len(hits).",
"title": "Total Hits",
"type": "integer"
}
},
"required": [
"sequence_length",
"enzymes_scanned",
"hits",
"hits_by_enzyme",
"total_hits"
],
"title": "RestrictionSitesOut",
"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/restriction_sites' \
-H 'authorization: Bearer $SCIDEX_JWT' \
-H 'content-type: application/json' \
-d '{
"sequence": ""
}'Discussion
No comments yet — be the first.