petab.visualize.helper_functions

This file should contain the functions, which PEtab internally needs for plotting, but which are not meant to be used by non-developers and should hence not be directly visible/usable when using import petab.visualize.

Functions

check_ex_exp_columns(exp_data, …[, sim])

Check the columns in measurement file, if non-mandotory columns does not exist, create default columns

check_ex_visu_columns(vis_spec, exp_data, …)

Check the columns in Visu_Spec file, if non-mandotory columns does not exist, create default columns

check_vis_spec_consistency(exp_data[, …])

Helper function for plotting data and simulations, which checks the visualization setting, if no visualization specification file is provided.

create_dataset_id_list(simcond_id_list, …)

Create dataset id list and corresponding plot legends.

create_dataset_id_list_new(df, group_by, id_list)

Create dataset id list.

create_figure(uni_plot_ids, plots_to_file)

Helper function for plotting data and simulations, open figure and axes

create_or_update_vis_spec(exp_data, …[, …])

Helper function for plotting data and simulations, which updates vis_spec file if necessary or creates a default visualization table and updates/creates DATASET_ID column of exp_data.

expand_vis_spec_settings(vis_spec, columns_dict)

only makes sense if DATASET_ID is not in vis_spec.columns?

generate_dataset_id_col(exp_data)

generate DATASET_ID column from condition_ids and observable_ids

get_data_to_plot(plot_spec, m_data, …[, …])

Group the data, which should be plotted and return it as dataframe.

get_default_vis_specs(exp_data, exp_conditions)

Helper function for plotting data and simulations, which creates a default visualization table and updates/creates DATASET_ID column of exp_data

get_vis_spec_dependent_columns_dict(…[, …])

Helper function for creating values for columns PLOT_ID, DATASET_ID, LEGEND_ENTRY, Y_VALUES for visualization specification file.

handle_dataset_plot(plot_spec, ax, exp_data, …)

Handle dataset plot

import_from_files(data_file_path, …[, …])

Helper function for plotting data and simulations, which imports data from PEtab files.

matches_plot_spec(df, col_id, x_value, plot_spec)

constructs an index for subsetting of the dataframe according to what is specified in plot_spec.

class petab.visualize.helper_functions.Number[source]

Bases: object

All numbers inherit from this class.

If you just want to check if an argument x is a number, without caring what kind, use isinstance(x, Number).

petab.visualize.helper_functions.check_ex_exp_columns(exp_data: pandas.core.frame.DataFrame, dataset_id_list: List[List[str]], sim_cond_id_list: List[List[str]], sim_cond_num_list: List[List[int]], observable_id_list: List[List[str]], observable_num_list: List[List[int]], exp_conditions: pandas.core.frame.DataFrame, sim: Optional[bool] = False)Tuple[pandas.core.frame.DataFrame, List[List[str]], Dict][source]

Check the columns in measurement file, if non-mandotory columns does not exist, create default columns

Returns

A tuple of experimental DataFrame, list of datasetIds and dictionary of plot legends, corresponding to the datasetIds

petab.visualize.helper_functions.check_ex_visu_columns(vis_spec: pandas.core.frame.DataFrame, exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame)pandas.core.frame.DataFrame[source]

Check the columns in Visu_Spec file, if non-mandotory columns does not exist, create default columns

Returns

Updated visualization specification DataFrame

petab.visualize.helper_functions.check_vis_spec_consistency(exp_data: pandas.core.frame.DataFrame, dataset_id_list: Optional[List[List[str]]] = None, sim_cond_id_list: Optional[List[List[str]]] = None, sim_cond_num_list: Optional[List[List[int]]] = None, observable_id_list: Optional[List[List[str]]] = None, observable_num_list: Optional[List[List[int]]] = None)str[source]

Helper function for plotting data and simulations, which checks the visualization setting, if no visualization specification file is provided.

For documentation, see main function plot_data_and_simulation()

Returns

Specifies the grouping of data to plot.

