Structure Analysis Service

GitHub Link to Code.

Structure analysis entry point service.

This module provides the StructureAnalysisService facade that exposes structure-related analysis services such as RMSD and RMSF. The individual services are instantiated lazily to avoid importing heavy dependencies until a calculation is requested.

class mdxplain.analysis.structure.services.structure_analysis_service.StructureAnalysisService(pipeline_data: PipelineData | None = None)

Facade exposing the concrete structure analysis services.

Provides lazily initialised access to RMSD and RMSF services bound to the current pipeline context. This keeps subsystem creation cheap while still guaranteeing consistent pipeline data injection.

__init__(pipeline_data: PipelineData | None = None) None

Create the structure analysis facade.

Parameters

pipeline_dataPipelineData, optional

Pipeline context injected by AutoInjectProxy.

Returns

None

The initializer does not return anything.

property pipeline_data: PipelineData

Return the bound pipeline data.

Parameters

None

The property does not accept parameters.

Returns

PipelineData

Pipeline context required for analysis services.

Raises

ValueError

If the service has not received pipeline data yet. The AutoInject infrastructure must set this before use.

Examples

>>> service = StructureAnalysisService(pipeline_data)
>>> data = service.pipeline_data
property rmsd: RMSDFacade

Return the RMSD helper exposing mean/median/mad variants.

Provides access to the RMSD facade, which lazily constructs and caches RMSDVariantService instances for the mean, median, and mad metrics.

property rmsf: RMSFFacade

Return the RMSF helper exposing per-atom/per-residue variants.

Provides access to the RMSF facade, which lazily constructs and caches RMSFVariantFacade instances for per-atom and per-residue calculations using the mean, median, and mad metrics.