Using parPE with Snakemake

parPE comes with some rudimentary Snakemake workflow.

Parameter estimation

A very basic Snakefile for parameter estimation is located in snakemake/. This workflow is adapted to a specific model via a YAML configuration file. An example is shown in ``snakemake/parpe_optimize_petab_steadystate.yaml` <../snakemake/parpe_optimize_petab_steadystate.yaml>`_.

An example

If parPE was built with examples, this workflow can be run after adapting some paths in the example config file. petab.root needs to be adapted to reflect your parPE build directory, and probably you want to change the output directories as well. The documented schema for this configuration file is provided in snakemake/config.schema.yaml.

After that you can run the full workflow with:

cd snakemake
snakemake --configfile parpe_optimize_petab_steadystate.yaml -- postprocess

This generates C++ code of the model, builds model specific binaries for parameter estimation, runs parameter estimation, and processes the results. After successful completion, you should see a file results/figures/cost_trajectory.png showing the optimizer trajectory.

The different snakemake targets are explained in the Snakefile and can be accessed using snakemake --list from the directory in which the Snakefile is located.

To use this workflow with a different PEtab problem, you should only need to adapt the configuration file.