[docs]defread_single_cell_experiment(path:str,metadata:dict,**kwargs)->SingleCellExperiment:"""Load a :py:class:`~singlecellexperiment.SingleCellExperiment.SingleCellExperiment` from its on-disk representation. This method should generally not be called directly but instead be invoked by :py:meth:`~dolomite_base.read_object.read_object`. Args: path: Path to the directory containing the object. metadata: Metadata for the object. kwargs: Further arguments. Returns: A :py:class:`~singlecellexperiment.SingleCellExperiment.SingleCellExperiment` with file-backed arrays in the assays. """# see comments in read_ranged_summarized_experiment in dolomite_se.rse=dlse.read_ranged_summarized_experiment(path,metadata=metadata,**kwargs)_main_expt_name=Noneif"main_experiment_name"inmetadata["single_cell_experiment"]:_main_expt_name=metadata["single_cell_experiment"]["main_experiment_name"]sce=SingleCellExperiment(assays=rse.get_assays(),row_data=rse.get_row_data(),column_data=rse.get_column_data(),row_ranges=rse.get_row_ranges(),metadata=rse.get_metadata(),main_experiment_name=_main_expt_name,)_rdim_path=os.path.join(path,"reduced_dimensions")ifos.path.exists(_rdim_path):_rdims={}withopen(os.path.join(_rdim_path,"names.json"),"r")ashandle:_rdim_names=json.load(handle)for_aidx,_anameinenumerate(_rdim_names):_rdim_read_path=os.path.join(_rdim_path,str(_aidx))try:_rdims[_aname]=dl.alt_read_object(_rdim_read_path,**kwargs)exceptExceptionasex:raiseRuntimeError(f"failed to load reduced dimension '{_aname}' from '{path}'; "+str(ex))sce=sce.set_reduced_dims(_rdims)_alt_path=os.path.join(path,"alternative_experiments")ifos.path.exists(_alt_path):_alts={}withopen(os.path.join(_alt_path,"names.json"),"r")ashandle:_alt_names=json.load(handle)for_aidx,_anameinenumerate(_alt_names):_alt_read_path=os.path.join(_alt_path,str(_aidx))try:_alts[_aname]=dl.alt_read_object(_alt_read_path,**kwargs)exceptExceptionasex:raiseRuntimeError(f"failed to load alternative experiment '{_aname}' from '{path}'; "+str(ex))sce=sce.set_alternative_experiments(_alts)returnsce