petab.parameters

Functions operating on the PEtab parameter table

Functions

create_parameter_df([sbml_model, ...])

Create a new PEtab parameter table

get_optimization_parameter_scaling(parameter_df)

Get Dictionary with optimization parameter IDs mapped to parameter scaling strings.

get_optimization_parameters(parameter_df)

Get list of optimization parameter IDs from parameter table.

get_parameter_df(parameter_file)

Read the provided parameter file into a pandas.Dataframe.

get_priors_from_df(parameter_df, mode[, ...])

Create list with information about the parameter priors

get_required_parameters_for_parameter_table(...)

Get set of parameters which need to go into the parameter table

get_valid_parameters_for_parameter_table(...)

Get set of parameters which may be present inside the parameter table

map_scale(parameters, scale_strs)

Scale the parameters, i.e. as scale(), but for Sequences.

map_unscale(parameters, scale_strs)

Unscale the parameters, i.e. as unscale(), but for Sequences.

normalize_parameter_df(parameter_df)

Add missing columns and fill in default values.

scale(parameter, scale_str)

Scale parameter according to scale_str.

unscale(parameter, scale_str)

Unscale parameter according to scale_str.

write_parameter_df(df, filename)

Write PEtab parameter table

petab.parameters.create_parameter_df(sbml_model: Model | None = None, condition_df: DataFrame | None = None, observable_df: DataFrame | None = None, measurement_df: DataFrame | None = None, model: Model | None = None, include_optional: bool = False, parameter_scale: str = 'log10', lower_bound: Iterable | None = None, upper_bound: Iterable | None = None, mapping_df: DataFrame | None = None) DataFrame[source]

Create a new PEtab parameter table

All table entries can be provided as string or list-like with length matching the number of parameters

Parameters:
  • sbml_model – SBML Model (deprecated, mutually exclusive with model)

  • model – PEtab model (mutually exclusive with sbml_model)

  • condition_df – PEtab condition DataFrame

  • observable_df – PEtab observable DataFrame

  • measurement_df – PEtab measurement DataFrame

  • include_optional – By default this only returns parameters that are required to be present in the parameter table. If set to True, this returns all parameters that are allowed to be present in the parameter table (i.e. also including parameters specified in the model).

  • parameter_scale – parameter scaling

  • lower_bound – lower bound for parameter value

  • upper_bound – upper bound for parameter value

  • mapping_df – PEtab mapping DataFrame

Returns:

The created parameter DataFrame

petab.parameters.get_optimization_parameter_scaling(parameter_df: DataFrame) Dict[str, str][source]

Get Dictionary with optimization parameter IDs mapped to parameter scaling strings.

Parameters:

parameter_df – PEtab parameter DataFrame

Returns:

Dictionary with optimization parameter IDs mapped to parameter scaling strings.

petab.parameters.get_optimization_parameters(parameter_df: DataFrame) List[str][source]

Get list of optimization parameter IDs from parameter table.

Parameters:

parameter_df – PEtab parameter DataFrame

Returns:

List of IDs of parameters selected for optimization.

petab.parameters.get_parameter_df(parameter_file: str | Path | DataFrame | Iterable[DataFrame | str | Path] | None) DataFrame | None[source]

Read the provided parameter file into a pandas.Dataframe.

Parameters:
  • parameter_file – Name of the file to read from or pandas.Dataframe,

  • Iterable. (or an) –

Returns:

Parameter DataFrame, or None if None was passed.

petab.parameters.get_priors_from_df(parameter_df: DataFrame, mode: Literal['initialization', 'objective'], parameter_ids: Sequence[str] | None = None) List[Tuple][source]

Create list with information about the parameter priors

Parameters:
  • parameter_df – PEtab parameter table

  • mode'initialization' or 'objective'

  • parameter_ids – A sequence of parameter IDs for which to sample starting points. For subsetting or reordering the parameters. Defaults to all estimated parameters.

Returns:

List with prior information.

petab.parameters.get_valid_parameters_for_parameter_table(model: Model, condition_df: DataFrame, observable_df: DataFrame, measurement_df: DataFrame, mapping_df: DataFrame | None = None) Set[str][source]

Get set of parameters which may be present inside the parameter table

Parameters:
  • model – PEtab model

  • condition_df – PEtab condition table

  • observable_df – PEtab observable table

  • measurement_df – PEtab measurement table

  • mapping_df – PEtab mapping table for additional checks

Returns:

Set of parameter IDs which PEtab allows to be present in the parameter table.

petab.parameters.map_scale(parameters: Sequence[Number], scale_strs: Iterable[Literal['', 'lin', 'log', 'log10']] | Literal['', 'lin', 'log', 'log10']) Iterable[Number][source]

Scale the parameters, i.e. as scale(), but for Sequences.

Parameters:
  • parameters – Parameters to be scaled.

  • scale_strs – Scales to apply. Broadcast if a single string.

Returns:

The scaled parameters.

petab.parameters.map_unscale(parameters: Sequence[Number], scale_strs: Iterable[Literal['', 'lin', 'log', 'log10']] | Literal['', 'lin', 'log', 'log10']) Iterable[Number][source]

Unscale the parameters, i.e. as unscale(), but for Sequences.

Parameters:
  • parameters – Parameters to be unscaled.

  • scale_strs – Scales that the parameters are currently on. Broadcast if a single string.

Returns:

The unscaled parameters.

petab.parameters.normalize_parameter_df(parameter_df: DataFrame) DataFrame[source]

Add missing columns and fill in default values.

petab.parameters.scale(parameter: Number, scale_str: Literal['', 'lin', 'log', 'log10']) Number[source]

Scale parameter according to scale_str.

Parameters:
  • parameter – Parameter to be scaled.

  • scale_str – One of 'lin' (synonymous with ''), 'log', 'log10'.

Returns:

The scaled parameter.

petab.parameters.unscale(parameter: Number, scale_str: Literal['', 'lin', 'log', 'log10']) Number[source]

Unscale parameter according to scale_str.

Parameters:
  • parameter – Parameter to be unscaled.

  • scale_str – One of 'lin' (synonymous with ''), 'log', 'log10'.

Returns:

The unscaled parameter.

petab.parameters.write_parameter_df(df: DataFrame, filename: str | Path) None[source]

Write PEtab parameter table

Parameters:
  • df – PEtab parameter table

  • filename – Destination file name