petab.yaml

Code regarding the PEtab YAML config files

Functions

assert_single_condition_and_sbml_file(...)

Check that there is only a single condition file and a single SBML file specified.

create_problem_yaml(sbml_files, ...[, ...])

Create and write default YAML file for a single PEtab problem

is_composite_problem(yaml_config)

Does this YAML file comprise multiple models?

load_yaml(yaml_config)

Load YAML

validate(yaml_config[, path_prefix])

Validate syntax and semantics of PEtab config YAML

validate_yaml_semantics(yaml_config[, ...])

Validate PEtab YAML file semantics

validate_yaml_syntax(yaml_config[, schema])

Validate PEtab YAML file syntax

write_yaml(yaml_config, filename)

Write PEtab YAML file

petab.yaml.assert_single_condition_and_sbml_file(problem_config: Dict) None[source]

Check that there is only a single condition file and a single SBML file specified.

Parameters

problem_config – Dictionary as defined in the YAML schema inside the problems list.

Raises

NotImplementedError – If multiple condition or SBML files specified.

petab.yaml.create_problem_yaml(sbml_files: Union[str, pathlib.Path, List[Union[str, pathlib.Path]]], condition_files: Union[str, pathlib.Path, List[Union[str, pathlib.Path]]], measurement_files: Union[str, pathlib.Path, List[Union[str, pathlib.Path]]], parameter_file: Union[str, pathlib.Path], observable_files: Union[str, pathlib.Path, List[Union[str, pathlib.Path]]], yaml_file: Union[str, pathlib.Path], visualization_files: Optional[Union[str, pathlib.Path, List[Union[str, pathlib.Path]]]] = None, relative_paths: bool = True) None[source]

Create and write default YAML file for a single PEtab problem

Parameters
  • sbml_files – Path of SBML model file or list of such

  • condition_files – Path of condition file or list of such

  • measurement_files – Path of measurement file or list of such

  • parameter_file – Path of parameter file

  • observable_files – Path of observable file or list of such

  • yaml_file – Path to which YAML file should be written

  • visualization_files – Optional Path to visualization file or list of such

  • relative_paths – whether all paths in the YAML file should be relative to the location of the YAML file. If False, then paths are left unchanged.

petab.yaml.is_composite_problem(yaml_config: Union[Dict, str, pathlib.Path]) bool[source]

Does this YAML file comprise multiple models?

Parameters

yaml_config – PEtab configuration as dictionary or YAML file name

petab.yaml.load_yaml(yaml_config: Union[Dict, pathlib.Path, str]) Dict[source]

Load YAML

Convenience function to allow for providing YAML inputs as filename, URL or as dictionary.

Parameters

yaml_config – PEtab YAML config as filename or dict or URL.

Returns

The unmodified dictionary if yaml_config was dictionary. Otherwise the parsed the YAML file.

petab.yaml.validate(yaml_config: Union[Dict, str, pathlib.Path], path_prefix: Optional[Union[str, pathlib.Path]] = None)[source]

Validate syntax and semantics of PEtab config YAML

Parameters
  • yaml_config – PEtab YAML config as filename or dict.

  • path_prefix – Base location for relative paths. Defaults to location of YAML file if a filename was provided for yaml_config or the current working directory.

petab.yaml.validate_yaml_semantics(yaml_config: Union[Dict, str, pathlib.Path], path_prefix: Optional[Union[str, pathlib.Path]] = None)[source]

Validate PEtab YAML file semantics

Check for existence of files. Assumes valid syntax.

Version number and contents of referenced files are not yet checked.

Parameters
  • yaml_config – PEtab YAML config as filename or dict.

  • path_prefix – Base location for relative paths. Defaults to location of YAML file if a filename was provided for yaml_config or the current working directory.

Raises

AssertionError – in case of problems

petab.yaml.validate_yaml_syntax(yaml_config: Union[Dict, str, pathlib.Path], schema: Union[None, Dict, str] = None)[source]

Validate PEtab YAML file syntax

Parameters
  • yaml_config – PEtab YAML file to validate, as file name or dictionary

  • schema – Custom schema for validation

Raises

see jsonschema.validate

petab.yaml.write_yaml(yaml_config: Dict[str, Any], filename: Union[str, pathlib.Path]) None[source]

Write PEtab YAML file

Parameters
  • yaml_config – Data to write

  • filename – File to create