Instrument data pipelines
FlaskTrack instrument data pipelines connect laboratory instruments and result files to controlled FlaskTrack records.
A data pipeline can receive a file or vendor run, preserve the original source artifact, parse the result into structured data, associate instrument positions with FlaskTrack records, and move the resulting run through review.
What the instrument pipeline does
A typical pipeline follows this path:
Instrument or instrument workstation
↓
FlaskTrack Instrument Agent
↓
Instrument ingestion
↓
Parser profile
↓
Instrument run
↓
Positions and observations
↓
Mapping
↓
Review
For cloud-hosted FlaskTrack deployments, the FlaskTrack server does not need direct access to a laboratory filesystem or private instrument network. The Instrument Agent runs inside the laboratory network and makes outbound connections to FlaskTrack.
Main parts of the system
Instruments
An Instrument represents the physical laboratory device. Examples include plate readers, liquid handlers, qPCR systems, spectrophotometers, balances, sequencers, chromatography systems, mass spectrometers, flow cytometers, and other laboratory equipment.
An instrument record can include its manufacturer, model, serial number, asset tag, storage or laboratory location, and current connection status.
Instrument Agents
An Instrument Agent is a small FlaskTrack process that runs on a computer inside the laboratory network. It can:
- monitor local folders;
- monitor mounted network shares;
- connect to supported vendor-local APIs such as an Opentrons Robot Server;
- retrieve its assigned connector configuration from FlaskTrack;
- upload artifacts over outbound HTTPS;
- retain pending work locally when FlaskTrack or the internet is temporarily unavailable.
See Install and run the Instrument Agent.
Connectors
A Connector describes how FlaskTrack obtains data from an instrument. For agent-backed deployments, the connector is assigned to the Instrument Agent that can reach the local file path or device.
Common examples:
- File watcher — watch a local directory for result files.
- Network share — watch a directory mounted from SMB, NFS, or another laboratory share.
- Opentrons — poll an Opentrons Robot Server available on the laboratory network.
See Configure connectors.
Parser profiles
A Parser Profile tells FlaskTrack how to interpret an incoming artifact. A parser converts a result file or vendor payload into a structured run with positions and observations.
See Parser profiles.
Ingestions
An Ingestion is the controlled record of a source artifact entering FlaskTrack. It keeps the source file, checksum, parser information, processing attempts, and resulting instrument run together.
See Ingestions and processing.
Runs and mappings
An Instrument Run is the parsed scientific result. Depending on the instrument, a run may contain plate wells, tube positions, samples, channels, measurements, timestamps, or other observations.
When FlaskTrack cannot safely determine what a source position represents, the run enters Mapping required. An operator can then map the position to a FlaskTrack Sample, Batch, Inventory Lot, protocol step run, batch step run, molecular sequence, or another supported target.
See Runs, mapping, and review.
Recommended first setup
For an instrument that exports CSV files, the typical first deployment is:
- Add the physical instrument to FlaskTrack.
- Create an Instrument Agent and copy its one-time key.
- Install the agent on a laboratory workstation or server that can access the instrument output folder.
- Initialize the agent with your FlaskTrack URL and the key.
- Create a File watcher connector and assign it to that agent.
- Select or create the appropriate parser profile.
- Run
flasktrack-agent doctorto verify the local path and FlaskTrack connection. - Allow the instrument to export a result file.
- Confirm the ingestion appears in FlaskTrack.
- Review any required position mappings and submit the run for review.
For a complete walkthrough, see Getting started.
Connection status
Instrument connection states can include:
| Status | Meaning |
|---|---|
| Unconfigured | The instrument does not yet have an active usable connection. |
| Offline | The configured connection has not recently been reachable. |
| Online | The connection is operating normally. |
| Degraded | The connection is available but requires attention. |
| Error | The connector or agent reported an error. |
| Disabled | The instrument or its connection is disabled. |
Permissions
Instrument and connector configuration is intended for organization administrators. Review and signature requirements depend on the run state and your organization's configured access controls.