proteobench.plotting.plot_generator_base module#

class proteobench.plotting.plot_generator_base.PlotGeneratorBase[source]#

Bases: ABC

Abstract base class for module-specific plot generators. Each module can extend this to define its own in-depth plots.

abstractmethod generate_in_depth_plots(performance_data: DataFrame, **kwargs) Dict[str, Figure][source]#

Generate module-specific plots.

Parameters:
  • performance_data (pd.DataFrame) – The performance data to plot

  • recalculate (bool) – Whether to recalculate or use cached plots

  • **kwargs (dict) – Additional module-specific parameters

Returns:

Dictionary mapping plot names to plotly figures

Return type:

Dict[str, go.Figure]

abstractmethod get_in_depth_plot_descriptions() Dict[str, str][source]#

Get descriptions for each plot.

Returns:

Dictionary mapping plot names to their descriptions

Return type:

Dict[str, str]

abstractmethod get_in_depth_plot_layout() list[source]#

Define the layout configuration for displaying plots.

Returns:

List of plot configurations, e.g.: [

{“plots”: [“logfc”, “cv”], “columns”: 2, “title”: “Distribution Plots”}, {“plots”: [“ma_plot”], “columns”: 1, “title”: “MA Plot”}

]

Return type:

list

abstractmethod plot_main_metric(result_df: DataFrame, hide_annot: bool = False, **kwargs) Figure[source]#

Generate the main performance metric plot for the module.

Parameters:
  • result_df (pd.DataFrame) – DataFrame containing the results to plot.

  • hide_annot (bool, optional) – Whether to hide annotations on the plot (default is False).

  • **kwargs (dict) – Additional module-specific parameters.

Returns:

The generated plotly figure for the main performance metric.

Return type:

go.Figure