Skip to content

Overview

An assay records how a scientific instrument was run to consume samples and generate data. It sits between the input (Sample) and the output (Dataset) in the lineage of every experiment tracked in LabID, capturing the platform, chemistry, run parameters and any other metadata needed to reproduce or publish the result.

Paired-end sequencing assay

A paired-end sequencing assay records a sequencer (instrument) consuming a sequencing library (sample) to generate two FASTQ files (a dataset).

Assay in the sample lineage

The assay is the join between input and output:

  • Sample Assay Dataset
An Assay consumes one or more Samples and produces one or more Datasets.

Because the assay carries the technology-specific metadata (flowcell, chemistry, imaging channel, mass range, …), the sample model can stay technology-agnostic and the dataset stays a plain file container. See Supported platforms & technologies for the built-in list.

Assay types

Assays are strongly typed: each technology has its own assay type with a tailored form. Built-in types cover sequencing (Illumina, Nanopore, PacBio, AVITI), light and electron microscopy, X-Ray (incl. Tomography), Mass Spectrometry (Proteomics, Metabolomics), and a generic Other fallback. Assay types are grouped by Domain

If a technology you use is not on the list, an admin can add a new assay type — see Add a new Assay Type.

Assay lifecycle

An assay carries a state that reflects how far along data registration is. The state is set by the data-loading process — we don't set it by hand. But understanding it helps read what LabID shows on the assay page and what actions you can perform.

Five states, four transitions:

State Meaning
NEW Just created. Metadata being filled in; no run_dir on disk required yet.
INCOMING Data acquisition is under way. run_dir must be set — the system is watching the directory for the incoming files.
INITIALIZED Files landed in run_dir (path exists on disk). Most fields are now locked; only ownership and permissions can still change.
REGISTERED Data is officially registered against the assay. Terminal state; the record is immutable except for admin edits.
TEMPLATE Parked as a blueprint for cloning into new assays. Cannot have a run_dir and never transitions further.

Allowed transitions:

NEW ──► INCOMING ──► INITIALIZED ──► REGISTERED
 │                                        ▲
 └────────────── (fast-path) ─────────────┘

TEMPLATE ──► (no transitions — clone-only)

Which path an assay takes depends on how the data is loaded:

  • Managed / incoming data (e.g. EMBL GeneCoreFacility imported Illumina runs, other trusted sources): the assay is created NEW, moved to INCOMING as soon as run_dir is set, then to INITIALIZED when the files actually appear on disk, and finally to REGISTERED once the user confirms the metadata. This is the long path with the built-in "waiting for data" step.
  • Manual raw-dataset registration: the user already has the files, provides them together with the metadata, and the assay jumps straight from NEW to REGISTERED.
  • Template creation: the assay is parked at TEMPLATE and is only ever used as a starting point for cloning — see Templates.

run_dir is the gate to registration

Every transition out of NEW (except the fast-path directly to REGISTERED) requires run_dir to be set, and INITIALIZED / REGISTERED additionally require it to exist on the filesystem. If a transition is refused, checking run_dir is usually the first thing to do.