From 25814614a6c46d4a188bfdfa81d017b15f208d05 Mon Sep 17 00:00:00 2001 From: chuan-wang Date: Thu, 24 Oct 2024 16:01:23 +0200 Subject: [PATCH] Fix TACA for handling 10X UMI cases by BCL Convert --- VERSIONLOG.md | 4 ++++ taca/illumina/Standard_Runs.py | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/VERSIONLOG.md b/VERSIONLOG.md index 80739235..83b598e7 100644 --- a/VERSIONLOG.md +++ b/VERSIONLOG.md @@ -1,5 +1,9 @@ # TACA Version Log +## 20241024.1 + +Fix TACA for handling 10X UMI cases by BCL Convert + ## 20241016.1 Switch to tarball and skip compression diff --git a/taca/illumina/Standard_Runs.py b/taca/illumina/Standard_Runs.py index ae49eaa2..a0733ed3 100755 --- a/taca/illumina/Standard_Runs.py +++ b/taca/illumina/Standard_Runs.py @@ -676,11 +676,11 @@ def _compute_base_mask( if is_dual_index or sample_type == "10X_SINGLE": if ( sample_type == "10X_SINGLE" - ): # Case of 10X single indexes, demultiplex the whole index 2 cycles as FastQ for bcl2fastq. But this has to be ignored for bclconvert + ): # Case of 10X single indexes, demultiplex the whole index 2 cycles as FastQ of read for bcl2fastq. For BCL-convert it is treated as UMI if self.software == "bcl2fastq": bm.append("Y" + str(cycles)) elif self.software == "bclconvert": - bm.append("N" + str(cycles)) + bm.append("U" + str(cycles)) else: raise RuntimeError("Unrecognized software!") else: @@ -878,6 +878,8 @@ def _generate_samplesheet_subset( if software == "bclconvert": output += f"[Settings]{os.linesep}" output += "OverrideCycles,{}{}".format(";".join(base_mask), os.linesep) + if any("U" in bm for bm in base_mask): + output += f"TrimUMI,0{os.linesep}" if CONFIG.get("bclconvert"): if CONFIG["bclconvert"].get("settings"):