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:

[1]:
!petablint -h
usage: petablint [-h] [-v] [-s SBML_FILE_NAME] [-m MEASUREMENT_FILE_NAME]
                 [-c CONDITION_FILE_NAME] [-p PARAMETER_FILE_NAME]
                 [-y YAML_FILE_NAME | -n MODEL_NAME] [-d DIRECTORY]

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
  -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
  -y YAML_FILE_NAME, --yaml YAML_FILE_NAME
                        PEtab YAML problem filename
  -n MODEL_NAME, --model-name MODEL_NAME
                        Model name where all files are in the working
                        directory and follow PEtab naming convention.
                        Specifying -[smcp] will override defaults
  -d DIRECTORY, --directory DIRECTORY

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:

[2]:
!cat example_Fujita/Fujita.yaml
parameter_file: Fujita_parameters.tsv
petab_version: 0.0.0a17
problems:
- condition_files:
  - Fujita_experimentalCondition.tsv
  measurement_files:
  - Fujita_measurementData.tsv
  sbml_files:
  - Fujita_model.xml

To verify everything is ok, we can just call:

[3]:
!petablint -y example_Fujita/Fujita.yaml

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.