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 Iterables.

map_unscale(parameters, scale_strs)

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

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: libsbml.Model, condition_df: pandas.core.frame.DataFrame, observable_df: pandas.core.frame.DataFrame, measurement_df: pandas.core.frame.DataFrame, include_optional: bool = False, parameter_scale: str = 'log10', lower_bound: Optional[Iterable] = None, upper_bound: Optional[Iterable] = None)pandas.core.frame.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

  • condition_df – PEtab condition 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 SBML model).

  • parameter_scale – parameter scaling

  • lower_bound – lower bound for parameter value

  • upper_bound – upper bound for parameter value

Returns

The created parameter DataFrame

petab.parameters.get_optimization_parameter_scaling(parameter_df: pandas.core.frame.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: pandas.core.frame.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: Optional[Union[str, List[str], pandas.core.frame.DataFrame]])pandas.core.frame.DataFrame[source]

Read the provided parameter file into a pandas.Dataframe.

Parameters

parameter_file – Name of the file to read from or pandas.Dataframe.

Returns

Parameter DataFrame

petab.parameters.get_priors_from_df(parameter_df: pandas.core.frame.DataFrame, mode: str)List[Tuple][source]

Create list with information about the parameter priors

Parameters
  • parameter_df – PEtab parameter table

  • mode – ‘initialization’ or ‘objective’

Returns

List with prior information.

petab.parameters.get_required_parameters_for_parameter_table(sbml_model: libsbml.Model, condition_df: pandas.core.frame.DataFrame, observable_df: pandas.core.frame.DataFrame, measurement_df: pandas.core.frame.DataFrame)Set[str][source]

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

Parameters
  • sbml_model – PEtab SBML model

  • condition_df – PEtab condition table

  • observable_df – PEtab observable table

  • measurement_df – PEtab measurement table

Returns

Set of parameter IDs which PEtab requires to be present in the parameter table. That is all {observable,noise}Parameters from the measurement table as well as all parametric condition table overrides that are not defined in the SBML model.

petab.parameters.get_valid_parameters_for_parameter_table(sbml_model: libsbml.Model, condition_df: pandas.core.frame.DataFrame, observable_df: pandas.core.frame.DataFrame, measurement_df: pandas.core.frame.DataFrame)Set[str][source]

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

Parameters
  • sbml_model – PEtab SBML model

  • condition_df – PEtab condition table

  • observable_df – PEtab observable table

  • measurement_df – PEtab measurement table

Returns

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

petab.parameters.map_scale(parameters: Iterable[numbers.Number], scale_strs: Union[Iterable[str], str])Iterable[numbers.Number][source]

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

Parameters
  • parameters – Parameters to be scaled.

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

Returns

The scaled parameters.

Return type

parameters

petab.parameters.map_unscale(parameters: Iterable[numbers.Number], scale_strs: Union[Iterable[str], str])Iterable[numbers.Number][source]

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

Parameters
  • parameters – Parameters to be unscaled.

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

Returns

The unscaled parameters.

Return type

parameters

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

Add missing columns and fill in default values.

petab.parameters.scale(parameter: numbers.Number, scale_str: str)numbers.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: numbers.Number, scale_str: str)numbers.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: pandas.core.frame.DataFrame, filename: str)None[source]

Write PEtab parameter table

Parameters
  • df – PEtab parameter table

  • filename – Destination file name