Dask Trajectory Build Helper

GitHub Link to Code.

DaskMDTrajectory Builder - Complex initialization logic extraction.

Handles the complex initialization process for DaskMDTrajectory instances, including cache management, Zarr store setup, and Dask array initialization.

class mdxplain.trajectory.helper.dask_trajectory_helper.dask_trajectory_build_helper.DaskMDTrajectoryBuildHelper

Builder class for creating and initializing DaskMDTrajectory instances.

Handles the complex initialization process by breaking it down into manageable steps while maintaining full compatibility with the original API.

__init__() None

Initialize DaskMDTrajectoryBuildHelper.

Parameters

None

Returns

None

Initializes builder instance

initialize_instance(instance: DaskMDTrajectory, trajectory_file: str, topology_file: str | None = None, zarr_cache_path: str | None = None, chunk_size: int = 1000, n_workers: int | None = None) None

Initialize a DaskMDTrajectory instance with all required components.

Parameters

instanceDaskMDTrajectory

Instance to initialize

trajectory_filestr

Path to trajectory file (.xtc, .dcd, etc.)

topology_filestr, optional

Path to topology file (.pdb, .gro, etc.)

zarr_cache_pathstr, optional

Custom path for Zarr cache file

chunk_sizeint, default=1000

Number of frames per chunk (optimized for performance)

n_workersint, optional

Number of parallel workers (defaults to CPU count)

Returns

None

Initializes instance in-place

Examples

>>> builder = DaskMDTrajectoryBuildHelper()
>>> instance = DaskMDTrajectory.__new__(DaskMDTrajectory)
>>> builder.initialize_instance(instance, 'traj.xtc', 'topology.pdb')
initialize_from_mdtraj(instance: DaskMDTrajectory, mdtraj: md.Trajectory, zarr_cache_path: str | None = None, chunk_size: int = 1000, n_workers: int | None = None) None

Initialize DaskMDTrajectory instance from MDTraj trajectory object.

Parameters

instanceDaskMDTrajectory

Instance to initialize

mdtrajmd.Trajectory

MDTraj trajectory object

zarr_cache_pathstr, optional

Path for zarr cache. If None, creates temporary cache.

chunk_sizeint, default=1000

Number of frames per chunk

n_workersint, optional

Number of parallel workers

Returns

None

Initializes instance in-place

create_from_zarr_store(zarr_store: Group, chunk_size: int = 1000, n_workers: int | None = None) dict

Prepare configuration data from existing Zarr store.

Parameters

zarr_storezarr.Group

Zarr group containing trajectory data

chunk_sizeint, default=1000

Chunk size for new instance

n_workersint, optional

Number of workers for parallel operations

Returns

dict

Configuration dictionary for DaskMDTrajectory creation

Examples

>>> builder = DaskMDTrajectoryBuildHelper()
>>> config = builder.create_from_zarr_store(zarr_store)
>>> # Use config to create instance in DaskMDTrajectory