Return type

group_by

petab.visualize.helper_functions.create_dataset_id_list(simcond_id_list: List[List[str]], simcond_num_list: List[List[int]], observable_id_list: List[List[str]], observable_num_list: List[List[int]], exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame, group_by: str)Tuple[pandas.core.frame.DataFrame, List[List[str]], Dict, Dict][source]

Create dataset id list and corresponding plot legends. Additionally, update/create DATASET_ID column of exp_data

Parameters

group_by – defines grouping of data to plot

Returns

A tuple of experimental DataFrame, list of datasetIds and dictionary of plot legends, corresponding to the datasetIds

For additional documentation, see main function plot_data_and_simulation()

petab.visualize.helper_functions.create_dataset_id_list_new(df: pandas.core.frame.DataFrame, group_by: str, id_list: List[List[str]])List[List[str]][source]

Create dataset id list.

Parameters
  • df – measurements or simulations df

  • group_by – defines grouping of data to plot

  • id_list

Returns

A list of datasetIds

petab.visualize.helper_functions.create_figure(uni_plot_ids: numpy.ndarray, plots_to_file: bool)Tuple[matplotlib.figure.Figure, Union[Dict[str, matplotlib.axes._subplots.AxesSubplot], np.ndarray[plt.Subplot]]][source]

Helper function for plotting data and simulations, open figure and axes

Parameters
  • uni_plot_ids – Array with unique plot indices

  • plots_to_file – Indicator if plots are saved to file

Returns

  • fig (Figure object of the created plot.)

  • ax (Axis object of the created plot.)

petab.visualize.helper_functions.create_or_update_vis_spec(exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame, vis_spec: Optional[pandas.core.frame.DataFrame] = None, dataset_id_list: Optional[List[List[str]]] = None, sim_cond_id_list: Optional[List[List[str]]] = None, sim_cond_num_list: Optional[List[List[int]]] = None, observable_id_list: Optional[List[List[str]]] = None, observable_num_list: Optional[List[List[int]]] = None, plotted_noise: Optional[str] = 'MeanAndSD')[source]

Helper function for plotting data and simulations, which updates vis_spec file if necessary or creates a default visualization table and updates/creates DATASET_ID column of exp_data. As a result, a visualization specification file exists with columns PLOT_ID, DATASET_ID, Y_VALUES and LEGEND_ENTRY

Returns

A tuple of visualization specification DataFrame and experimental DataFrame.

petab.visualize.helper_functions.expand_vis_spec_settings(vis_spec, columns_dict)[source]

only makes sense if DATASET_ID is not in vis_spec.columns?

Returns

A visualization specification DataFrame

petab.visualize.helper_functions.generate_dataset_id_col(exp_data: pandas.core.frame.DataFrame)List[str][source]

generate DATASET_ID column from condition_ids and observable_ids

Parameters

exp_data

petab.visualize.helper_functions.get_data_to_plot(plot_spec: pandas.core.series.Series, m_data: pandas.core.frame.DataFrame, simulation_data: pandas.core.frame.DataFrame, condition_ids: numpy.ndarray, col_id: str, simulation_field: str = 'simulation')pandas.core.frame.DataFrame[source]

Group the data, which should be plotted and return it as dataframe.

Parameters
  • plot_spec – information about contains defined data format (visualization file)

  • m_data – contains defined data format (measurement file)

  • simulation_data – contains defined data format (simulation file)

  • condition_ids – contains all unique condition IDs which should be plotted in one figure (can be found in measurementData file, column simulationConditionId)

  • col_id – the name of the column in visualization file, whose entries should be unique (depends on condition in column xValues)

  • simulation_field – Column name in simulation_data that contains the actual simulation result.

Returns

Contains the data which should be plotted (Mean and Std)

Return type

data_to_plot

