Configuration

Pipeline behaviour is controlled by a config.toml file. User settings are deep-merged on top of the built-in defaults in src/larest/defaults.toml, so you only need to set values that differ from defaults.

A minimal starting point is config/example.config. The full reference is config/reference.toml.

[reaction]

The most important section — defines what to compute.

[reaction]
type = "RER"                         # "RER" (no initiator) or "ROR" (with initiator)
monomers = ["O=C1OCC1"]             # list of monomer SMILES
lengths = [2, 3, 4]                  # polymer chain lengths to evaluate
initiator = "C1=CC=C(C=C1)CO"       # initiator SMILES (required for ROR only)
  • RER (Ring Equilibrium Reaction) requires lengths >= 2.

  • ROR (Ring-Opening polymerization Reaction) requires lengths >= 1 and an initiator SMILES.

[parallelisation]

Set the core count once; it propagates to every stage automatically.

[parallelisation]
n_cores = 16

Stage

Config key set

CLI flag

RDKit

[rdkit].n_cores

(internal)

xTB

[xtb].parallel

--parallel N

CREST confgen

[crest.confgen].T

--T N

CREST entropy

[crest.entropy].T

--T N

CENSO

[censo.cli].maxcores

--maxcores N

Override a specific stage by setting its key directly:

[parallelisation]
n_cores = 16

[censo.cli]
maxcores = 8    # CENSO uses fewer cores (e.g. limited by ORCA memory)

[steps]

Toggle individual pipeline stages on or off.

[steps]
rdkit = true          # RDKit conformer generation + xTB ranking
crest_confgen = true  # CREST conformer ensemble
censo = true          # CENSO DFT refinement
crest_entropy = true  # CREST conformational entropy correction
xtb = true            # xTB re-ranking after rdkit and crest_confgen

[rdkit]

Controls MMFF conformer generation.

Key

Default

Description

n_conformers

50

Number of conformers to generate

n_cores

1

CPU cores for parallel embedding

mmff

"MMFF94"

MMFF variant: "MMFF94" or "MMFF94s"

random_seed

42

Seed for reproducibility

[xtb]

All keys (except etemp) are passed directly as CLI flags to the xtb binary.

Key

Default

Description

etemp

298.15

Electronic temperature (K); used to derive S = (H − G) / T

gfn

2

GFN-xTB method level (0, 1, 2)

alpb

"toluene"

ALPB implicit solvent

ohess

"vtight"

Hessian level after optimisation

parallel

1

Number of CPU threads

[crest.confgen] and [crest.entropy]

All keys are passed directly as CLI flags to the crest binary. Separate sections control conformer generation and entropy calculation.

Key

Default

Description

T

1

Number of CPU threads

gfn2 / gfnff

Level of theory

alpb

"toluene"

ALPB implicit solvent

ewin

6.0

Energy window for ensemble (kcal/mol)

rthr

0.125

RMSD threshold for deduplication (Å)

[censo.*]

Controls the four CENSO DFT sub-stages. Each sub-stage (prescreening, screening, optimization, refinement) has its own section.

Key

Description

func

DFT functional

basis

Basis set

sm

Solvation model ("smd", "cpcm", "cosmo")

threshold

Energy window for ensemble pruning (kcal/mol)

The [censo.general] section sets global CENSO settings:

Key

Default

Description

temperature

298.15

Temperature (K)

solvent

"toluene"

Solvent for implicit solvation

Boolean flags

For [xtb] and [crest.*] sections, boolean values are translated to CLI flags:

  • true--flag

  • false → flag is omitted entirely

  • scalar → --key value