petab.core

PEtab core functions (or functions that don’t fit anywhere else)

Functions

concat_tables(tables[, file_parser])

Concatenate DataFrames provided as DataFrames or filenames, and a parser

create_combine_archive(yaml_file, filename)

Create COMBINE archive (https://co.mbine.org/documents/archive) based on PEtab YAML file.

flatten_timepoint_specific_output_overrides(...)

Flatten timepoint-specific output parameter overrides.

get_notnull_columns(df, candidates)

Return list of df-columns in candidates which are not all null/nan.

get_observable_id(parameter_id)

Get PEtab observable ID from PEtab-style sigma or observable AssignmentRule-target parameter_id.

get_simulation_df(simulation_file)

Read PEtab simulation table

get_visualization_df(visualization_file)

Read PEtab visualization table

is_empty(val)

Check if the value val, e.g.

to_float_if_float(x)

Return input as float if possible, otherwise return as is

unique_preserve_order(seq)

Return a list of unique elements in Sequence, keeping only the first occurrence of each element

write_simulation_df(df, filename)

Write PEtab simulation table

write_visualization_df(df, filename)

Write PEtab visualization table

petab.core.concat_tables(tables: Union[str, pathlib.Path, pandas.core.frame.DataFrame, Iterable[Union[pandas.core.frame.DataFrame, str, pathlib.Path]]], file_parser: Optional[Callable] = None) pandas.core.frame.DataFrame[source]

Concatenate DataFrames provided as DataFrames or filenames, and a parser

Parameters
  • tables – Iterable of tables to join, as DataFrame or filename.

  • file_parser – Function used to read the table in case filenames are provided, accepting a filename as only argument.

Returns

The concatenated DataFrames

petab.core.create_combine_archive(yaml_file: Union[str, pathlib.Path], filename: Union[str, pathlib.Path], family_name: Optional[str] = None, given_name: Optional[str] = None, email: Optional[str] = None, organization: Optional[str] = None) None[source]

Create COMBINE archive (https://co.mbine.org/documents/archive) based on PEtab YAML file.

Parameters
  • yaml_file – Path to PEtab YAML file

  • filename – Destination file name

  • family_name – Family name of archive creator

  • given_name – Given name of archive creator

  • email – E-mail address of archive creator

  • organization – Organization of archive creator

petab.core.flatten_timepoint_specific_output_overrides(petab_problem: petab.problem.Problem) None[source]

Flatten timepoint-specific output parameter overrides.

If the PEtab problem definition has timepoint-specific observableParameters or noiseParameters for the same observable, replace those by replicating the respective observable.

This is a helper function for some tools which may not support such timepoint-specific mappings. The observable table and measurement table are modified in place.

Parameters

petab_problem – PEtab problem to work on

petab.core.get_notnull_columns(df: pandas.core.frame.DataFrame, candidates: Iterable)[source]

Return list of df-columns in candidates which are not all null/nan.

The output can e.g. be used as input for pandas.DataFrame.groupby.

Parameters
  • df – Dataframe

  • candidates – Columns of df to consider

petab.core.get_observable_id(parameter_id: str) str[source]

Get PEtab observable ID from PEtab-style sigma or observable AssignmentRule-target parameter_id.

e.g. for ‘observable_obs1’ -> ‘obs1’, for ‘sigma_obs1’ -> ‘obs1’

Parameters

parameter_id – Some parameter ID

Returns

Observable ID

petab.core.get_simulation_df(simulation_file: str) pandas.core.frame.DataFrame[source]

Read PEtab simulation table

Parameters

simulation_file – URL or filename of PEtab simulation table

Returns

Simulation DataFrame

petab.core.get_visualization_df(visualization_file: Union[str, pathlib.Path]) pandas.core.frame.DataFrame[source]

Read PEtab visualization table

Parameters

visualization_file – URL or filename of PEtab visualization table

Returns

Visualization DataFrame

petab.core.is_empty(val) bool[source]

Check if the value val, e.g. a table entry, is empty.

Parameters

val – The value to check.

Returns

Whether the field is to be considered empty.

petab.core.to_float_if_float(x: Any) Any[source]

Return input as float if possible, otherwise return as is

Parameters

x – Anything

Returns

x as float if possible, otherwise x

petab.core.unique_preserve_order(seq: Sequence) List[source]

Return a list of unique elements in Sequence, keeping only the first occurrence of each element

Parameters

seq – Sequence to prune

Returns

List of unique elements in seq

petab.core.write_simulation_df(df: pandas.core.frame.DataFrame, filename: str) None[source]

Write PEtab simulation table

Parameters
  • df – PEtab simulation table

  • filename – Destination file name

petab.core.write_visualization_df(df: pandas.core.frame.DataFrame, filename: Union[str, pathlib.Path]) None[source]

Write PEtab visualization table

Parameters
  • df – PEtab visualization table

  • filename – Destination file name