diff --git a/setup.cfg b/setup.cfg index 85c1dfd..83071f5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -49,10 +49,10 @@ python_requires = >=3.8 # For more information, check out https://semver.org/. install_requires = importlib-metadata; python_version<"3.8" - dolomite_base>=0.2.0 - dolomite_sce>=0.1.0 - dolomite_se>=0.1.0 - multiassayexperiment>=0.4.2,<0.5.0 + dolomite_base>=0.2.4 + dolomite_sce>=0.1.2 + dolomite_se>=0.1.3 + multiassayexperiment>=0.4.2 biocutils pandas numpy diff --git a/src/dolomite_mae/read_multi_assay_experiment.py b/src/dolomite_mae/read_multi_assay_experiment.py index 97be2e8..9310a94 100644 --- a/src/dolomite_mae/read_multi_assay_experiment.py +++ b/src/dolomite_mae/read_multi_assay_experiment.py @@ -7,9 +7,9 @@ from dolomite_base.read_object import read_object_registry from multiassayexperiment import MultiAssayExperiment -read_object_registry[ - "multi_sample_dataset" -] = "dolomite_mae.read_multi_assay_experiment" +read_object_registry["multi_sample_dataset"] = ( + "dolomite_mae.read_multi_assay_experiment" +) def read_multi_assay_experiment( @@ -30,7 +30,7 @@ def read_multi_assay_experiment( Metadata for the object. kwargs: - Further arguments, ignored. + Further arguments. Returns: A @@ -41,7 +41,7 @@ def read_multi_assay_experiment( _sample_path = os.path.join(path, "sample_data") _sample_data = None if os.path.exists(_sample_path): - _sample_data = dl.read_object(_sample_path) + _sample_data = dl.alt_read_object(_sample_path, **kwargs) if _sample_data is None: raise RuntimeError("Cannot read 'sample_data'.") @@ -70,7 +70,7 @@ def read_multi_assay_experiment( _expt_read_path = os.path.join(_expts_path, str(_aidx)) try: - _expts[_aname] = dl.read_object(_expt_read_path) + _expts[_aname] = dl.alt_read_object(_expt_read_path, **kwargs) except Exception as ex: raise RuntimeError( f"failed to load experiment '{_aname}' from '{path}'; " @@ -95,7 +95,7 @@ def read_multi_assay_experiment( _meta_path = os.path.join(path, "other_data") if os.path.exists(_meta_path): - _meta = dl.read_object(_meta_path) + _meta = dl.alt_read_object(_meta_path, **kwargs) mae = mae.set_metadata(_meta.as_dict()) return mae diff --git a/src/dolomite_mae/save_multi_assay_experiment.py b/src/dolomite_mae/save_multi_assay_experiment.py index 2086565..3cf12cd 100644 --- a/src/dolomite_mae/save_multi_assay_experiment.py +++ b/src/dolomite_mae/save_multi_assay_experiment.py @@ -36,7 +36,8 @@ def save_multi_assay_experiment( Further arguments to pass to the ``save_object`` method for the assays. - kwargs: Further arguments, ignored. + kwargs: + Further arguments. Returns: ``x`` is saved to path. @@ -49,14 +50,12 @@ def save_multi_assay_experiment( if assay_args is None: assay_args = {} - with open(os.path.join(path, "OBJECT"), "w", encoding="utf-8") as handle: - handle.write( - '{ "type": "multi_sample_dataset", "multi_sample_dataset": { "version": "1.0" } }' - ) + _info = {"multi_sample_dataset": {"version": "1.0"}} + dl.save_object_file(path, "multi_sample_dataset", _info) # sample/column data _sample_path = os.path.join(path, "sample_data") - dl.save_object(x.get_column_data(), _sample_path, **data_frame_args) + dl.alt_save_object(x.get_column_data(), _sample_path, **data_frame_args, **kwargs) # save alt expts. _expt_names = x.get_experiment_names() @@ -70,11 +69,12 @@ def save_multi_assay_experiment( for _aidx, _aname in enumerate(_expt_names): _expt_save_path = os.path.join(_expt_path, str(_aidx)) try: - dl.save_object( + dl.alt_save_object( x.experiment(_aname), path=_expt_save_path, data_frame_args=data_frame_args, assay_args=assay_args, + **kwargs, ) except Exception as ex: raise RuntimeError( @@ -125,6 +125,6 @@ def save_multi_assay_experiment( _meta = x.get_metadata() if _meta is not None and len(_meta) > 0: - dl.save_object(_meta, path=os.path.join(path, "other_data")) + dl.alt_save_object(_meta, path=os.path.join(path, "other_data"), **kwargs) return