Tutorial 05

June 15, 2026 · View on GitHub

The right settings depend on your goal: fast candidate paths want greedy, ultrashort, geometric-CV runs; quantitative free energies/kinetics want longer segments, a learned CV, and a downstream stage. A profile switches the whole bundle with one key.

In input.yaml

pathgennie:
  profile: discovery      # greedy, ultrashort, geometric CV (the original regime)
  devices: [0, 1]         # explicit keys still override / extend the profile

or

pathgennie:
  profile: sampling       # longer tau, learned CV, feeds weighted ensemble
  seed: 7

Profile values fill in only where you did not set a key — explicit always wins, and omitting profile leaves old configs unchanged.

In Python

from pathgennie.core.strategy import resolve_profile, get_profile, PROFILES

print(list(PROFILES))                      # ['discovery', 'sampling']

cfg = resolve_profile({"profile": "sampling", "tau1_steps": 30})
print(cfg["tau1_steps"])   # 30  (explicit wins)
print(cfg["cv"])           # 'learned'  (from the profile)
print(cfg["downstream"])   # 'weighted_ensemble'

get_profile("discovery")   # the RunProfile dataclass with all defaults

The learned-CV guard

If you pick a learned CV but keep ultrashort segments, the guard warns:

from pathgennie.core.strategy import check_learned_cv_segment_length
check_learned_cv_segment_length(2, 8, timestep_ps=0.002)    # warns, returns False
check_learned_cv_segment_length(50, 100, timestep_ps=0.002) # True

See strategy-profiles.md for the full table of preset values.