comparison decoupler_pseudobulk.py @ 12:4523224b53ce draft default tip

planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 626c1018b662202de10ce77f123fc27f584beb9c
author ebi-gxa
date Fri, 13 Jun 2025 09:08:13 +0000
parents db14ac3f6b43
children
comparison
equal deleted inserted replaced
11:db14ac3f6b43 12:4523224b53ce
322 >>> import scanpy as sc 322 >>> import scanpy as sc
323 >>> adata = sc.datasets.pbmc68k_reduced() 323 >>> adata = sc.datasets.pbmc68k_reduced()
324 >>> check_fields(["bulk_labels", "louvain"], adata, obs=True) 324 >>> check_fields(["bulk_labels", "louvain"], adata, obs=True)
325 """ 325 """
326 326
327 # Fields that will be created during the pseudobulking process
328 pseudobulk_generated_fields = ['psbulk_n_cells', 'psbulk_counts']
329
330 # Filter out the pseudobulk-generated fields from checking
331 fields_to_check = [field for field in fields
332 if field not in pseudobulk_generated_fields]
333
327 legend = "" 334 legend = ""
328 if context: 335 if context:
329 legend = f", passed in {context}," 336 legend = f", passed in {context},"
330 if obs: 337 if obs:
331 if not set(fields).issubset(set(adata.obs.columns)): 338 if not set(fields_to_check).issubset(set(adata.obs.columns)):
332 raise ValueError( 339 raise ValueError(
333 f"Some of the following fields {legend} are not present \ 340 f"Some of the following fields {legend} are not present \
334 in adata.obs: {fields}. \ 341 in adata.obs: {fields_to_check}. \
335 Possible fields are: {list(set(adata.obs.columns))}" 342 Possible fields are: {list(set(adata.obs.columns))}"
336 ) 343 )
337 else: 344 else:
338 if not set(fields).issubset(set(adata.var.columns)): 345 if not set(fields_to_check).issubset(set(adata.var.columns)):
339 raise ValueError( 346 raise ValueError(
340 f"Some of the following fields {legend} are not present \ 347 f"Some of the following fields {legend} are not present \
341 in adata.var: {fields}. \ 348 in adata.var: {fields_to_check}. \
342 Possible fields are: {list(set(adata.var.columns))}" 349 Possible fields are: {list(set(adata.var.columns))}"
343 ) 350 )
344 351
345 352
346 def main(args): 353 def main(args):