prolint.plotting.density ======================== .. py:module:: prolint.plotting.density .. autoapi-nested-parse:: Density map plotters for spatial distribution visualization. This module provides 2D density and radial density visualizations for database molecule distributions around query atoms. Classes ------- .. autoapisummary:: prolint.plotting.density.DensityMapPlotter prolint.plotting.density.RadialDensityPlotter Module Contents --------------- .. py:class:: DensityMapPlotter Bases: :py:obj:`prolint.plotting.base.BasePlotter` Plotter for 2D spatial density maps. Visualizes the spatial distribution of database molecules around the query center of mass. .. seealso:: :py:obj:`DensityMapAnalysis` Generates density map data :py:obj:`RadialDensityPlotter` Radial density profiles .. py:attribute:: name :value: 'density_map' .. py:attribute:: required_analysis :value: 'density_map' .. py:attribute:: description :value: '2D spatial density of database molecules around query' .. py:method:: validate_result(result: prolint.analysis.base.AnalysisResult) -> None :classmethod: Validate that result contains required density map data. .. py:method:: plot(result: prolint.analysis.base.AnalysisResult, colorscheme: str = 'viridis', xlabel: str = 'X (Å)', ylabel: str = 'Y (Å)', title: str = 'Density Map', figsize: Tuple[float, float] = (8, 8), ax: Optional[matplotlib.axes.Axes] = None, show_colorbar: bool = True, cbar_label: str = 'Density', log_scale: bool = False, aspect: str = 'equal', vmin: Optional[float] = None, vmax: Optional[float] = None, show_query_contours: bool = True, highlight_query_residues: Optional[List[int]] = None, highlight_database_ids: Optional[List[int]] = None, universe=None, frame: int = 0) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes] :classmethod: Create 2D density map visualization. :param result: Result from density_map analysis. :type result: AnalysisResult :param colorscheme: Color scale name. :type colorscheme: str, default="viridis" :param log_scale: Whether to use logarithmic color scale. :type log_scale: bool, default=False :param show_query_contours: Whether to overlay query density as contours. :type show_query_contours: bool, default=True :param highlight_query_residues: Query residues to highlight on the map. :type highlight_query_residues: list of int, optional :param highlight_database_ids: Database molecules to highlight. :type highlight_database_ids: list of int, optional :param universe: Required for highlighting residues. :type universe: Universe, optional :param ax: Existing axes to plot on. :type ax: Axes, optional :returns: Matplotlib figure and axes objects. :rtype: tuple of (Figure, Axes) .. py:class:: RadialDensityPlotter Bases: :py:obj:`prolint.plotting.base.BasePlotter` Plotter for radial density profiles. Visualizes radially-averaged density as a function of distance from the query center. .. seealso:: :py:obj:`RadialDensityAnalysis` Generates radial density data :py:obj:`DensityMapPlotter` 2D density maps .. py:attribute:: name :value: 'radial_density' .. py:attribute:: required_analysis :value: 'radial_density' .. py:attribute:: description :value: 'Radial density profile from 2D density map' .. py:method:: validate_result(result: prolint.analysis.base.AnalysisResult) -> None :classmethod: Validate that result contains required radial density data. .. py:method:: plot(result: prolint.analysis.base.AnalysisResult, xlabel: str = 'Distance from Center (Å)', ylabel: str = 'Radial Density', title: str = 'Radial Density Profile', figsize: Tuple[float, float] = (8, 4), ax: Optional[matplotlib.axes.Axes] = None) -> Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes] :classmethod: Create radial density profile plot. :param result: Result from radial_density analysis. :type result: AnalysisResult :param ax: Existing axes to plot on. :type ax: Axes, optional :returns: Matplotlib figure and axes objects. :rtype: tuple of (Figure, Axes)