Parameters
Note about BayBE
Catalyst uses BayBE under the hood. BayBE may evolve over time. This page explains parameters in non-technical terms as they are used in Catalyst today. For the detailed technical reference that Catalyst is aligned with, see the BayBE 0.13.2
Experiments in Catalyst use parameters to describe the knobs you can turn in each trial. This page summarizes BayBE's view on parameters, and connects it to what you see in the Parameters step of the Create Experiment wizard.
Parameters define the search space (the set of possible trial settings) BayBE is allowed to explore.
Where you see parameters in Catalyst
In the Create Experiment wizard, parameters are configured in the Parameters step.

In this step you typically:
- Add one or more parameters
- Choose a parameter type
- Provide a range (numeric) or allowed options (categorical/substance)
What makes the Parameters step "invalid"
Your UI should block progress when:
- No parameters are defined
- Any parameter has validation errors (e.g., missing range, invalid min/max, empty options list)
BayBE needs a well-defined search space to recommend trials.
What is a parameter?
A parameter is an input you control when you run a trial. Examples:
- Temperature, time, concentration, pH setpoint
- Stir rate, feed rate
- Solvent choice (categorical)
- Ligand or additive identity (substance)
In BayBE terms, parameters define the space of candidate experiments.
Parameter types
Typical parameter types:
- Continuous: any real value in a range (e.g., 150.0–200.0)
- Discrete: whole numbers in a range (e.g., 20–35)
- Categorical: pick one from a list (e.g.,
solvent ∈ {A, B, C}) - Substance: a chemistry-aware choice from a list, where each option represents a chemical substance (for example, ligands or additives identified by SMILES or another consistent identifier)
Practical example (reaction/process)
For a reaction or process experiment, parameters could be:
-
Temperature (°C)
- Type: continuous
- Example range: 60–90 °C
-
Stirring speed (rpm)
- Type: discrete
- Example range: 200–800 rpm
-
Solvent
- Type: categorical
- Example options:
Solvent_A,Solvent_B,Solvent_C
-
Ligand (chemical)
- Type: substance
- Example options: a curated list of ligands, each represented consistently (e.g., by SMILES)
Each combination of these values is one candidate trial that BayBE might suggest.
When to use "Substance" vs "Categorical"
- Use Categorical when the option is just a label (e.g.,
Vendor_AvsVendor_B,Method_1vsMethod_2). - Use Substance when the option is a chemical identity and you want BayBE to potentially leverage chemical encodings or similarity.
Everyday example
Using the cake example from the Concepts page, typical parameters in Catalyst could be:

-
oven_temperature (deg C)
- Type: continuous
- Example range: 150–200 deg C
-
baking_time (minutes)
- Type: discrete
- Example range: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
-
sugar_white (grams) and sugar_brown (grams)
- Type: continuous or discrete (depending on how you measure/record)
- Together, these can be used later in a constraint like
sugar_white + sugar_brown <= 300grams
-
sugar_type (if you use a single "type" instead of separate amounts)
- Type: categorical
- Example options:
white,brown,mix
Defining parameters this way makes it clear how they will be used later in the Constraints step (for example, by combining sugar_white and sugar_brown in a sum rule).
Ranges and options
Numeric parameters
- Require min < max
- Encourage realistic ranges: wide enough to learn, but not so wide you include settings you’d never run
Categorical/Substance parameters
- Require at least 2 options (otherwise there’s nothing to learn)
- Keep options curated and consistent (avoid "free text" that creates spelling variants or duplicate substances)
How BayBE uses parameters (plain language)
BayBE learns the relationship:
parameter settings → target results
Then it recommends new parameter settings to test next, balancing:
- Exploration: try areas with little data
- Exploitation: refine around what already looks best
Practical tips
- Don’t include parameters that never change.
- Start with a few important parameters; expand later.
- Keep units explicit (°C vs K, minutes vs seconds).
- When working with chemistry, choose substance identifiers that are stable and unambiguous.
- If a setting is unsafe or impossible, encode that as a constraint.
Further reading
- BayBE Parameters: https://emdgroup.github.io/baybe/0.13.2/userguide/parameters.html
- BayBE Search Spaces: https://emdgroup.github.io/baybe/0.13.2/userguide/searchspace.html