diff --git a/modules/solo.nf b/modules/solo.nf index 72b5fd3..5a50852 100644 --- a/modules/solo.nf +++ b/modules/solo.nf @@ -27,6 +27,16 @@ process SOLO { adata = sc.read_h5ad("${adata}") + adata_batch = adata[adata.obs.batch == "${batch}"] + batch_size = len(adata_batch) + + if batch_size < 128: + print(f"Batch size too small ({batch_size}), skipping SOLO") + solo_res = pd.DataFrame(index=adata_batch.obs.index) + solo_res["doublet_label"] = "Unknown" + solo_res.to_pickle("${new_meta.id}.solo.pkl") + exit(0) + if ${has_celltypes ? "True" : "False"}: scvi.model.SCANVI.setup_anndata(adata, batch_key="batch", labels_key="cell_type", unlabeled_category="Unknown") scvi_model = scvi.model.SCANVI.load("${scvi_model}", adata=adata)