prolint.plotting.kinetics ========================= .. py:module:: prolint.plotting.kinetics .. autoapi-nested-parse:: Kinetics plotters for binding dynamics visualization. This module provides survival curves and residence time distributions for contact kinetics analysis results. Classes ------- .. autoapisummary:: prolint.plotting.kinetics.SurvivalCurvePlotter prolint.plotting.kinetics.ResidenceDistributionPlotter Module Contents --------------- .. py:class:: SurvivalCurvePlotter Bases: :py:obj:`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. .. seealso:: :py:obj:`KineticsAnalysis` Generates survival curve data :py:obj:`ResidenceDistributionPlotter` Residence time histograms .. py:attribute:: name :value: 'survival_curve' .. py:attribute:: required_analysis :value: 'kinetics' .. py:attribute:: description :value: 'Survival curve with mono/bi-exponential fits' .. py:method:: validate_result(result: prolint.analysis.base.AnalysisResult) -> None :classmethod: Validate that result contains required survival curve data. .. py:method:: 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: Optional[matplotlib.axes.Axes] = None, show_legend: bool = True, time_units: Optional[str] = None, dt: float = 1.0) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes] :classmethod: Create survival curve plot with exponential fits. :param result: Result from kinetics analysis. :type result: AnalysisResult :param time_units: Time unit for x-axis (e.g., "ns", "us"). :type time_units: str, optional :param dt: Time step multiplier when using time_units. :type dt: float, default=1.0 :param show_legend: Whether to show fit parameters in legend. :type show_legend: bool, default=True :param ax: Existing axes to plot on. :type ax: Axes, optional :returns: Matplotlib figure and axes objects. :rtype: tuple of (Figure, Axes) .. py:class:: ResidenceDistributionPlotter Bases: :py:obj:`prolint.plotting.base.BasePlotter` Plotter for residence time distributions. Visualizes the distribution of contact durations as a histogram. .. seealso:: :py:obj:`KineticsAnalysis` Generates residence distribution data :py:obj:`SurvivalCurvePlotter` Survival curves .. py:attribute:: name :value: 'residence_distribution' .. py:attribute:: required_analysis :value: 'kinetics' .. py:attribute:: description :value: 'Histogram of residence time durations' .. py:method:: validate_result(result: prolint.analysis.base.AnalysisResult) -> None :classmethod: Validate that result contains required residence distribution data. .. py:method:: 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: Optional[matplotlib.axes.Axes] = None, time_units: Optional[str] = None, dt: float = 1.0, log_scale: bool = False) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes] :classmethod: Create residence time histogram. :param result: Result from kinetics analysis. :type result: AnalysisResult :param time_units: Time unit for x-axis. :type time_units: str, optional :param dt: Time step multiplier. :type dt: float, default=1.0 :param log_scale: Whether to use log scale for y-axis. :type log_scale: bool, default=False :param ax: Existing axes to plot on. :type ax: Axes, optional :returns: Matplotlib figure and axes objects. :rtype: tuple of (Figure, Axes)