From 30d240c76fbe3d4dccecd09232d4597bdd849ee1 Mon Sep 17 00:00:00 2001 From: Jayaram Kancherla Date: Mon, 20 May 2024 15:08:28 -0700 Subject: [PATCH] Use `alt_read_object` and `alt_save_object` functions (#3) Incase the user had custom readers and writers. --- src/dolomite_ranges/read_genomic_ranges.py | 8 +++----- src/dolomite_ranges/read_genomic_ranges_list.py | 10 +++------- src/dolomite_ranges/save_genomic_ranges.py | 6 ++++-- src/dolomite_ranges/save_genomic_ranges_list.py | 8 +++++--- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/dolomite_ranges/read_genomic_ranges.py b/src/dolomite_ranges/read_genomic_ranges.py index c1dc20d..c8587c7 100644 --- a/src/dolomite_ranges/read_genomic_ranges.py +++ b/src/dolomite_ranges/read_genomic_ranges.py @@ -7,8 +7,6 @@ from genomicranges import GenomicRanges from iranges import IRanges -from .read_sequence_information import read_sequence_information - read_object_registry["genomic_ranges"] = "dolomite_ranges.read_genomic_ranges" @@ -34,7 +32,7 @@ def read_genomic_ranges(path: str, metadata: Optional[dict], **kwargs) -> Genomi A :py:class:`~genomicranges.GenomicRanges.GenomicRanges` object. """ _seqinfo_path = os.path.join(path, "sequence_information") - seqinfo = read_sequence_information(path=_seqinfo_path, metadata=None) + seqinfo = dl.alt_read_object(path=_seqinfo_path, **kwargs) with h5py.File(os.path.join(path, "ranges.h5"), "r") as handle: ghandle = handle["genomic_ranges"] @@ -64,12 +62,12 @@ def read_genomic_ranges(path: str, metadata: Optional[dict], **kwargs) -> Genomi _range_annotation_path = os.path.join(path, "range_annotations") if os.path.exists(_range_annotation_path): - _mcols = dl.read_object(_range_annotation_path) + _mcols = dl.alt_read_object(_range_annotation_path, **kwargs) gr = gr.set_mcols(_mcols) _meta_path = os.path.join(path, "other_annotations") if os.path.exists(_meta_path): - _meta = dl.read_object(_meta_path) + _meta = dl.alt_read_object(_meta_path, **kwargs) gr = gr.set_metadata(_meta.as_dict()) return gr diff --git a/src/dolomite_ranges/read_genomic_ranges_list.py b/src/dolomite_ranges/read_genomic_ranges_list.py index c547098..017b264 100644 --- a/src/dolomite_ranges/read_genomic_ranges_list.py +++ b/src/dolomite_ranges/read_genomic_ranges_list.py @@ -6,8 +6,6 @@ from dolomite_base.read_object import read_object_registry from genomicranges import GenomicRangesList -from .read_genomic_ranges import read_genomic_ranges - read_object_registry["genomic_ranges_list"] = "dolomite_ranges.read_genomic_ranges_list" @@ -48,9 +46,7 @@ def read_genomic_ranges_list( ghandle["names"], expected_type=str, report_1darray=True ) - _all_granges = read_genomic_ranges( - path=os.path.join(path, "concatenated"), metadata=None - ) + _all_granges = dl.alt_read_object(path=os.path.join(path, "concatenated"), **kwargs) counter = 0 _split_granges = [] @@ -66,12 +62,12 @@ def read_genomic_ranges_list( _elem_annotation_path = os.path.join(path, "element_annotations") if os.path.exists(_elem_annotation_path): - _mcols = dl.read_object(_elem_annotation_path) + _mcols = dl.alt_read_object(_elem_annotation_path, **kwargs) grl = grl.set_mcols(_mcols) _meta_path = os.path.join(path, "other_annotations") if os.path.exists(_meta_path): - _meta = dl.read_object(_meta_path) + _meta = dl.alt_read_object(_meta_path, **kwargs) grl = grl.set_metadata(_meta.as_dict()) return grl diff --git a/src/dolomite_ranges/save_genomic_ranges.py b/src/dolomite_ranges/save_genomic_ranges.py index 8a0a5b0..17ed725 100644 --- a/src/dolomite_ranges/save_genomic_ranges.py +++ b/src/dolomite_ranges/save_genomic_ranges.py @@ -71,7 +71,7 @@ def save_genomic_ranges( _range_annotation = x.get_mcols() if _range_annotation is not None and _range_annotation.shape[1] > 0: - dl.save_object( + dl.alt_save_object( _range_annotation, path=os.path.join(path, "range_annotations"), **data_frame_args @@ -79,6 +79,8 @@ def save_genomic_ranges( _meta = x.get_metadata() if _meta is not None and len(_meta) > 0: - dl.save_object(_meta, path=os.path.join(path, "other_annotations")) + dl.alt_save_object( + _meta, path=os.path.join(path, "other_annotations"), **kwargs + ) return diff --git a/src/dolomite_ranges/save_genomic_ranges_list.py b/src/dolomite_ranges/save_genomic_ranges_list.py index 3a13d88..720ed67 100644 --- a/src/dolomite_ranges/save_genomic_ranges_list.py +++ b/src/dolomite_ranges/save_genomic_ranges_list.py @@ -57,11 +57,11 @@ def save_genomic_ranges_list( if isinstance(_all_ranges, list) and len(_all_ranges) > 1: _all_ranges = combine_sequences(*x.get_ranges()) - dl.save_object(_all_ranges, path=os.path.join(path, "concatenated")) + dl.alt_save_object(_all_ranges, path=os.path.join(path, "concatenated"), **kwargs) _elem_annotation = x.get_mcols() if _elem_annotation is not None and _elem_annotation.shape[1] > 0: - dl.save_object( + dl.alt_save_object( _elem_annotation, path=os.path.join(path, "element_annotations"), **data_frame_args @@ -69,6 +69,8 @@ def save_genomic_ranges_list( _meta = x.get_metadata() if _meta is not None and len(_meta) > 0: - dl.save_object(_meta, path=os.path.join(path, "other_annotations")) + dl.alt_save_object( + _meta, path=os.path.join(path, "other_annotations"), **kwargs + ) return