PEtab – a data format for specifying parameter estimation problems in systems biology
PEtab is a data format for specifying parameter estimation problems in systems biology. This repository contains the PEtab specifications and additional documentation.
About PEtab
PEtab is built around SBML and based on tab-separated values (TSV) files. It is meant as a standardized way to provide information for parameter estimation, which is out of the current scope of SBML. This includes, for example:
Specifying and linking measurements to models
Defining model outputs
Specifying noise models
Specifying parameter bounds for optimization
Specifying multiple simulation conditions with potentially shared parameters
Documentation
Documentation of the PEtab data format is available at https://petab.readthedocs.io/en/latest/.
Contributing to PEtab
To participate in PEtab editor elections, discussions on new PEtab developments, or PEtab-related events, please join our petab-discuss mailing list.
Any contributions and feedback to PEtab are very welcome, see our contribution guide.
Examples
A wide range of PEtab examples can be found in the systems biology parameter estimation benchmark problem collection.
PEtab support in systems biology tools
Where PEtab is supported (in alphabetical order):
If your project or tool is using PEtab, and you would like to have it listed here, please let us know.
PEtab features supported in different tools
The following list provides an overview of supported PEtab features in different tools, based on passed test cases of the PEtab test suite:
ID |
Test |
AMICI |
Copasi |
D2D |
dMod |
MEIGO |
parPE |
PEtab.jl |
PumasQSP |
pyABC |
pyPESTO |
SBML2Julia |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
Basic simulation |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
2 |
Multiple simulation conditions |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
3 |
Numeric observable parameter overrides in measurement table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
4 |
Parametric observable parameter overrides in measurement table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
5 |
Parametric overrides in condition table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
6 |
Time-point specific overrides in the measurement table |
— |
— |
+++ |
+++ |
+++ |
— |
+++ |
— |
— |
— |
+++ |
7 |
Observable transformations to log10 scale |
+++ |
+++ |
+++ |
++- |
+++ |
–+ |
+++ |
+-+ |
+++ |
+++ |
+++ |
8 |
Replicate measurements |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
9 |
Pre-equilibration |
+++ |
— |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
10 |
Partial pre-equilibration |
+++ |
— |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
11 |
Numeric initial concentration in condition table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
+++ |
+++ |
+++ |
+++ |
12 |
Numeric initial compartment sizes in condition table |
— |
+++ |
+++ |
+++ |
+++ |
— |
+++ |
— |
— |
— |
+++ |
13 |
Parametric initial concentrations in condition table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
14 |
Numeric noise parameter overrides in measurement table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
15 |
Parametric noise parameter overrides in measurement table |
+++ |
+++ |
+++ |
+++ |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
16 |
Observable transformations to log scale |
+++ |
+++ |
+++ |
++- |
+++ |
–+ |
+++ |
— |
+++ |
+++ |
+++ |
Legend:
First character indicates whether computing simulated data is supported and simulations are correct (+) or not (-).
Second character indicates whether computing chi2 values of residuals are supported and correct (+) or not (-).
Third character indicates whether computing likelihoods is supported and correct (+) or not (-).
Using PEtab
If you would like to use PEtab yourself, please have a look at:
a PEtab tutorial going through the individual steps of setting up a parameter estimation problem in PEtab, independently of any specific software
the example models provided in the benchmark collection.
the tutorials provided with each of the softwares supporting PEtab
To convert your existing parameter estimation problem to the PEtab format, you will have to:
Specify your model in SBML.
Create a condition table.
Create a table of observables.
Create a table of measurements.
Create a parameter table.
Create a YAML file that lists the model and all of the tables above.
If you are using Python, some handy functions of the
PEtab library can help
you with that. This includes also a PEtab validator called petablint
which
you can use to check if your files adhere to the PEtab standard. If you have
further questions regarding PEtab, feel free to post an
issue at our GitHub repository.
PEtab Python library
PEtab comes with a Python package for creating, checking, visualizing and working with PEtab files. This package is available at https://github.com/PEtab-dev/libpetab-python/.
PEtab R library
There is also an R package for PEtab in development, which currently supports: consistent manipulation of experimental conditions, measurements, and observables; and visualizing measurements. It also provides an interface to the PEtab Python library, and an interface to dMod that supports: conversion of dMod models to SBML; and simulation and visualization of results. The package is available at https://github.com/dlill/petab/.
Getting help
If you have any questions or problems with PEtab, feel free to post them at our GitHub issue tracker.
- PEtab v1 specs
- PEtab v2 draft
- PEtab Tutorial