diff --git a/api/spec/openapi_3_1_0_generated.yaml b/api/spec/openapi_3_1_0_generated.yaml new file mode 100644 index 00000000..37b0fa1f --- /dev/null +++ b/api/spec/openapi_3_1_0_generated.yaml @@ -0,0 +1,923 @@ +openapi: 3.1.0 +info: + title: bio-compose + version: 1.12.0 +paths: + /: + get: + summary: Root + operationId: root__get + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + /run-smoldyn: + post: + tags: + - Simulation Execution + summary: Run a smoldyn simulation. + operationId: run-smoldyn + parameters: + - name: duration + in: query + required: false + schema: + type: integer + description: Simulation Duration + title: Duration + description: Simulation Duration + - name: dt + in: query + required: false + schema: + type: number + description: Interval of step with which simulation runs + title: Dt + description: Interval of step with which simulation runs + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_run-smoldyn' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmoldynRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /run-utc: + post: + tags: + - Simulation Execution + summary: Run a Uniform Time Course simulation. + operationId: run-utc + parameters: + - name: start + in: query + required: true + schema: + type: integer + description: Starting time for utc + title: Start + description: Starting time for utc + - name: end + in: query + required: true + schema: + type: integer + description: Simulation Duration + title: End + description: Simulation Duration + - name: steps + in: query + required: true + schema: + type: integer + description: Number of points for utc + title: Steps + description: Number of points for utc + - name: simulator + in: query + required: true + schema: + type: string + description: 'Simulator to use (one of: amici, copasi, tellurium, vcell)' + title: Simulator + description: 'Simulator to use (one of: amici, copasi, tellurium, vcell)' + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_run-utc' + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /verify-omex: + post: + tags: + - Verification + summary: Compare UTC outputs from a deterministic SBML model within an OMEX/COMBINE + archive. + operationId: verify-omex + parameters: + - name: simulators + in: query + required: false + schema: + type: array + items: + type: string + description: List of simulators to compare + default: + - amici + - copasi + - pysces + - tellurium + title: Simulators + description: List of simulators to compare + - name: include_outputs + in: query + required: false + schema: + type: boolean + description: Whether to include the output data on which the comparison + is based. + default: true + title: Include Outputs + description: Whether to include the output data on which the comparison is + based. + - name: selection_list + in: query + required: false + schema: + anyOf: + - type: array + items: + type: string + - type: 'null' + description: List of observables to include in the return data. + title: Selection List + description: List of observables to include in the return data. + - name: comparison_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Descriptive prefix to be added to this submission's job ID. + title: Comparison Id + description: Descriptive prefix to be added to this submission's job ID. + - name: rTol + in: query + required: false + schema: + anyOf: + - type: number + - type: 'null' + description: Relative tolerance to use for proximity comparison. + title: Rtol + description: Relative tolerance to use for proximity comparison. + - name: aTol + in: query + required: false + schema: + anyOf: + - type: number + - type: 'null' + description: Absolute tolerance to use for proximity comparison. + title: Atol + description: Absolute tolerance to use for proximity comparison. + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_verify-omex' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OmexVerificationRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /verify-sbml: + post: + tags: + - Verification + summary: Compare UTC outputs from a deterministic SBML model. + operationId: verify-sbml + parameters: + - name: start + in: query + required: true + schema: + type: integer + description: Start time of the simulation (output start time) + title: Start + description: Start time of the simulation (output start time) + - name: end + in: query + required: true + schema: + type: integer + description: End time of simulation (end) + title: End + description: End time of simulation (end) + - name: steps + in: query + required: true + schema: + type: integer + description: Number of simulation steps to run + title: Steps + description: Number of simulation steps to run + - name: simulators + in: query + required: false + schema: + type: array + items: + type: string + description: List of simulators to compare + default: + - amici + - copasi + - pysces + - tellurium + title: Simulators + description: List of simulators to compare + - name: include_outputs + in: query + required: false + schema: + type: boolean + description: Whether to include the output data on which the comparison + is based. + default: true + title: Include Outputs + description: Whether to include the output data on which the comparison is + based. + - name: comparison_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Descriptive prefix to be added to this submission's job ID. + title: Comparison Id + description: Descriptive prefix to be added to this submission's job ID. + - name: rTol + in: query + required: false + schema: + anyOf: + - type: number + - type: 'null' + description: Relative tolerance to use for proximity comparison. + title: Rtol + description: Relative tolerance to use for proximity comparison. + - name: aTol + in: query + required: false + schema: + anyOf: + - type: number + - type: 'null' + description: Absolute tolerance to use for proximity comparison. + title: Atol + description: Absolute tolerance to use for proximity comparison. + - name: selection_list + in: query + required: false + schema: + anyOf: + - type: array + items: + type: string + - type: 'null' + description: List of observables to include in the return data. + title: Selection List + description: List of observables to include in the return data. + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_verify-sbml' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SbmlVerificationRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /get-smoldyn-output/{job_id}: + get: + tags: + - Results + summary: Get the results of an existing Smoldyn simulation run as either a downloadable + file or job progression status. + operationId: get-smoldyn-output + parameters: + - name: job_id + in: path + required: true + schema: + type: string + title: Job Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /get-verification-output/{job_id}: + get: + tags: + - Results + summary: Get the results of an existing verification run. + operationId: get-verification-output + parameters: + - name: job_id + in: path + required: true + schema: + type: string + title: Job Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/VerificationOutput' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /get-output/{job_id}: + get: + tags: + - Results + summary: Get the results of an existing simulation run. + operationId: get-output + parameters: + - name: job_id + in: path + required: true + schema: + type: string + title: Job Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /generate-simularium-file: + post: + tags: + - Files + summary: Generate a simularium file with a compatible simulation results file + from either Smoldyn, SpringSaLaD, or ReaDDy. + operationId: generate-simularium-file + parameters: + - name: box_size + in: query + required: true + schema: + type: number + description: Size of the simulation box as a floating point number. + title: Box Size + description: Size of the simulation box as a floating point number. + - name: filename + in: query + required: false + schema: + type: string + description: 'Name desired for the simularium file. NOTE: pass only the + file name without an extension.' + title: Filename + description: 'Name desired for the simularium file. NOTE: pass only the file + name without an extension.' + - name: translate_output + in: query + required: false + schema: + type: boolean + description: Whether to translate the output trajectory prior to converting + to simularium. See simulariumio documentation for more details. + default: true + title: Translate Output + description: Whether to translate the output trajectory prior to converting + to simularium. See simulariumio documentation for more details. + - name: validate_output + in: query + required: false + schema: + type: boolean + description: Whether to validate the outputs for the simularium file. See + simulariumio documentation for more details. + default: true + title: Validate Output + description: Whether to validate the outputs for the simularium file. See + simulariumio documentation for more details. + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_generate-simularium-file' + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /get-compatible-for-verification: + post: + tags: + - Files + summary: Get the simulators that are compatible with either a given OMEX/COMBINE + archive or SBML model simulation. + operationId: get-compatible-for-verification + parameters: + - name: versions + in: query + required: false + schema: + type: boolean + description: Whether to include the simulator versions for each compatible + simulator. + default: false + title: Versions + description: Whether to include the simulator versions for each compatible + simulator. + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/Body_get-compatible-for-verification' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CompatibleSimulators' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' +components: + schemas: + AgentParameter: + properties: + name: + type: string + title: Name + radius: + anyOf: + - type: number + - type: 'null' + title: Radius + mass: + anyOf: + - type: number + - type: 'null' + title: Mass + density: + anyOf: + - type: number + - type: 'null' + title: Density + type: object + required: + - name + - radius + - mass + - density + title: AgentParameter + AgentParameters: + properties: + agents: + items: + $ref: '#/components/schemas/AgentParameter' + type: array + title: Agents + type: object + required: + - agents + title: AgentParameters + Body_generate-simularium-file: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: A file containing results that can be parse by Simularium (spatial). + agent_parameters: + $ref: '#/components/schemas/AgentParameters' + description: Parameters for the simularium agents defining either radius + or mass and density. + type: object + required: + - uploaded_file + title: Body_generate-simularium-file + Body_get-compatible-for-verification: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: Either a COMBINE/OMEX archive or SBML file to be simulated. + type: object + required: + - uploaded_file + title: Body_get-compatible-for-verification + Body_run-smoldyn: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: Smoldyn Configuration File + type: object + required: + - uploaded_file + title: Body_run-smoldyn + Body_run-utc: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: SBML File + type: object + required: + - uploaded_file + title: Body_run-utc + Body_verify-omex: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: OMEX/COMBINE archive containing a deterministic SBML model + type: object + required: + - uploaded_file + title: Body_verify-omex + Body_verify-sbml: + properties: + uploaded_file: + type: string + format: binary + title: Uploaded File + description: A deterministic SBML model. + type: object + required: + - uploaded_file + title: Body_verify-sbml + CompatibleSimulators: + properties: + file: + type: string + title: File + simulators: + items: + $ref: '#/components/schemas/Simulator' + type: array + title: Simulators + type: object + required: + - file + - simulators + title: CompatibleSimulators + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + ObservableData: + properties: + observable_name: + type: string + title: Observable Name + mse: + type: object + title: Mse + proximity: + type: object + title: Proximity + output_data: + additionalProperties: + anyOf: + - items: + type: number + type: array + - type: string + type: object + title: Output Data + type: object + required: + - observable_name + - mse + - proximity + - output_data + title: ObservableData + OmexVerificationRun: + properties: + job_id: + type: string + title: Job Id + timestamp: + type: string + title: Timestamp + status: + type: string + title: Status + path: + type: string + title: Path + simulators: + items: + type: string + type: array + title: Simulators + include_outputs: + anyOf: + - type: boolean + - type: 'null' + title: Include Outputs + default: true + selection_list: + anyOf: + - items: + type: string + type: array + - type: 'null' + title: Selection List + comparison_id: + anyOf: + - type: string + - type: 'null' + title: Comparison Id + rTol: + anyOf: + - type: number + - type: 'null' + title: Rtol + aTol: + anyOf: + - type: number + - type: 'null' + title: Atol + type: object + required: + - job_id + - timestamp + - status + - path + - simulators + title: OmexVerificationRun + SbmlVerificationRun: + properties: + job_id: + type: string + title: Job Id + timestamp: + type: string + title: Timestamp + status: + type: string + title: Status + path: + type: string + title: Path + simulators: + items: + type: string + type: array + title: Simulators + include_outputs: + anyOf: + - type: boolean + - type: 'null' + title: Include Outputs + default: true + selection_list: + anyOf: + - items: + type: string + type: array + - type: 'null' + title: Selection List + comparison_id: + anyOf: + - type: string + - type: 'null' + title: Comparison Id + rTol: + anyOf: + - type: number + - type: 'null' + title: Rtol + aTol: + anyOf: + - type: number + - type: 'null' + title: Atol + start: + type: integer + title: Start + end: + type: integer + title: End + steps: + type: integer + title: Steps + type: object + required: + - job_id + - timestamp + - status + - path + - simulators + - start + - end + - steps + title: SbmlVerificationRun + Simulator: + properties: + name: + type: string + title: Name + version: + anyOf: + - type: string + - type: 'null' + title: Version + type: object + required: + - name + title: Simulator + SimulatorRMSE: + properties: + simulator: + type: string + title: Simulator + rmse_scores: + additionalProperties: + type: number + type: object + title: Rmse Scores + type: object + required: + - simulator + - rmse_scores + title: SimulatorRMSE + SmoldynRun: + properties: + job_id: + type: string + title: Job Id + timestamp: + type: string + title: Timestamp + status: + type: string + title: Status + path: + type: string + title: Path + simulators: + items: + type: string + type: array + title: Simulators + default: + - smoldyn + duration: + anyOf: + - type: integer + - type: 'null' + title: Duration + dt: + anyOf: + - type: number + - type: 'null' + title: Dt + type: object + required: + - job_id + - timestamp + - status + - path + title: SmoldynRun + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + VerificationOutput: + properties: + job_id: + type: string + title: Job Id + timestamp: + type: string + title: Timestamp + status: + type: string + title: Status + source: + anyOf: + - type: string + - type: 'null' + title: Source + requested_simulators: + anyOf: + - items: + type: string + type: array + - type: 'null' + title: Requested Simulators + results: + anyOf: + - items: + anyOf: + - $ref: '#/components/schemas/ObservableData' + - $ref: '#/components/schemas/SimulatorRMSE' + - {} + type: array + - type: object + - type: 'null' + title: Results + type: object + required: + - job_id + - timestamp + - status + title: VerificationOutput + description: "Return schema for get-verification-output.\n\nParameters:\n \ + \ job_id: str\n timestamp: str\n status: str --> may be COMPLETE, IN_PROGRESS,\ + \ FAILED, or PENDING\n source: str\n requested_simulators: List[str]\n\ + \ results: Optional[dict] = None TODO: parse this"