Source code for dolomite_ranges.save_sequence_information

import os

import dolomite_base as dl
import h5py
from genomicranges import SeqInfo


[docs] @dl.save_object.register @dl.validate_saves def save_sequence_information(x: SeqInfo, path: str, **kwargs): """Save Sequence information to disk. Args: x: Object to be saved. path: Path to a directory in which to save ``x``. kwargs: Further arguments to be passed to individual methods. Returns: `x` is saved to `path`. """ os.mkdir(path) _info = {"sequence_information": {"version": "1.0"}} dl.save_object_file(path, "sequence_information", _info) with h5py.File(os.path.join(path, "info.h5"), "w") as handle: ghandle = handle.create_group("sequence_information") dl.write_string_vector_to_hdf5(ghandle, name="name", x=x.get_seqnames()) dl.write_integer_vector_to_hdf5( ghandle, name="length", x=x.get_seqlengths(), h5type="u4" ) dl.write_boolean_vector_to_hdf5(ghandle, name="circular", x=x.get_is_circular()) dl.write_string_vector_to_hdf5(ghandle, name="genome", x=x.get_genome()) return