diff --git a/src/alignmentsProcessing.cpp b/src/alignmentsProcessing.cpp index f04ad4c..68a7f92 100644 --- a/src/alignmentsProcessing.cpp +++ b/src/alignmentsProcessing.cpp @@ -21,9 +21,18 @@ pair, vector> extractAlignmentsA vector t = splitString(region, ":"); vector p = splitString(t[1], "-"); string region1 = t[0] + ":" + to_string(max(static_cast(0), static_cast(stoul(p[0]) - additionalSize))) + "-" + to_string(static_cast(stoul(p[1]) + additionalSize)); - reader.SetRegion(stringToBamRegion(reader, region1)); + + BamRegion r = stringToBamRegion(reader, region1); + if (!reader.SetRegion(r)) { + fprintf(stderr, "Error while attempting to jump to region %s.\n", region1.c_str()); + exit(EXIT_FAILURE); + } } else { - reader.SetRegion(stringToBamRegion(reader, region)); + BamRegion r = stringToBamRegion(reader, region); + if (!reader.SetRegion(r)) { + fprintf(stderr, "Error while attempting to jump to region %s.\n", region.c_str()); + exit(EXIT_FAILURE); + } } @@ -90,9 +99,18 @@ pair, vector> extractAlignmentsW vector t = splitString(region, ":"); vector p = splitString(t[1], "-"); string region1 = t[0] + ":" + to_string(max(static_cast(0), static_cast(stoul(p[0]) - additionalSize))) + "-" + to_string(static_cast(stoul(p[1]) + additionalSize)); - reader.SetRegion(stringToBamRegion(reader, region1)); + + BamRegion r = stringToBamRegion(reader, region1); + if (!reader.SetRegion(r)) { + fprintf(stderr, "Error while attempting to jump to region %s.\n", region1.c_str()); + exit(EXIT_FAILURE); + } } else { - reader.SetRegion(stringToBamRegion(reader, region)); + BamRegion r = stringToBamRegion(reader, region); + if (!reader.SetRegion(r)) { + fprintf(stderr, "Error while attempting to jump to region %s.\n", region.c_str()); + exit(EXIT_FAILURE); + } } robin_hood::unordered_set headersSet; @@ -121,4 +139,4 @@ pair, vector> extractAlignmentsW } return make_pair(headersSet, alignments); -} \ No newline at end of file +}