{ "$defs": { "Modification": { "additionalProperties": false, "properties": { "position": { "minimum": 1, "title": "Position", "type": "integer" }, "residue": { "maxLength": 1, "minLength": 1, "title": "Residue", "type": "string" }, "ccd": { "minLength": 1, "title": "Ccd", "type": "string" } }, "required": [ "position", "residue", "ccd" ], "title": "Modification", "type": "object" }, "Molecule": { "additionalProperties": false, "properties": { "sequence": { "title": "Sequence", "type": "string" }, "modifications": { "items": { "$ref": "#/$defs/Modification" }, "title": "Modifications", "type": "array" }, "bonds": { "items": { "maxItems": 4, "minItems": 4, "prefixItems": [ { "type": "integer" }, { "type": "string" }, { "type": "integer" }, { "type": "string" } ], "type": "array" }, "title": "Bonds", "type": "array" }, "n_terminus": { "default": "free", "title": "N Terminus", "type": "string" }, "c_terminus": { "default": "free", "title": "C Terminus", "type": "string" }, "smiles": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Smiles" } }, "required": [ "sequence" ], "title": "Molecule", "type": "object" }, "Requirement": { "additionalProperties": false, "properties": { "endpoint": { "title": "Endpoint", "type": "string" }, "unit": { "title": "Unit", "type": "string" }, "direction": { "enum": [ "ge", "le" ], "title": "Direction", "type": "string" }, "threshold": { "title": "Threshold", "type": "number" }, "assay": { "title": "Assay", "type": "string" }, "scale": { "exclusiveMinimum": 0, "title": "Scale", "type": "number" }, "required": { "default": true, "title": "Required", "type": "boolean" } }, "required": [ "endpoint", "unit", "direction", "threshold", "assay", "scale" ], "title": "Requirement", "type": "object" }, "Target": { "additionalProperties": false, "properties": { "id": { "title": "Id", "type": "string" }, "accession": { "title": "Accession", "type": "string" }, "molecule": { "$ref": "#/$defs/Molecule" }, "species": { "default": "Homo sapiens", "title": "Species", "type": "string" }, "compartment": { "title": "Compartment", "type": "string" }, "structure_paths": { "items": { "type": "string" }, "title": "Structure Paths", "type": "array" }, "construct_start": { "default": 1, "minimum": 1, "title": "Construct Start", "type": "integer" } }, "required": [ "id", "accession", "molecule", "compartment" ], "title": "Target", "type": "object" } }, "additionalProperties": false, "properties": { "episode_id": { "title": "Episode Id", "type": "string" }, "task": { "enum": [ "binding", "ptm", "ternary", "direction" ], "title": "Task", "type": "string" }, "objective": { "title": "Objective", "type": "string" }, "targets": { "items": { "$ref": "#/$defs/Target" }, "minItems": 1, "title": "Targets", "type": "array" }, "countertargets": { "items": { "$ref": "#/$defs/Target" }, "title": "Countertargets", "type": "array" }, "requirements": { "items": { "$ref": "#/$defs/Requirement" }, "minItems": 1, "title": "Requirements", "type": "array" }, "administration": { "title": "Administration", "type": "string" }, "peptide_format": { "default": "linear", "enum": [ "linear", "head_to_tail", "modified" ], "title": "Peptide Format", "type": "string" }, "sequence_lengths": { "items": { "type": "integer" }, "title": "Sequence Lengths", "type": "array" }, "budgets": { "additionalProperties": { "type": "number" }, "title": "Budgets", "type": "object" }, "seed": { "default": 2027, "title": "Seed", "type": "integer" } }, "required": [ "episode_id", "task", "objective", "targets", "requirements", "administration" ], "title": "DesignSpec", "type": "object" }