2727
2828sys .path .append (meta ["resources_dir" ])
2929from setup_logger import setup_logger
30-
30+ from compress_h5mu import write_h5ad_to_h5mu_with_compression
3131
3232logger = setup_logger ()
3333
@@ -112,15 +112,10 @@ def format_results(adata, par, filtered_key_added=None):
112112
113113
114114def main (par ):
115- logger .info ("Loading MuData from '%s'" , par ["input" ])
116- mdata = mu .read_h5mu (par ["input" ])
117-
118- logger .info ("Selecting modality '%s'" , par ["modality" ])
119- if par ["modality" ] not in mdata .mod :
120- raise ValueError (
121- f"'{ par ['modality' ]} ' is not a modality in the input data. Available modalities: { list (mdata .mod .keys ())} ."
122- )
123- adata = mdata [par ["modality" ]]
115+ logger .info (
116+ "Loading AnnData from '%s' modality '%s'" , par ["input" ], par ["modality" ]
117+ )
118+ adata = mu .read_anndata (par ["input" ], mod = par ["modality" ])
124119
125120 logger .info ("Selecting clustering column '%s'" , par ["obs_clustering" ])
126121 if par ["obs_clustering" ] not in adata .obs .columns :
@@ -142,7 +137,13 @@ def main(par):
142137 results = format_results (adata , par , filtered_key_added )
143138
144139 logger .info ("Writing MuData output to '%s'" , par ["output" ])
145- mdata .write_h5mu (par ["output" ], compression = par ["output_compression" ])
140+ write_h5ad_to_h5mu_with_compression (
141+ par ["output" ],
142+ par ["input" ],
143+ par ["modality" ],
144+ adata ,
145+ par ["output_compression" ],
146+ )
146147
147148 logger .info ("Writing marker results to '%s'" , par ["output_markers" ])
148149 results .to_csv (par ["output_markers" ], index = False )
0 commit comments