From 103a04ea8ba1a24d9b8d35e1b12bfe49d8206bf7 Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Tue, 20 Feb 2024 22:29:17 +0100 Subject: [PATCH] Make HVG identification more robust when low expression values are present --- modules/identify_hvgs.nf | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/modules/identify_hvgs.nf b/modules/identify_hvgs.nf index bf693a8..7f201f2 100644 --- a/modules/identify_hvgs.nf +++ b/modules/identify_hvgs.nf @@ -19,10 +19,21 @@ process IDENTIFY_HVGS { import scanpy as sc adata = sc.read_h5ad("${adata}") - sc.pp.highly_variable_genes(adata, - n_top_genes=${n_hvgs}, - flavor="seurat_v3", - batch_key="batch") + + span = 0.3 # default + worked = False + + while not worked and span <= 1: + try: + sc.pp.highly_variable_genes(adata, + n_top_genes=10000, + flavor="seurat_v3", + span=span, + batch_key="batch") + worked = True + except: + span += 0.1 + print(f"Increased span to {span}") adata.var[["highly_variable"]].to_pickle("${meta.id}.hvgs.pkl") """