Validation Helper
GitHub Link to Code.
Validation helper for structure visualization operations.
This module provides validation utilities for structure visualization, including Jupyter environment checks and visualization data validation.
- class mdxplain.structure_visualization.helper.validation_helper.ValidationHelper
Helper class for structure visualization validation.
Provides static methods for validating environment requirements and data availability for structure visualization operations.
Examples
>>> ValidationHelper.validate_jupyter_environment() >>> viz_data = ValidationHelper.validate_visualization_data( ... pipeline_data, "my_viz" ... )
- static validate_jupyter_environment() None
Validate that code is running in Jupyter environment.
Parameters
None
Returns
- None
Returns normally if running in Jupyter environment
Raises
- RuntimeError
If not running in Jupyter notebook environment
Examples
>>> ValidationHelper.validate_jupyter_environment() RuntimeError: NGLView visualization is only available in Jupyter notebooks...
Notes
Uses EnvironmentHelper.is_jupyter_environment() to check environment. Provides helpful error message for terminal usage.
- static validate_visualization_data(pipeline_data: PipelineData, structure_viz_name: str) StructureVisualizationData
Validate visualization data exists and return it.
Parameters
- pipeline_dataPipelineData
Pipeline data object containing visualization data
- structure_viz_namestr
Name of visualization session to validate
Returns
- StructureVisualizationData
Validated visualization data object
Raises
- KeyError
If structure_visualization_data attribute not found
- KeyError
If specific visualization session name not found
Examples
>>> viz_data = ValidationHelper.validate_visualization_data( ... pipeline_data, "my_viz" ... )
>>> # Raises KeyError if not found >>> viz_data = ValidationHelper.validate_visualization_data( ... pipeline_data, "nonexistent" ... ) KeyError: Visualization 'nonexistent' not found...
Notes
Provides detailed error messages listing available visualizations if the requested one is not found.
- static validate_terminal_environment() None
Validate that code is running in terminal, NOT Jupyter.
Checks if code is running in Jupyter notebook environment and raises error if true. PyMOL visualization requires terminal execution.
Parameters
None
Returns
- None
Returns normally if NOT in Jupyter environment
Raises
- RuntimeError
If running in Jupyter notebook environment
Examples
>>> ValidationHelper.validate_terminal_environment() RuntimeError: PyMOL visualization requires terminal execution...
Notes
Uses EnvironmentHelper.is_jupyter_environment() to check environment. Provides helpful message suggesting NGLView for Jupyter usage.
- static validate_pymol_available() None
Validate that PyMOL Python module is available.
Checks if pymol module can be imported and raises error if not. Provides installation instructions for conda.
Parameters
None
Returns
- None
Returns normally if pymol is available
Raises
- ImportError
If pymol Python module cannot be imported
Examples
>>> ValidationHelper.validate_pymol_available() ImportError: PyMOL Python module not found...
Notes
Uses EnvironmentHelper.is_pymol_available() to check availability. Suggests conda installation command if missing.
- static validate_data_selectors(pipeline_data: PipelineData, data_selectors: list) None
Validate that data selectors exist in pipeline data.
Checks that all provided data selector names are present in pipeline_data.data_selector_data and raises errors for missing or empty selector lists.
Parameters
- pipeline_dataPipelineData
Pipeline data object containing data selector data
- data_selectorslist
List of data selector names to validate
Returns
- None
Returns normally if all data selectors are valid
Raises
- ValueError
If no data selectors provided or selector doesn’t exist
Examples
>>> ValidationHelper.validate_data_selectors( ... pipeline_data, ["cluster_0", "cluster_1"] ... )
>>> # Raises ValueError if empty >>> ValidationHelper.validate_data_selectors(pipeline_data, []) ValueError: At least one data selector is required
>>> # Raises ValueError if not found >>> ValidationHelper.validate_data_selectors( ... pipeline_data, ["nonexistent"] ... ) ValueError: Data selector 'nonexistent' not found...
Notes
This method is used by StructureVizFeatureService to validate data selectors before creating representative PDFs.