petab.visualize.helper_functions.get_default_vis_specs(exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame, dataset_id_list: Optional[List[List[str]]] = None, sim_cond_id_list: Optional[List[List[str]]] = None, sim_cond_num_list: Optional[List[List[int]]] = None, observable_id_list: Optional[List[List[str]]] = None, observable_num_list: Optional[List[List[int]]] = None, plotted_noise: Optional[str] = 'MeanAndSD')Tuple[pandas.core.frame.DataFrame, pandas.core.frame.DataFrame][source]

Helper function for plotting data and simulations, which creates a default visualization table and updates/creates DATASET_ID column of exp_data

Returns

A tuple of visualization specification DataFrame and experimental DataFrame.

For documentation, see main function plot_data_and_simulation()

petab.visualize.helper_functions.get_vis_spec_dependent_columns_dict(exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame, dataset_id_list: Optional[List[List[str]]] = None, sim_cond_id_list: Optional[List[List[str]]] = None, sim_cond_num_list: Optional[List[List[int]]] = None, observable_id_list: Optional[List[List[str]]] = None, observable_num_list: Optional[List[List[int]]] = None)Tuple[pandas.core.frame.DataFrame, Dict][source]

Helper function for creating values for columns PLOT_ID, DATASET_ID, LEGEND_ENTRY, Y_VALUES for visualization specification file. DATASET_ID column of exp_data is updated accordingly.

Returns

A tuple of experimental DataFrame and a dictionary with values for columns PLOT_ID, DATASET_ID, LEGEND_ENTRY, Y_VALUES for visualization specification file.

petab.visualize.helper_functions.handle_dataset_plot(plot_spec: pandas.core.series.Series, ax: matplotlib.axes._axes.Axes, exp_data: pandas.core.frame.DataFrame, exp_conditions: pandas.core.frame.DataFrame, sim_data: pandas.core.frame.DataFrame)[source]

Handle dataset plot

petab.visualize.helper_functions.import_from_files(data_file_path: str, condition_file_path: str, simulation_file_path: str, dataset_id_list: List[List[str]], sim_cond_id_list: List[List[str]], sim_cond_num_list: List[List[int]], observable_id_list: List[List[str]], observable_num_list: List[List[int]], plotted_noise: str, visualization_file_path: Optional[str] = None)Tuple[pandas.core.frame.DataFrame, pandas.core.frame.DataFrame, pandas.core.frame.DataFrame, pandas.core.frame.DataFrame][source]

Helper function for plotting data and simulations, which imports data from PEtab files. If visualization_file_path is not provided, the visualization specification DataFrame will be generated automatically.

For documentation, see main function plot_data_and_simulation()

Returns

A tuple of experimental data, experimental conditions, visualization specification and simulation data DataFrames.

petab.visualize.helper_functions.matches_plot_spec(df: pandas.core.frame.DataFrame, col_id: str, x_value: Union[float, str], plot_spec: pandas.core.series.Series)pandas.core.series.Series[source]

constructs an index for subsetting of the dataframe according to what is specified in plot_spec.

Parameters
  • df – pandas data frame to subset, can be from measurement file or simulation file

  • col_id – name of the column that will be used for indexing in x variable

  • x_value – subsetted x value

  • plot_spec – visualization spec from the visualization file

Returns

Boolean series that can be used for subsetting of the passed dataframe

Return type

index

petab.visualize.helper_functions.plot_lowlevel(plot_spec: pandas.core.series.Series, ax: matplotlib.pyplot.Axes, conditions: pandas.core.series.Series, ms: pandas.core.frame.DataFrame, plot_sim: bool)matplotlib.pyplot.Axes[source]

Plotting routine / preparations: set properties of figure and plot the data with given specifications (lineplot with errorbars, or barplot)

Parameters
  • plot_spec – contains defined data format (visualization file)

  • ax – axes to which to plot

  • conditions – Values on x-axis

  • ms – contains measurement data which should be plotted

  • plot_sim – tells whether or not simulated data should be plotted as well

Returns

Updated axis object.