Collective Variable Predictions OF Elusive Transitions
cv-profet is a Python toolkit for building collective variables from infRETIS trajectory data and analyzing how well those variables predict rare, reactive transitions. The repository combines two main parts: the CV builder pipeline (CV_builder/main.py) and the PPA pipeline (ppa/analyze.py), both exposed through one public CLI: profet.
Install from the repository root with pip:
python3 -m pip install --upgrade pip
python3 -m pip install -e .Alternatively, use the helper script:
./install.shThis installs a single public command-line program:
profet
If needed in a custom HPC environment, you can point the launchers to the repository with:
export CV_PROFET_ROOT=/absolute/path/to/cv-profetprofet buildis the CV matrix builder and should always be the first step.profet screendetermines the predictive power (T) of each CV.profet diagnosegenerates CV diagnostics as a textfile report, overlap and CV distribution plots, and their integrals.- optional
profet tmatbuilds a T-matrix for varying combinations oflambda_candlambda_r. - optional
profet optimizecreates linear combinations of CVs and optimizes them based on predictive powerT.
Build CVs from a standard run layout:
profet build --toml infretis.toml
profet build --toml infretis.toml --overwriteBuild CVs with explicit input files:
profet build \
--toml pp.toml \
--h5-input simulation.h5 \
--load-dir load \
--data infretis_data.txtFor the full step-by-step guide, start with CV_builder/README.md.
In short:
- Implement or register your CV in a CV suite.
- Point
[cv_modules]in your TOML file to that suite. - Pass CV parameters in the same TOML key/value style you already use for order-parameter settings.
Reference implementations:
- CV_builder/CV_manager/minimal_suite.py shows how a suite is configured and how TOML parameters are accepted.
- CV_builder/CV_manager/cvs/cv_distance.py shows a minimal CV implementation pattern.
CV_builder/contains the CV matrix construction pipeline used byprofet build.ppa/contains predictive power analysis tools used byprofet screen,profet diagnose,profet tmat, andprofet optimize.run_CV_builder.slurmshows a typical SLURM submission workflow usingprofetcommands.
More detailed documentation:
Primary method papers:
- Analyzing Complex Reaction Mechanisms Using Path Sampling
- NaCl Dissociation Explored Through Predictive Power Path Sampling Analysis
infRETIS / RETIS background:
- Highly parallelizable path sampling with minimal rejections using asynchronous replica exchange and infinite swaps
- Exchanging Replicas with Unequal Cost, Infinitely and Permanently
- Reaction Rate Calculation by Parallel Path Swapping
Application papers: