7. WebMCAM¶
The MCAM can be accessed via a web interface for integration in other acquisition systems. The WebAPI provides you with power tools to integrate the capabilities of the MCAM within an automated workcell.
There are two typical flows for using the WebMCAM API:
Synchronous control. This is the easiest way to get started, but may cause slowdowns in your workcell.
Asynchronous control. This is more complex, but allows you to run the MCAM in parallel with other tasks within your workcell. Many have found this to be the best way to optimize movement of well plates within their workcell.
A typical usecase of the MCAM through the API is to issue the following commands
Open the MCAM
Initialize a movement to the sample_loading mechanical state.
Execute an Assay.
Move to the sample_unloading mechanical state.
Repeat steps 2-4 for the next well plate.
Synchronous control¶
The WebMCAM API is designed to be used synchronously and asynchronously, as shown in the following diagrams:
Asynchronous control¶
For more information, please see
Introduction to the WebMCAM
for additional setup and troubleshooting, or
WebAPI Retractable Tray Demo
for a demonstration on interacting with the WebMCAM.
For driver development please refer to the
WebAPI Driver Requirements Checklist
for a list of requirements and best practices.
Please contact Ramona Optics to discuss your usecase and to learn more about how to integrate the WebMCAM API into your workflow.
OpenAPI Specification¶
The openapi.yaml
file which fully describes the MCAM API can be
downloaded here
.
The endpoints are briefly described below.
WebMCAM endpoints¶
- GET /v1/analysis/assay/search¶
List available analysis assays.
- Status Codes:
200 OK – List of analysis assays available for usage.
400 Bad Request – Assay could not be run.
- GET /v1/analysis/assay/{assay_name}¶
MCAM Analysis Assay Information
Obtain the full analysis assay schema for customization
- Parameters:
assay_name (string)
- Status Codes:
200 OK – Assay executed successfully.
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- POST /v1/analysis/{assay_name}¶
MCAM Run Analysis Assay
Run the analysis assay on the given MCAM data
- Parameters:
assay_name (string)
- Query Parameters:
file_name (string) – (Required)
- Status Codes:
200 OK – Assay executed successfully.
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- GET /v1/analysis/{assay_name}/configuration¶
List available configurations for a given analysis assay
- Parameters:
assay_name (string)
- Status Codes:
200 OK – Successful Response
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/search¶
List available MCAMs for connection
- Status Codes:
200 OK – List of serial numbers of the available MCAMs.
- DELETE /v1/mcam/{serial_number}¶
Delete the connection to the given MCAM.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – Status of the MCAM after the given call finished executing.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}¶
Get the status of the MCAM with the given serial number.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – List of serial numbers of the available MCAMs.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}¶
Initiate connection with an MCAM with the given serial number.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – List of serial numbers of the available MCAMs.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/assay/result¶
MCAM Wait for Assay to Complete.
Used in conjunction with assay/start, this call block for the specified timeout until the results of the assay are available. To avoid blocking ensure that the status of the assay is completed before calling this endpoint.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – Assay executed successfully.
400 Bad Request – Assay could not be started.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}/assay/search¶
List available assays for the particular MCAM.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – List of assays available for usage with this particular MCAM.
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/assay/status¶
Request the status of the latest MCAM Assay.
Used in conjunction with assay/start, this call will report the status of the started after a success invocation of the start endpoint.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – Assay status.
400 Bad Request – Assay status could not be retrieved.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/assay/stop¶
Request to stop the assay using the MCAM.
Request to stop Start the assay on the given MCAM. The MCAM will attempt to honor the request at the next possible point in the assay runtime.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – Assay stop request has been successfully received.
400 Bad Request – Assay stop request could not be processed.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}/assay/{assay_name}¶
MCAM Assay Information
Obtain the full assay schema for customization
- Parameters:
serial_number (string)
assay_name (string)
- Status Codes:
200 OK – Assay executed successfully.
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/assay/{assay_name}¶
MCAM Run Assay
Run the assay on the given MCAM
- Parameters:
serial_number (string)
assay_name (string)
- Status Codes:
200 OK – Assay executed successfully.
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}/assay/{assay_name}/configuration¶
List available configurations for a given assay
- Parameters:
serial_number (string)
assay_name (string)
- Status Codes:
200 OK – Successful Response
400 Bad Request – Assay could not be run.
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/assay/{assay_name}/start¶
MCAM Start an Assay
Start the assay on the given MCAM. A call to wait will have to be issued to get the results of the assay.
- Parameters:
serial_number (string)
assay_name (string)
- Status Codes:
200 OK – Assay started successfully.
400 Bad Request – Assay could not be started.
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}/state¶
Get the current state of the MCAM
- Parameters:
serial_number (string)
- Status Codes:
200 OK – State changed successfully.
400 Bad Request – Bad Request
422 Unprocessable Entity – Validation Error
- POST /v1/mcam/{serial_number}/state¶
Set the state of the MCAM
- Parameters:
serial_number (string)
- Status Codes:
200 OK – State changed successfully.
400 Bad Request – State could not be changed
422 Unprocessable Entity – Validation Error
- GET /v1/mcam/{serial_number}/state/search¶
List of available states for the specific MCAM.
- Parameters:
serial_number (string)
- Status Codes:
200 OK – Available states successfully returned.
400 Bad Request – No information on available states could be returned.
422 Unprocessable Entity – Validation Error