{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-dna-consensus-alignment-create-schema.json", "title": "DnaConsensusAlignmentCreate", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-dna-alignments-api-openapi.yml#/components/schemas/DnaConsensusAlignmentCreate", "additionalProperties": false, "allOf": [ { "$ref": "#/$defs/DnaAlignmentBase" }, { "properties": { "newSequence": { "properties": { "folderId": { "type": "string" } }, "type": "object" }, "sequenceId": { "type": "string" } } } ], "$defs": { "ClustaloOptions": { "description": "Options to pass to the ClustalO algorithm, only applicable for ClustalO.", "properties": { "maxGuidetreeIterations": { "default": -1, "description": "Max guide tree iterations within combined iterations. Use -1 for no max (all iterations will include guide tree iterations).", "maximum": 5, "minimum": -1, "type": "integer" }, "maxHmmIterations": { "default": -1, "description": "Max HMM iterations within combined iterations. Use -1 for no max (all iterations will include HMM iterations).", "maximum": 5, "minimum": -1, "type": "integer" }, "mbedGuideTree": { "default": true, "description": "Whether mBed-like clustering guide tree should be used (faster to use it).", "type": "boolean" }, "mbedIteration": { "default": true, "description": "Whether mBed-like clustering iteration should be used (faster to use it).", "type": "boolean" }, "numCombinedIterations": { "default": 0, "description": "Number of (combined guide-tree/HMM) iterations.", "maximum": 5, "minimum": 0, "type": "integer" } }, "type": "object" }, "DnaAlignmentBase": { "properties": { "algorithm": { "enum": [ "mafft", "clustalo" ], "type": "string" }, "clustaloOptions": { "$ref": "#/$defs/ClustaloOptions" }, "files": { "items": { "oneOf": [ { "properties": { "sequenceId": { "type": "string" } }, "type": "object" }, { "$ref": "#/$defs/DnaTemplateAlignmentFile" } ] }, "type": "array" }, "mafftOptions": { "$ref": "#/$defs/MafftOptions" }, "name": { "type": "string" } }, "required": [ "algorithm", "files" ], "type": "object" }, "DnaTemplateAlignmentFile": { "properties": { "data": { "format": "byte", "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "MafftOptions": { "description": "Options to pass to the MAFFT algorithm, only applicable for MAFFT.", "properties": { "adjustDirection": { "default": "fast", "description": "Adjust direction:\n * `fast`: Enabled, quickly.\n * `accurate`: Enabled, accurately (slow).\n * `disabled`: Disabled, fastest.\n", "enum": [ "fast", "accurate", "disabled" ], "type": "string" }, "gapExtensionPenalty": { "default": 0.0, "description": "Gap extension penalty.", "type": "number" }, "gapOpenPenalty": { "default": 1.53, "description": "Gap open penalty.", "type": "number" }, "maxIterations": { "default": 0, "description": "Max refinement iterations. Not applicable for auto strategy, as it will be selected automatically.", "type": "integer" }, "retree": { "default": 2, "description": "Tree rebuilding. Only used for 6-mer strategy.", "type": "integer" }, "strategy": { "default": "auto", "description": "MAFFT Strategy:\n * `auto`: Pick a strategy automatically based on the count and size of inputs.\n * `sixmer`: Use 6-mer distance for constructing the guide tree.\n * `localpair`: Compute local pairwise alignments using Smith-Waterman for constructing the guide tree and iterative refinement.\n * `globalpair`: Compute global pairwise alignments using Needleman-Wunsch for constructing the guide tree and iterative refinement.\n", "enum": [ "auto", "sixmer", "localpair", "globalpair" ], "type": "string" } }, "type": "object" } } }