RMSF Facade

GitHub Link to Code.

Facade exposing RMSF variant services.

class mdxplain.analysis.structure.services.rmsf_facade.RMSFFacade(pipeline_data: PipelineData | None)

Provide access to RMSF variants with a shared pipeline context.

The facade provides access to concrete RMSF variant facades for the mean, median, and mad deviation metrics. Each facade reuses the supplied pipeline configuration, ensuring consistent behaviour across the per-atom and per-residue helper services.

Examples

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

Initialise the facade with shared pipeline data.

Ensures that the facade operates only after pipeline data injection. The created variants are cached for reuse.

Parameters

pipeline_dataPipelineData | None

Pipeline context injected by the analysis manager.

Returns

None

The initializer returns None.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> isinstance(facade, RMSFFacade)
True
property mean: RMSFMeanVariantFacade

Access the mean RMSF variant facade.

Provides the RMSF variant facade that uses the mean for RMSF calculations (Root Mean Square Fluctuation).

Parameters

None

This property does not accept parameters.

Returns

RMSFMeanVariantFacade

Mean RMSF variant facade exposing per-atom and per-residue helper.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> isinstance(facade.mean, RMSFMeanVariantFacade)
True
property median: RMSFMedianVariantFacade

Access the median RMSF variant facade.

Provides the RMSF variant facade that uses the median for robust RMSF calculations (Root Median Square Fluctuation).

Parameters

None

This property does not accept parameters.

Returns

RMSFMedianVariantFacade

Median RMSF variant facade exposing per-atom and per-residue helper.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> isinstance(facade.median, RMSFMedianVariantFacade)
True
property mad: RMSFMadVariantFacade

Access the MAD RMSF variant facade.

Provides the RMSF variant facade based on the median absolute deviation (MAD) for outlier-resistant RMSF calculations (MAD Fluctuation).

Parameters

None

This property does not accept parameters.

Returns

RMSFMadVariantFacade

MAD RMSF variant facade exposing per-atom and per-residue helper.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> isinstance(facade.mad, RMSFMadVariantFacade)
True
property per_atom: RMSFPerAtomService

Access the per-atom RMSF helper for the mean metric.

Returns the per-atom service supplied by the classical mean RMSF variant.

Returns

RMSFPerAtomService

Per-atom RMSF service providing to_*_reference helper.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> facade.per_atom.to_mean_reference()
{...}
property per_residue: RMSFPerResidueAggregationSelectionFacade

Access the per-residue RMSF helper for the mean metric.

Returns the residue aggregation facade supplied by the classical mean RMSF variant.

Parameters

None

This property does not accept parameters.

Returns

RMSFPerResidueAggregationSelectionFacade

Residue-level RMSF helper exposing aggregation variants.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> facade.per_residue.with_mean_aggregation.to_mean_reference()
{...}
to_mean_reference(traj_selection: int | str | List[int | str] | all = 'all', atom_selection: str = 'all', cross_trajectory: bool = False) Dict[str, ndarray]

Calculate per-atom RMSF values for the mean reference structure.

Delegates to RMSFPerAtomService.to_mean_reference() on the mean variant while forwarding the trajectory/atom selections and optional cross-trajectory settings.

Parameters

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

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

atom_selectionstr, optional

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

cross_trajectorybool, optional

Combine all selected trajectories into a single RMSF profile when True. Defaults to False.

Returns

dict[str, np.ndarray]

Mapping of trajectory names – or "combined" when cross_trajectory is True – to per-atom RMSF arrays.

Examples

>>> facade = RMSFFacade(pipeline_data)
>>> facade.to_mean_reference(traj_selection="all", atom_selection="all")
{...}