prolint.plotting.kinetics

Kinetics plotters for binding dynamics visualization.

This module provides survival curves and residence time distributions for contact kinetics analysis results.

Classes

SurvivalCurvePlotter

Plotter for survival curves with exponential fits.

ResidenceDistributionPlotter

Plotter for residence time distributions.

Module Contents

class prolint.plotting.kinetics.SurvivalCurvePlotter[source]

Bases: prolint.plotting.base.BasePlotter

Plotter for survival curves with exponential fits.

Visualizes contact survival probability over lag time with optional mono- and bi-exponential model fits.

See also

KineticsAnalysis

Generates survival curve data

ResidenceDistributionPlotter

Residence time histograms

name = 'survival_curve'[source]
required_analysis = 'kinetics'[source]
description = 'Survival curve with mono/bi-exponential fits'[source]
classmethod validate_result(result: prolint.analysis.base.AnalysisResult) None[source]

Validate that result contains required survival curve data.

classmethod plot(result: prolint.analysis.base.AnalysisResult, xlabel: str = 'Lag Time (frames)', ylabel: str = 'Survival Probability', title: str = 'Survival Curve', figsize: Tuple[float, float] = (8, 5), ax: matplotlib.axes.Axes | None = None, show_legend: bool = True, time_units: str | None = None, dt: float = 1.0) Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes][source]

Create survival curve plot with exponential fits.

Parameters:
  • result (AnalysisResult) – Result from kinetics analysis.

  • time_units (str, optional) – Time unit for x-axis (e.g., “ns”, “us”).

  • dt (float, default=1.0) – Time step multiplier when using time_units.

  • show_legend (bool, default=True) – Whether to show fit parameters in legend.

  • ax (Axes, optional) – Existing axes to plot on.

Returns:

Matplotlib figure and axes objects.

Return type:

tuple of (Figure, Axes)

class prolint.plotting.kinetics.ResidenceDistributionPlotter[source]

Bases: prolint.plotting.base.BasePlotter

Plotter for residence time distributions.

Visualizes the distribution of contact durations as a histogram.

See also

KineticsAnalysis

Generates residence distribution data

SurvivalCurvePlotter

Survival curves

name = 'residence_distribution'[source]
required_analysis = 'kinetics'[source]
description = 'Histogram of residence time durations'[source]
classmethod validate_result(result: prolint.analysis.base.AnalysisResult) None[source]

Validate that result contains required residence distribution data.

classmethod plot(result: prolint.analysis.base.AnalysisResult, xlabel: str = 'Residence Time (frames)', ylabel: str = 'Count', title: str = 'Residence Time Distribution', figsize: Tuple[float, float] = (8, 4), ax: matplotlib.axes.Axes | None = None, time_units: str | None = None, dt: float = 1.0, log_scale: bool = False) Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes][source]

Create residence time histogram.

Parameters:
  • result (AnalysisResult) – Result from kinetics analysis.

  • time_units (str, optional) – Time unit for x-axis.

  • dt (float, default=1.0) – Time step multiplier.

  • log_scale (bool, default=False) – Whether to use log scale for y-axis.

  • ax (Axes, optional) – Existing axes to plot on.

Returns:

Matplotlib figure and axes objects.

Return type:

tuple of (Figure, Axes)