RMSD Facade

GitHub Link to Code.

Facade exposing RMSD variant services.

class mdxplain.analysis.structure.services.rmsd_facade.RMSDFacade(pipeline_data: PipelineData | None)

Provide access to RMSD variants with a shared pipeline context.

The facade provides access to concrete RMSD services for the mean, median, and mad metrics. Each service reuses the pipeline configuration supplied via PipelineData, ensuring consistent behaviour across helper methods.

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> isinstance(facade.mean, RMSDMeanService)
True
__init__(pipeline_data: PipelineData | None) None

Initialise the facade with shared pipeline data.

Ensures that pipeline data is available before any RMSD computations are requested.

Parameters

pipeline_dataPipelineData | None

Pipeline context injected by the analysis manager.

Returns

None

The initializer returns None.

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> isinstance(facade, RMSDFacade)
True
property mean: RMSDMeanService

Access the mean RMSD service.

Provides the RMSD service that aggregates atom-wise deviations via the arithmetic mean. This is the default variant for most workflows.

Parameters

None

This property does not accept parameters.

Returns

RMSDMeanService

Mean RMSD service exposing helper such as to_reference(), frame_to_frame(), window_frame_to_start(), and window_frame_to_frame().

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> facade.mean.to_reference(reference_traj=0, reference_frame=0)
{...}
property median: RMSDMedianService

Access the median RMSD service.

Provides the RMSD service that aggregates atom-wise deviations using the statistical median, offering robustness against outliers.

Parameters

None

This property does not accept parameters.

Returns

RMSDMedianService

Median RMSD service exposing the same helper methods as the mean service.

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> facade.median.frame_to_frame(lag=2)
{...}
property mad: RMSDMadService

Access the MAD RMSD service.

Provides the RMSD service based on the median absolute deviation (MAD), delivering outlier-resistant RMSD values.

Parameters

None

This property does not accept parameters.

Returns

RMSDMadService

MAD RMSD service exposing helper such as to_reference() and the window-based calculations.

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> facade.mad.window_frame_to_start(window_size=5, stride=2)
{...}
to_reference(reference_traj: int = 0, reference_frame: int = 0, traj_selection: int | str | List[int | str] | all = 'all', atom_selection: str = 'all') Dict[str, ndarray]

Calculate RMSD values against a reference frame.

Delegates to RMSDVariantService.to_reference() on the mean variant to compute RMSD values for the selected trajectories.

Parameters

reference_trajint, optional

Index of the trajectory containing the reference frame. Defaults to 0.

reference_frameint, optional

Frame index within the reference trajectory. Defaults to 0.

traj_selectionUnion[int, str, list[Union[int, str]], ‘all’], optional

Selection describing which trajectories to process. Defaults to "all".

atom_selectionstr, optional

MDTraj atom selection string forwarded to the calculation. Defaults to "all".

Returns

dict[str, np.ndarray]

Mapping of trajectory names to RMSD arrays.

Examples

>>> facade = RMSDFacade(pipeline_data)
>>> facade.to_reference(reference_traj=0, reference_frame=0)
{...}