From c2f3c6589ffab7c69fc46684b5be0990584b7542 Mon Sep 17 00:00:00 2001 From: Alexander Dobin Date: Wed, 1 Jun 2022 14:05:01 -0400 Subject: [PATCH] Bug-fix alpha: 2.7.10a_alpha_220601 : Issue #1543: Fixed a segfault occurring for STARsolo multimappers and large number of reads per cell. --- CHANGES.md | 1 + source/SoloFeature_collapseUMIall_multiMappers.cpp | 4 ++-- source/VERSION | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 396861dc..b16f7e98 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,4 @@ +* Issue #1543: Fixed a segfault occurring for STARsolo multimappers and large number of reads per cell. * Issue #1558: Fixed a bug with output of GX/GN BAM tags without CB/UB. * Fixed a bug with --soloMultiMappers for small number of cells cases. * Issue #1513: If --soloMultiMappers options are not requested, output "NoMulti" in the "Reads Mapped to Gene: Unique+Multiple Gene" line of the Summary.csv file. diff --git a/source/SoloFeature_collapseUMIall_multiMappers.cpp b/source/SoloFeature_collapseUMIall_multiMappers.cpp index 9023bbd7..269142a8 100644 --- a/source/SoloFeature_collapseUMIall_multiMappers.cpp +++ b/source/SoloFeature_collapseUMIall_multiMappers.cpp @@ -17,8 +17,8 @@ void SoloFeature::collapseUMIall(uint32 iCB, uint32 *umiArray) uint32 gid1 = -1;//current gID uint32 nGenes = 0, nGenesMult = 0; //number of genes - uint32 *gID = new uint32[min(featuresNumber,rN)+1]; //gene IDs - uint32 *gReadS = new uint32[min(featuresNumber,rN)+1]; //start of gene reads TODO: allocate this array in the 2nd half of rGU + uint32 *gID = new uint32[min(2*featuresNumber,rN)+1]; //gene IDs, 2* is needed because each gene can have unique and multi-mappers + uint32 *gReadS = new uint32[min(2*featuresNumber,rN)+1]; //start of gene reads TODO: allocate this array in the 2nd half of rGU for (uint32 iR=0; iR