LabBench

LabBench is driven by a simple problem: while research papers are excellent at communicating ideas, they often fall short when it comes to fully specifying experimental methods—something we’ve repeatedly encountered when reproducing studies, even in well-written papers. At the same time, modern experiments have become increasingly complex, requiring researchers to juggle data acquisition, real-time analysis, and decision-making during execution, placing a heavy cognitive burden on them.

Both issues can be addressed by shifting protocols into machine-readable, executable formats, where completeness is enforced because a computer cannot run an underspecified experiment, and where automation can take over repetitive or deterministic tasks. While general-purpose languages like Python make this technically possible, they introduce their own challenges: they are powerful but offer little guidance, leading to steep learning curves, inconsistent implementations, and poor reproducibility across labs.

LabBench addresses this by introducing a domain-specific language designed to standardise and simplify protocol definition, while remaining flexible and extensible through integration with general-purpose scripting—resulting in protocols that are both human-readable and directly executable.

What was needed

We saw a gap between how experiments are described and how they are actually executed. Protocols are typically written as free text, leaving room for interpretation, variation, and missing details, while execution often relies on manual steps that are both cognitively demanding and prone to error. This makes it difficult to reliably reproduce results—even when everyone is following the same procedure.

We needed a software tool to standardise protocols into a structured, machine-readable format and to combine them with programmatically controllable research devices, enabling experiments to be automated.

The result is not just better documentation, but consistent execution—reducing variability, lowering the burden on researchers, and making reproducibility practical rather than aspirational.

What was done

We created the LabBench software that allows protocols to be defined in a domain-specific language (the LabBench Language) and extended with Python code.

The software provides the following benefits:

  • Reduce the researcher’s workload by moving as much decision-making as possible from the experimental session to the study’s planning phase.
  • Reduce the technical competencies required to take advantage of scripted protocols by eliminating or drastically reducing the amount and complexity of code required to implement automatic scripting of an experiment.
  • Ensure all data is recorded consistently by removing the save button from the program. Data are automatically saved according to the study protocol.
  • Ensure that detailed logs are created throughout the experiment by automatically logging every program action during a session. Events outside of the program can be added to the log by the experimenter.
  • Facilitate data analysis by automatically recording all data in a machine-readable format.
  • Ameliorate dissemination and reproducibility by describing protocols in a simultaneous human and machine-readable format that includes the structure, execution, and parameters of the study.

In addition to the software, we created a set of research devices for quantitative sensory testing and general neuroscience experiments.

What was achieved

  • Software (LabBench) that allow experimental protocols to be automised and standardised.
  • A set of research equipment that are fully computer controlled, which enabled automated experimental procedures
  • Significantly reduced cost for clients when they need software, firmware or hardware fortheir research or medical products that can be based on components from LabBench and LabBench equipment. Examples of cases that have benefited from LabBench components:

Learn more