Search for a command to run...
The Pose object in PyRosetta software represents all aspects of a biomolecular structure, including its conformational, kinematic, energy, and metadata properties. However, existing biomolecular structure storage file formats supported by PyRosetta cannot reconstruct the precise state of the Pose object after being written to disk, hampering reproducibility of Cartesian and internal coordinates to their original double precision in memory. Reconstruction of Pose geometry from a fully serialized representation would enable PyRosetta workflows to support lossless intermediate states on disk. Herein, we introduce a programmatically generated PyRosetta initialization file format (i.e., the PyRosetta .init file) and the underpinning .pkl_pose and .b64_pose file formats for storing biomolecular structure representations serialized via the Rosetta software suite’s cereal-based C++ serialization infrastructure and existing pyrosetta.distributed framework (extended herein with file handling functionality) for use in a Python runtime environment. The PyRosetta initialization file format further captures the active Rosetta command-line options, Rosetta pseudorandom number generator state, PyRosetta initialization input files, PyRosetta build signature, optional ensembles of Pose objects, and optional metadata, including authorship and data licensing information, in a single, portable archive. Through reproduction of the initialized PyRosetta runtime context with associated chemical and topology dependencies, it enables precise reconstruction of Pose objects across Python processes with identical PyRosetta build signatures (i.e., Python version, PyRosetta build, operating system, and architecture). We further introduce a strategy for caching arbitrary Python types in Pose objects for encapsulating scoring data (e.g., from third-party software applications in distributed computing frameworks), and provide customizable risk mitigations that mediate deserialization procedures in data access and reconstruction of Pose objects.