We encountered a recurring issue while developing Qvios: data was trapped inside workflow nodes, the individual steps within a workflow. Every new capability that needed to use that data became a special case in the existing model. We addressed this by treating data as a separate stream, creating a shared foundation for transforming data, driving experimental steps, and exporting results.

The limitation: data trapped inside workflow nodes

Consider a common example: a plate reader measures sample concentration, and a liquid handler normalizes the samples based on those measurements. Traditionally, this can involve exporting results from the plate reader, performing calculations in a spreadsheet, copying values between systems, or passing files between people and devices.

We built Qvios to connect these parts of laboratory work. Experimental data should move through an experiment as reliably as physical labware, even when the devices and systems involved do not speak a common language.

Before this update, the Qvios workflow engine carried data through the process as part of protocol nodes. Users could not easily see how the data was handled or control how it was transformed between steps.

The architectural change: separating data from labware

We separated measurements and other workflow information from the labware stream that represents physical samples and plates. Data is no longer only an output attached to a workflow node. It can flow independently as different nodes create, transform, and consume it.

Although data flows separately, it retains its sample identity. A measurement taken from a specific tube or well remains associated with that location throughout subsequent steps, so users do not need to match data points to samples manually.

The streams are separated internally, but the user experience remains unified. Qvios still presents the experiment as a single workflow that can be viewed and managed on one page.

normalizing samples at the end of sequencing experiment

Normalizing samples at the end of sequencing experiment. Data stream (cyan) separated from the labware stream (purple).

Capabilities enabled by the data layer

The data layer gives users direct access to experimental data and provides the necessary building blocks for expanding Qvios workflows. We began by introducing two nodes for transforming and exporting data.

Transforming data

The function node is the first major capability built on the new architecture. It takes a data stream as input, applies a user-defined function, and produces a new stream that other nodes can use.

In the plate-reader example, the function node transforms concentration measurements into the volumes required by the liquid handler. The same approach can generate other experimental values or calculate aggregates such as sums, averages, minimums, and maximums.

Exporting data

The file node converts experimental data into downloadable, structured records directly within a Qvios workflow. These files can support traceability, collaboration, downstream analysis, and recordkeeping.

The file node currently supports CSV and PDF. CSV enables data import into other laboratory systems such as a LIMS, while PDF supports printing and maintaining physical records.

A foundation for data-driven lab work

These new capabilities allow Qvios to process data as the experiment runs, adjust experimental parameters, and export results within the same workflow. In our example, Qvios reads the concentration measurements, calculates the required volumes, applies them to the correct samples, and records the results. No separate calculations, spreadsheets, or manual file transfers are needed between steps.

The newly added function and file nodes are just the beginning. The data layer provides a foundation for more complex workflow paths and for direct integrations with external systems.