{"instructions":"Each tool accepts optional parameter api_key: the user's real Mitochondria API key. Never invent, guess, or use placeholder values (undefined, null, test, your-api-key). If the user has not provided a key, the connection's Authorization header or the process MITOCHONDRIA_API_KEY may supply one; still never invent a key. The server forwards the resolved key as Authorization: Bearer so quota applies to that key.\n\nQuotas (standard keys): usage is tracked in token units per UTC calendar day and month. Each successful call may consume a route-specific token cost (configured on the server); if the budget would be exceeded, the API returns HTTP 403 with a quota message (e.g. Payment Required). Admin keys are not quota-limited. Use mitochondria_get_quota_limits to read daily/monthly caps, used amounts, and remainders; that call does not consume tokens.\n\nSuccessful responses are JSON with status \"success\" and a \"results\" field. Malformed JSON often yields 400; validation and business rules often yield 422 with message (and sometimes errors). Each tool description states limits and defaults aligned with the public API documentation.\n\nPersist-then-id protocol for DNA:\n1. Persist DNA on first sight (mitochondria_oligos_create or save_results true).\n2. Later calls: pass {id} only \u2014 do not resend seq or genbank when an id exists.\n3. Catalog: mitochondria_catalog_vector_get (GET /catalog/vectors/{name}) \u2192 pass {id, name, type: \"catalog\"} from that response as the backbone handle.\n4. Never POST type catalog (users cannot create catalog rows).\n5. Prefer primary enzyme names from nested restrictase lists; isoschizomer names remain valid inputs.\n6. save_results omits seq/genbank unless full_results is also true; full_results alone is ignored.","name":"mitochondria","tools":[{"description":"GET /quota/limits (operationId quota_limits_get).\n\n    Does not consume token quota. Returns caps and usage for the current UTC day and month.\n    Standard keys: daily_limit_tokens, monthly_limit_tokens, daily_used_tokens, monthly_used_tokens,\n    daily_remaining_tokens, monthly_remaining_tokens, period.utc_day, period.utc_month.\n    Admin keys: tier admin, unlimited true. Unknown key: 403. Key DB unavailable for non-admin: 503.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"}},"title":"mitochondria_get_quota_limitsArguments","type":"object"},"name":"mitochondria_get_quota_limits","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_get_quota_limitsOutput","type":"object"}},{"description":"POST /tools/sequence/reverse_complement (operationId tools_sequence_reverse_complement).\n\n    DNA or RNA (IUPAC); whitespace stripped, case ignored. Invalid letters: 422.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"sequence":{"title":"Sequence","type":"string"}},"required":["sequence"],"title":"mitochondria_reverse_complementArguments","type":"object"},"name":"mitochondria_reverse_complement","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_reverse_complementOutput","type":"object"}},{"description":"POST /tools/sequence/transcribe (operationId tools_sequence_transcribe). DNA to RNA (T\u2192U).\n\n    Whitespace stripped, case ignored. Invalid symbols: 422.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"sequence":{"title":"Sequence","type":"string"}},"required":["sequence"],"title":"mitochondria_sequence_transcribeArguments","type":"object"},"name":"mitochondria_sequence_transcribe","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_sequence_transcribeOutput","type":"object"}},{"description":"POST /tools/sequence/back_transcribe (operationId tools_sequence_back_transcribe). RNA to DNA (U\u2192T).\n\n    Whitespace stripped, case ignored. Invalid symbols: 422.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"sequence":{"title":"Sequence","type":"string"}},"required":["sequence"],"title":"mitochondria_sequence_back_transcribeArguments","type":"object"},"name":"mitochondria_sequence_back_transcribe","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_sequence_back_transcribeOutput","type":"object"}},{"description":"POST /tools/sequence/translate (operationId tools_sequence_translate).\n\n    Defaults: translation_table=1 (NCBI code), to_stop=false, cds=false. translation_table minimum 1.\n    CDS or codon violations: HTTP 422; JSON fields ``message`` and ``errors`` carry the rationale\n    (cds=true validates start/stop/length/table).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"cds":{"default":false,"title":"Cds","type":"boolean"},"sequence":{"title":"Sequence","type":"string"},"to_stop":{"default":false,"title":"To Stop","type":"boolean"},"translation_table":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Translation Table"}},"required":["sequence"],"title":"mitochondria_sequence_translateArguments","type":"object"},"name":"mitochondria_sequence_translate","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_sequence_translateOutput","type":"object"}},{"description":"POST /tools/restriction (operationId tools_restriction). Multi-enzyme digest map and fragments.\n\n    Default circular=false (linear). Empty restrictase_names: no cuts. circular=true scans as circular topology\n    (sites may span ends of sequence) and uses wrap-around fragment order first in sequences.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"circular":{"default":false,"title":"Circular","type":"boolean"},"restrictase_names":{"items":{"type":"string"},"title":"Restrictase Names","type":"array"},"sequence":{"title":"Sequence","type":"string"}},"required":["sequence","restrictase_names"],"title":"mitochondria_tools_restrictionArguments","type":"object"},"name":"mitochondria_tools_restriction","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_tools_restrictionOutput","type":"object"}},{"description":"POST /backbone/linearize/selection (operationId backbone_linear_selection). Excise segment by positions.\n\n    backbone: object with required id, seq; optional topology (default circular), mcs_start (default 1),\n    mcs_end (default sequence length).\n    left_position / right_position: 1-based inclusive segment to remove; right_position may be 0 with\n    left_position=1 for a seam cut (between last and first base, no bases removed). Alternatively\n    seam: left=len(seq)+1 and right=len(seq). Adjacent cut (no bases removed): left=right+1.\n    Optional backbone.genbank: full circular GenBank matching backbone.seq; response may include results.genbank\n    (linear record with remapped features).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"left_position":{"title":"Left Position","type":"integer"},"right_position":{"title":"Right Position","type":"integer"}},"required":["backbone","left_position","right_position"],"title":"mitochondria_backbone_linear_selectionArguments","type":"object"},"name":"mitochondria_backbone_linear_selection","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_backbone_linear_selectionOutput","type":"object"}},{"description":"POST /backbone/linearize/restriction (operationId backbone_linear_restriction).\n\n    backbone: id and seq required; optional topology, mcs_start, mcs_end as documented in the public API.\n    For a single enzyme, pass end_restrictase as '' (empty string). Enzyme names from server catalog.\n    With two enzymes, returns the linearized vector backbone (long fragment); not the MCS insert-sized dropout.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"end_restrictase":{"title":"End Restrictase","type":"string"},"start_restrictase":{"title":"Start Restrictase","type":"string"}},"required":["backbone","start_restrictase","end_restrictase"],"title":"mitochondria_backbone_linear_restrictionArguments","type":"object"},"name":"mitochondria_backbone_linear_restriction","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_backbone_linear_restrictionOutput","type":"object"}},{"description":"POST /primers/simple (operationId primers_simple). Simple PCR primers for a linear insert.\n\n    options optional: min_tm default 60 (allowed 50\u201380 \u00b0C); min_length default 18 (allowed 15\u201335 bp;\n    alias min_primer_length).\n    RNA-like insert (U) is coerced to T with a warning. No primers found: often 500.\n    Reported melting_temperature / annealing_temperature follow the public API definitions\n    (nearest-neighbour + mixed-ion oligomer assumptions).\n    overwrite applies when saving an oligo input (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"insert":{"title":"Insert","type":"object"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Options"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"}},"required":["insert"],"title":"mitochondria_primers_simpleArguments","type":"object"},"name":"mitochondria_primers_simple","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_primers_simpleOutput","type":"object"}},{"description":"POST /cloning/restriction/primers (operationId restriction_cloning_primers).\n\n    insert: {id, seq}. restrictases: {start, end} enzyme names; optional start_seq, end_seq.\n    options optional: start_overhang_size, end_overhang_size in 1\u20135 bp when set.\n    overwrite applies when saving an oligo input (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"forward_primer":{"title":"Forward Primer","type":"string"},"insert":{"title":"Insert","type":"object"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Options"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"restrictases":{"title":"Restrictases","type":"object"},"reverse_primer":{"title":"Reverse Primer","type":"string"}},"required":["insert","forward_primer","reverse_primer","restrictases"],"title":"mitochondria_restriction_cloning_primersArguments","type":"object"},"name":"mitochondria_restriction_cloning_primers","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_restriction_cloning_primersOutput","type":"object"}},{"description":"POST /cloning/restriction/primers_combined (operationId restriction_cloning_primers_combined).\n\n    Auto simple-primer step then adds sites like /cloning/restriction/primers.\n    options optional: overhang sizes 1\u20135; min_tm if set must be strictly between 30 and 100 \u00b0C.\n    If min_tm omitted, inner step uses default 60 \u00b0C like /primers/simple. min_length 15\u201335 bp (default 18)\n    for the inner simple-primer step; min_primer_length alias supported.\n    overwrite applies when saving an oligo input (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"insert":{"title":"Insert","type":"object"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Options"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"restrictases":{"title":"Restrictases","type":"object"}},"required":["insert","restrictases"],"title":"mitochondria_restriction_cloning_primers_combinedArguments","type":"object"},"name":"mitochondria_restriction_cloning_primers_combined","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_restriction_cloning_primers_combinedOutput","type":"object"}},{"description":"POST /cloning/restriction/restriction (operationId restriction_cloning_restrictases).\n\n    inserts: array of {id, seq}, max 10 items; empty array = backbone-only enzyme context.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"inserts":{"items":{"type":"object"},"title":"Inserts","type":"array"}},"required":["backbone","inserts"],"title":"mitochondria_restriction_cloning_restrictasesArguments","type":"object"},"name":"mitochondria_restriction_cloning_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_restriction_cloning_restrictasesOutput","type":"object"}},{"description":"GET /cloning/restriction/restriction/supported_restrictases.\n\n    operationId: restriction_cloning_supported_restrictases_get.\n    Alphabetically sorted sticky Type IIP enzyme names used for restriction-cloning MCS logic.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"}},"title":"mitochondria_restriction_cloning_supported_restrictasesArguments","type":"object"},"name":"mitochondria_restriction_cloning_supported_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_restriction_cloning_supported_restrictasesOutput","type":"object"}},{"description":"POST /cloning/restriction/result (operationId restriction_cloning_result).\n\n    Required request fields: backbone (with genbank), construct_name, insert,\n    insert_name, insert_type, insertion_position_1, forward_primer_full_seq,\n    reverse_primer_full_seq, forward_primer_restrictase_position,\n    reverse_primer_restrictase_position; optional insertion_position_2,\n    forward_primer_restrictase, reverse_primer_restrictase.\n    Integer positions are >= 1 where specified. backbone.genbank is full GenBank text including ORIGIN and //.\n    Success: results is GenBank text. primer_bind features use /label with the restrictase name when\n    that name is recognized in the supported enzyme catalog; otherwise labels are forward_primer /\n    reverse_primer. /note still describes the restriction-site remnant.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"body":{"title":"Body","type":"object"}},"required":["body"],"title":"mitochondria_restriction_cloning_resultArguments","type":"object"},"name":"mitochondria_restriction_cloning_result","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_restriction_cloning_resultOutput","type":"object"}},{"description":"POST /cloning/pcr/constructs (operationId pcr_cloning_constructs). Two concatamer previews.\n\n    backbone and insert are oligo objects with seq; else 422.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"insert":{"title":"Insert","type":"object"}},"required":["backbone","insert"],"title":"mitochondria_pcr_cloning_constructsArguments","type":"object"},"name":"mitochondria_pcr_cloning_constructs","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_pcr_cloning_constructsOutput","type":"object"}},{"description":"POST /cloning/pcr/restriction (operationId pcr_cloning_restriction). Blunt single-cutters in MCS.\n\n    Circular backbone only; linear backbone returns empty results []. Cuts once, blunt, site in mcs_start\u2026mcs_end.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"}},"required":["backbone"],"title":"mitochondria_pcr_cloning_restrictionArguments","type":"object"},"name":"mitochondria_pcr_cloning_restriction","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_pcr_cloning_restrictionOutput","type":"object"}},{"description":"POST /cloning/pcr/result (operationId pcr_cloning_result).\n\n    Required request fields: backbone (with genbank), construct_name, insert, insert_name,\n    insert_type, insertion_position_1; optional insertion_position_2, forward_primer,\n    reverse_primer, restrictase_names, use_reverse_complement (default false).\n    Positions minimum 1. Success: results is GenBank text string.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"body":{"title":"Body","type":"object"}},"required":["body"],"title":"mitochondria_pcr_cloning_resultArguments","type":"object"},"name":"mitochondria_pcr_cloning_result","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_pcr_cloning_resultOutput","type":"object"}},{"description":"POST /cloning/gibson/primers (operationId gibson_cloning_primers).\n\n    Oligo contract: insert/backbone use {id}, {seq}, or catalog {id, name, type: \"catalog\"}.\n    Prefer ids after persist; do not resend seq/genbank when an id exists.\n    Provide both start_overlap_seq and end_overlap_seq, or omit both and supply backbone plus\n    restrictase (single MCS cut of a circular backbone). One overlap without the other, or\n    neither a complete overlap pair nor backbone+restrictase, is rejected.\n    Required options: primer_tm, overlap_tm (\u00b0C); overlap_size (bp, >= 1). add_kozak designs\n    forward annealing against GCCACC 5' of an ATG-starting insert.\n    ","inputSchema":{"properties":{"add_kozak":{"default":false,"title":"Add Kozak","type":"boolean"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Backbone"},"end_overlap_seq":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"End Overlap Seq"},"insert":{"title":"Insert","type":"object"},"overlap_size":{"title":"Overlap Size","type":"integer"},"overlap_tm":{"title":"Overlap Tm","type":"integer"},"primer_tm":{"title":"Primer Tm","type":"integer"},"restrictase":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Restrictase"},"start_overlap_seq":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Start Overlap Seq"}},"required":["insert","primer_tm","overlap_size","overlap_tm"],"title":"mitochondria_gibson_cloning_primersArguments","type":"object"},"name":"mitochondria_gibson_cloning_primers","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_gibson_cloning_primersOutput","type":"object"}},{"description":"POST /cloning/gibson/result (operationId gibson_cloning_result).\n\n    Oligo contract: backbone/insert use {id}, inline seq/genbank, or catalog\n    {id, name, type: \"catalog\"} (no seq paste after catalog get). Prefer ids.\n    Assembles a circular plasmid; restrictase must cut once in the MCS. Primers are the full\n    sequences from /cloning/gibson/primers. Backbone must resolve to GenBank (catalog/stored/\n    inline). construct_name required. add_kozak must match primer design.\n    save_results: compact construct handle (no genbank) unless full_results also true;\n    full_results alone is ignored.\n    ","inputSchema":{"properties":{"add_kozak":{"default":false,"title":"Add Kozak","type":"boolean"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"construct_name":{"title":"Construct Name","type":"string"},"forward_primer_full_seq":{"title":"Forward Primer Full Seq","type":"string"},"full_results":{"default":false,"title":"Full Results","type":"boolean"},"insert":{"title":"Insert","type":"object"},"insert_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Insert Name"},"insert_type":{"default":"CDS","title":"Insert Type","type":"string"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"restrictase":{"title":"Restrictase","type":"string"},"reverse_primer_full_seq":{"title":"Reverse Primer Full Seq","type":"string"},"save_results":{"default":false,"title":"Save Results","type":"boolean"}},"required":["backbone","insert","restrictase","construct_name","forward_primer_full_seq","reverse_primer_full_seq"],"title":"mitochondria_gibson_cloning_resultArguments","type":"object"},"name":"mitochondria_gibson_cloning_result","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_gibson_cloning_resultOutput","type":"object"}},{"description":"POST /cloning/gibson/restriction (operationId gibson_cloning_restrictases).\n\n    Type IIP enzymes cutting once in MCS; circular backbone only (linear returns []).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"}},"required":["backbone"],"title":"mitochondria_gibson_cloning_restrictasesArguments","type":"object"},"name":"mitochondria_gibson_cloning_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_gibson_cloning_restrictasesOutput","type":"object"}},{"description":"GET /cloning/gibson/restriction/supported_restrictases (operationId gibson_cloning_supported_restrictases_get).\n\n    Alphabetically sorted Type IIP enzyme names (sticky or blunt) used for Gibson vector-linearization MCS logic.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"}},"title":"mitochondria_gibson_cloning_supported_restrictasesArguments","type":"object"},"name":"mitochondria_gibson_cloning_supported_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_gibson_cloning_supported_restrictasesOutput","type":"object"}},{"description":"POST /cloning/golden_gate/restriction (operationId golden_gate_cloning_restrictases).\n\n    Type IIS enzymes for Golden Gate assembly; inserts max 10. preferred_restrictases optional reordering hint.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"inserts":{"items":{"type":"object"},"title":"Inserts","type":"array"},"preferred_restrictases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Preferred Restrictases"}},"required":["backbone","inserts"],"title":"mitochondria_golden_gate_cloning_restrictasesArguments","type":"object"},"name":"mitochondria_golden_gate_cloning_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_golden_gate_cloning_restrictasesOutput","type":"object"}},{"description":"POST /cloning/golden_gate/cassette (operationId golden_gate_cassette_detect).\n\n    Detect whether the backbone MCS contains a Type IIS cassette (two same-enzyme sites).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"}},"required":["backbone"],"title":"mitochondria_golden_gate_cassette_detectArguments","type":"object"},"name":"mitochondria_golden_gate_cassette_detect","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_golden_gate_cassette_detectOutput","type":"object"}},{"description":"GET /cloning/golden_gate/restriction/supported_restrictases.\n\n    operationId: golden_gate_cloning_supported_restrictases_get.\n    Alphabetically sorted Type IIS enzyme names used for Golden Gate planning.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"}},"title":"mitochondria_golden_gate_cloning_supported_restrictasesArguments","type":"object"},"name":"mitochondria_golden_gate_cloning_supported_restrictases","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_golden_gate_cloning_supported_restrictasesOutput","type":"object"}},{"description":"POST /cloning/golden_gate/primers (operationId golden_gate_cloning_primers).\n\n    Designs Type IIS insert primers for Golden Gate assembly in the given insert order.\n    Backbone must have an inward cassette for restrictase (catalog primary name or isoschizomer).\n    inserts max 10. Cassette fusion sites are never client-overridable.\n    internal_overhangs optional: one pin or null per junction between inserts (length = len(inserts)-1);\n    omit for a single insert. Pins must be DNA A/C/G/T, native sticky-end length, non-palindromic,\n    unique, and not equal to cassette ends.\n    options optional: min_tm if set must be strictly between 30 and 100 \u00b0C (omit for default 60 \u00b0C\n    like simple PCR primers); min_length 15\u201335 bp (default 18).\n    Inserts that still contain the enzyme recognition site are rejected (codon-optimize first).\n    overwrite applies when saving oligo inputs (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"inserts":{"items":{"type":"object"},"title":"Inserts","type":"array"},"internal_overhangs":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array"},{"type":"null"}],"default":null,"title":"Internal Overhangs"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Options"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"restrictase":{"title":"Restrictase","type":"string"}},"required":["backbone","inserts","restrictase"],"title":"mitochondria_golden_gate_cloning_primersArguments","type":"object"},"name":"mitochondria_golden_gate_cloning_primers","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_golden_gate_cloning_primersOutput","type":"object"}},{"description":"POST /cloning/golden_gate/result (operationId golden_gate_cloning_result).\n\n    Assembles a circular plasmid from a cassette backbone and ordered Type IIS-flanked PCR\n    products. Backbone must be circular with an inward cassette for restrictase (catalog\n    primary name or isoschizomer). PCR product order is assembly order; each product must\n    digest to sticky ends that match cassette left, successive insert fusions, then cassette\n    right.     construct_name is required and must be non-empty.\n    Put optional destination GenBank on backbone.genbank.\n    insert_features optional: annotation overrides by product id (name, type; type defaults\n    to CDS). Success: results is circular GenBank text.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"title":"Backbone","type":"object"},"construct_name":{"title":"Construct Name","type":"string"},"insert_features":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Insert Features"},"pcr_products":{"items":{"type":"object"},"title":"Pcr Products","type":"array"},"restrictase":{"title":"Restrictase","type":"string"}},"required":["backbone","pcr_products","restrictase","construct_name"],"title":"mitochondria_golden_gate_cloning_resultArguments","type":"object"},"name":"mitochondria_golden_gate_cloning_result","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_golden_gate_cloning_resultOutput","type":"object"}},{"description":"POST /cloning/design/experiment (operationId design_cloning_experiment).\n\n    Interactive cloning design: answer strategy questions, then optionally supply backbone/inserts\n    for compatibility checks and a workflow plan. answers keys: insert_orientation (random|defined),\n    inserts_per_backbone (int), is_modular (bool). execute default false; when true runs workflow steps\n    inline including primers and GenBank when execution_context is provided. inserts max 10.\n    ","inputSchema":{"properties":{"answers":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Answers"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"backbone":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Backbone"},"execute":{"default":false,"title":"Execute","type":"boolean"},"execution_context":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Execution Context"},"inserts":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Inserts"},"preferred_restrictases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Preferred Restrictases"}},"title":"mitochondria_design_cloning_experimentArguments","type":"object"},"name":"mitochondria_design_cloning_experiment","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_design_cloning_experimentOutput","type":"object"}},{"description":"POST /tools/protein/reverse_transcribe (operationId tools_protein_reverse_transcribe).\n\n    Protein (one-letter amino acids, * for stop) to coding DNA. host default e.coli\n    (must be a label the service supports). restrictases names enzymes whose sites must\n    not appear. Invalid symbols: 422. Processing failures return 500.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"host":{"default":"e.coli","title":"Host","type":"string"},"restrictases":{"items":{"type":"string"},"title":"Restrictases","type":"array"},"sequence":{"title":"Sequence","type":"string"}},"required":["sequence","restrictases"],"title":"mitochondria_protein_reverse_transcribeArguments","type":"object"},"name":"mitochondria_protein_reverse_transcribe","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_protein_reverse_transcribeOutput","type":"object"}},{"description":"POST /codon/optimization (operationId codon_optimization).\n\n    insert is an oligo object. A stored {id} loads this key's row; {seq} is inline; {id, seq} saves.\n    host default e.coli (must be a label the service supports). restriction_sites_only default false\n    (true = recode only codons overlapping listed enzyme sites).\n    overwrite applies when saving the input oligo (existing id without overwrite: 409).\n    save_results true stores the optimized DNA as an insert and returns a compact handle plus\n    summary unless full_results is also true (then optimized_seq is included too). New rows that\n    would exceed the stored-oligo cap (default 100) are 403 (Forbidden, not token Payment Required).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"full_results":{"default":false,"title":"Full Results","type":"boolean"},"host":{"default":"e.coli","title":"Host","type":"string"},"insert":{"title":"Insert","type":"object"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"restrictases":{"items":{"type":"string"},"title":"Restrictases","type":"array"},"restriction_sites_only":{"default":false,"title":"Restriction Sites Only","type":"boolean"},"save_results":{"default":false,"title":"Save Results","type":"boolean"}},"required":["restrictases","insert"],"title":"mitochondria_codon_optimizationArguments","type":"object"},"name":"mitochondria_codon_optimization","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_codon_optimizationOutput","type":"object"}},{"description":"POST /mutations/design (operationId mutation_design).\n\n    Resolves a mutation notation against a complete CDS and returns the codon edit that\n    realizes it, without changing the sequence. insert must start with ATG, have a length\n    divisible by three, and end with an in-frame stop codon; otherwise 422.\n    mutation_notation accepts protein shorthand (G12D or p.G12D), three-letter protein form\n    (p.Gly12Asp), or a coding substitution (c.35G>A). The wild-type residue or base must match\n    the sequence, and the position must be inside it; mismatches and unrecognized notations\n    are 422. Results: protein_change, coding_change, wildtype_codon, mutant_codon, cds_position.\n    insert is an oligo object. A stored {id} loads this key's row; {seq} is inline; {id, seq} saves.\n    overwrite applies when saving the input oligo (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"insert":{"title":"Insert","type":"object"},"mutation_notation":{"title":"Mutation Notation","type":"string"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"}},"required":["insert","mutation_notation"],"title":"mitochondria_mutation_designArguments","type":"object"},"name":"mitochondria_mutation_design","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_mutation_designOutput","type":"object"}},{"description":"POST /mutations/apply (operationId mutation_apply).\n\n    Oligo contract: insert is {id}, {seq}, or {id, seq} (save). Prefer {id} after persist.\n    Applies ordered substitutions to a complete CDS. Each mutations entry has coding_change\n    and/or mutation_notation; empty list is 422. Double mutants are two entries.\n    Without save_results: seq, protein_translation, warnings, applied. With save_results:\n    compact insert handle plus summary (no seq) unless full_results also true;\n    full_results alone is ignored.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"full_results":{"default":false,"title":"Full Results","type":"boolean"},"insert":{"title":"Insert","type":"object"},"mutations":{"items":{"type":"object"},"title":"Mutations","type":"array"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"save_results":{"default":false,"title":"Save Results","type":"boolean"}},"required":["insert","mutations"],"title":"mitochondria_mutation_applyArguments","type":"object"},"name":"mitochondria_mutation_apply","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_mutation_applyOutput","type":"object"}},{"description":"POST /constructs/validate (operationId construct_validate).\n\n    Checks an assembled construct against what the experiment intended, without changing it.\n    construct is an oligo object that must resolve to a GenBank record: {genbank} is inline,\n    a stored {id} loads this key's construct, {id, genbank} saves then validates.\n    The insert coding sequence is the annotated CDS feature \u2014 the one matching expected_insert\n    when given, otherwise the first CDS that a promoter reads toward (the first CDS on the\n    record when no promoter reads toward any of them).\n    Results: validation_passed plus checks with reading_frame_preserved (CDS length divisible\n    by three and starting at ATG), premature_stop_codons (TRUE means an in-frame stop appears\n    before the last codon, which is a failure), orientation_correct (CDS on the same strand as\n    the promoter that drives it), promoter_compatible (a promoter feature, or a feature labelled\n    CMV, lies upstream of the CDS in its own reading direction), and mutation_present.\n    mutation_present is true when the CDS contains expected_insert DNA and its translation\n    carries expected_protein_change (G12D, p.G12D, or p.Gly12Asp); with no expectation it is\n    true. validation_passed requires every check true and premature_stop_codons false.\n    Failed checks are 200 with false flags; a missing or unreadable GenBank record, a record\n    with no CDS, and unrecognized mutation notation are 422.\n    overwrite applies when saving an oligo input (existing id without overwrite: 409).\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"construct":{"title":"Construct","type":"object"},"expected_insert":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Expected Insert"},"expected_protein_change":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Expected Protein Change"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"}},"required":["construct"],"title":"mitochondria_construct_validateArguments","type":"object"},"name":"mitochondria_construct_validate","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_construct_validateOutput","type":"object"}},{"description":"POST /oligos (operationId oligos_create).\n\n    Persist DNA under this key for later {id}-only reuse. type required: insert,\n    backbone, or construct (never catalog \u2014 422). Provide seq and/or genbank (must\n    match if both). Omit id for a server UUID. overwrite default false (409 on\n    conflicting rewrite). Cap exceeded: 403. Success 201 with full stored oligo.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"genbank":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Genbank"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Name"},"overwrite":{"default":false,"title":"Overwrite","type":"boolean"},"seq":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Seq"},"topology":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Topology"},"type":{"title":"Type","type":"string"}},"required":["type"],"title":"mitochondria_oligos_createArguments","type":"object"},"name":"mitochondria_oligos_create","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_oligos_createOutput","type":"object"}},{"description":"GET /oligos (operationId oligos_list).\n\n    Paged summaries for this key (id, type, name, topology, seq_length, has_genbank,\n    timestamps \u2014 not full seq/genbank). type filters insert, backbone, or construct\n    (invalid type: 422). limit default 50, clamped 0\u2013100; offset default 0.\n    Envelope results: {items, total} where total is the unpaged count after type filter.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"limit":{"default":50,"title":"Limit","type":"integer"},"offset":{"default":0,"title":"Offset","type":"integer"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Type"}},"title":"mitochondria_oligos_listArguments","type":"object"},"name":"mitochondria_oligos_list","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_oligos_listOutput","type":"object"}},{"description":"GET /oligos/{id} (operationId oligos_get).\n\n    Full oligo for this key, including seq and genbank when stored.\n    Missing or other-key ids: 404 (Not Found). Compute routes that load {id} and\n    miss a row return 422 instead.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"id":{"title":"Id","type":"string"}},"required":["id"],"title":"mitochondria_oligos_getArguments","type":"object"},"name":"mitochondria_oligos_get","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_oligos_getOutput","type":"object"}},{"description":"DELETE /oligos/{id} (operationId oligos_delete).\n\n    Hard-deletes the oligo for this key and frees a storage slot. There is no undelete.\n    Missing or other-key ids: 404. Success results: {id} of the deleted oligo.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"id":{"title":"Id","type":"string"}},"required":["id"],"title":"mitochondria_oligos_deleteArguments","type":"object"},"name":"mitochondria_oligos_delete","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_oligos_deleteOutput","type":"object"}},{"description":"GET /catalog/vectors (operationId catalog_vectors_list).\n\n    Read-only list of curated backbone vectors. Each item has name, description, and\n    length_bp. Currently includes pcDNA3.1. Catalog entries are not stored under the\n    API key; persist a copy with mitochondria_oligos_create when you need a reusable oligo.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"}},"title":"mitochondria_catalog_vectors_listArguments","type":"object"},"name":"mitochondria_catalog_vectors_list","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_catalog_vectors_listOutput","type":"object"}},{"description":"GET /catalog/vectors/{name} (operationId catalog_vector_get).\n\n    Returns catalog oligo: id, type \"catalog\", name, seq, genbank, topology, MCS\n    bounds. Pass {id, name, type: \"catalog\"} into cloning \u2014 do not paste seq/genbank\n    afterward. Never POST type catalog. Names case-sensitive; unknown: 404.\n    ","inputSchema":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"name":{"title":"Name","type":"string"}},"required":["name"],"title":"mitochondria_catalog_vector_getArguments","type":"object"},"name":"mitochondria_catalog_vector_get","outputSchema":{"properties":{"result":{"title":"Result","type":"string"}},"required":["result"],"title":"mitochondria_catalog_vector_getOutput","type":"object"}}]}
