From f9781345fceccdca41cd4d436c64c8f28e3ae72f Mon Sep 17 00:00:00 2001 From: bbimber Date: Tue, 23 Jan 2024 21:04:46 -0800 Subject: [PATCH] Improve resume behavior for CRAM conversion --- .../sequenceanalysis/pipeline/SequenceAlignmentTask.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java index f0b4c4aae..bf149d4ff 100644 --- a/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java +++ b/SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java @@ -1113,7 +1113,14 @@ else if (step.expectToCreateNewBam()) final File cramFile = new File(renamedBam.getParentFile(), FileUtil.getBaseName(renamedBam) + ".cram"); final File cramFileIdx = new File(cramFile.getPath() + ".crai"); Integer threads = SequenceTaskHelper.getMaxThreads(getJob()); - new SamtoolsCramConverter(getJob().getLogger()).convert(renamedBam, cramFile, referenceGenome.getWorkingFastaFileGzipped(), true, threads); + if (cramFileIdx.exists()) + { + new SamtoolsCramConverter(getJob().getLogger()).convert(renamedBam, cramFile, referenceGenome.getWorkingFastaFileGzipped(), true, threads); + } + else + { + getJob().getLogger().debug("CRAM index already exists, skipping conversion"); + } final File finalBam = renamedBam; final File finalBamIdx = new File(renamedBam.getPath() + ".bai");