Using petablint

petablint is a tool to validate a model against the PEtab standard. When you have installed PEtab, you can simply call it from the command line. It takes the following arguments:

!petablint -h
usage: petablint [-h] [-v] [-s SBML_FILE_NAME] [-o OBSERVABLE_FILE_NAME]
                 [-m MEASUREMENT_FILE_NAME] [-c CONDITION_FILE_NAME]
                 [-p PARAMETER_FILE_NAME] [--vis VISUALIZATION_FILE_NAME]
                 [-y YAML_FILE_NAME]

Check if a set of files adheres to the PEtab format.

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         More verbose output
  -s SBML_FILE_NAME, --sbml SBML_FILE_NAME
                        SBML model filename
  -o OBSERVABLE_FILE_NAME, --observables OBSERVABLE_FILE_NAME
                        Observable table
  -m MEASUREMENT_FILE_NAME, --measurements MEASUREMENT_FILE_NAME
                        Measurement table
  -c CONDITION_FILE_NAME, --conditions CONDITION_FILE_NAME
                        Conditions table
  -p PARAMETER_FILE_NAME, --parameters PARAMETER_FILE_NAME
                        Parameter table
  --vis VISUALIZATION_FILE_NAME, --visualizations VISUALIZATION_FILE_NAME
                        Visualization table
  -y YAML_FILE_NAME, --yaml YAML_FILE_NAME
                        PEtab YAML problem filename

Let’s look at an example: In the example_Fujita folder, we have a PEtab configuration file Fujita.yaml telling which files belong to the Fujita model:

!cat example_Fujita/Fujita.yaml
parameter_file: Fujita_parameters.tsv
format_version: 1
problems:
- condition_files:
  - Fujita_experimentalCondition.tsv
  measurement_files:
  - Fujita_measurementData.tsv
  sbml_files:
  - Fujita_model.xml
  observable_files:
  - Fujita_observables.tsv

To verify everything is ok, we can just call:

!petablint -y example_Fujita/Fujita.yaml
Visualization table not available. Skipping.

If there were some inconsistency or error, we would see that here. petablint can be called in different ways. You can e.g. also pass SBML, measurement, condition, and parameter file directly, or, if the files follow PEtab naming conventions, you can just pass the model name.