ExpFlow Overview
ExpFlow is a research management software designed to promote data reusability and
analysis. In short, ExpFlow provides a customizable template for a scientist to encode
the steps of her experiment. The scientist can then use this template like a
fill-in-the-blank lab notebook to record measurements from an experiment run.
Additionally, the scientist can attach data files directly to her experiment measurements
where built-in calculators do the calculations.
ExpFlow records the materials, instruments, apparatus, and workflow (or series of actions) involved in an
experimental procedure. The data is divided into three categories for organization and reuse:
templates, experiments, and runs.
The customizable template allows researchers to document experimental steps, experiment specifies experiment
reagents and apparatus, and run works like a fill-in-the-blank lab notebook, where chemists record measurements
and attach data files. Built-in calculators perform calculations (e.g., peak splitting, peak potentials,
reversibility, diffusion coefficient, charge transfer rate, etc.). Procedural and experimental
data stored in ExpFlow are comprehensive and machine-readable (specifically via the JSON format) so as to
enhance reproducibility and enable translation of experiment procedures to robotic experiments.
A template can also be adapted to a robotic workflow, a machine-readable experiment outline
that can be used for directing robotic experiments.
Template
A user first builds a template that lists the reagent types, apparatus items, and workflow actions. For
example, in a basic cyclic voltammetry (CV) experiment to determine diffusion coefficient, the reagents
would include a redox_molecule
and solvent
. Likewise, the apparatus list might
include a beaker
, electrode_working
, electrode_reference
,
electrode_counter
, and electrochemical_cell
. Then, the scientist
must list the workflow actions for the experiment: transfer_liquid
to measure solvent and
transfer it to the beaker, transfer_solid
to measure the redox-active molecule and transfer it
to the beaker, heat_stir
the solution, measure_surface_area_of_working_electrode
,
and collect_cv_data
. There may be multiple data collection actions. For example, in this
example, the scientist might add five collect_cv_data
actions because the experiment
includes five CVs, each run at a different scan rate. Each action incorporates a standard action type,
starting and ending positions, and a brief description. Although these templates take time and effort to
produce, they can be reused for all related experiments. Additionally, an existing templated can be cloned
and modified, limiting the amount of time needed to construct new templates. Templates can also be shared
among ExpFlow users.
Experiment
One template can be used for many experiments with the same procedure. An experiment specifies the
template reagents. For example, the template described above might be used to create four experiments:
two for quinone in water then in acetonitrile, and two for anthraquinone in water then in acetonitrile.
Experiment Run
Once a scientist constructs an experiment, she may run that experiment any number of times. Experiment
runs record specific values such as times, weights, temperature, and raw data files. Each action type
(specified in the template-building step) includes a series of built-in run parameters. During an
experiment run, the user is prompted to fill in each of these run parameters. For example, the transfer_liquid
action type prompts the user to record the liquid’s exact volume, while the heat_stir
action type
prompts the user to record the temperature and the time of stirring. Data collection action types such
as collect_cv_data
prompts the user to upload a raw data file, in this case, the potentiostat output file.
Post-Run Processing and Calculators
After an experiment run, ExpFlow uses the
D3TaLES API
data parsers to extract data
from the uploaded experiment files. It also extracts key metadata from experiment run parameter data.
For example, it extracts the solution temperature from the
heat_stir
action and it calculates the
solution concentration from the
transfer_solid
and
transfer_liquid
actions. All extracted data is displayed
on a user interface where the scientist can inspect and approve the experiment run data. This user interface
also hosts the ExpFlow calculators for experiment runs with relevant data. For example, in the diffusion
coefficient experiment example, the scientist can calculate the diffusion coefficient from a run with the
push of a button.
Currently, ExpFlow contains data parsing for only cyclic voltammetry experiments, and it
hosts only calculators for diffusion coefficient and charge transfer rate. However, there are plans to
include parsing for IR and UV-Vis spectroscopy experiments and to build more processors.
Example: Simple CV Experiment
Consider a template a CV experiment to determine the diffusion coefficient might include redox-active molecule
and solvent reagents, a beaker/vial apparatus, and a potentiostat. Workflow actions might include
transferring the liquid solvent and solid solute to the beaker, heating and stirring the solution,
measuring the working electrode surface area, and collecting CV data. In this example, the user might
add five collect-CV-data actions because the experiment includes five CV scans, each performed at a
different scan rate. Although the Template can take time and effort to produce, it can be reused for
all related and subsequent experiments. This template might parent three experiments, each using a
different solvent (e.g., water, acetonitrile, and propylene carbonate). When collecting data, a user
runs a given experiment any number of times.
Notes for Specific Experiments
Calculating Diffusion Coefficient and Charge Transfer Rate
- The template must have a
heat
or heat_stir
action, which will determine temperature for the diffusion coefficient calculations.
- The template must have at least three
collect_cv_data
actions (and each uploaded CV file
in the experiment run should have a different scan rate).
- The
redox_molecule
and solvent
must be transferred to a beaker
type apparatus in order for concentration to be calculated.
Citing ExpFlow
Please cite the following work when using ExpFLow.
ExpFlow: a graphical user interface for automated reproducible electrochemistry, Digital Discovery, 2024,
DOI:
10.1039/D3DD00156C