Skip to content

Commit a228277

Browse files
committed
Pass -L to DepthOfCoverage in all cases
1 parent ef66ee8 commit a228277

File tree

3 files changed

+28
-13
lines changed

3 files changed

+28
-13
lines changed

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/AbstractGatk4Wrapper.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package org.labkey.api.sequenceanalysis.run;
22

3+
import htsjdk.variant.utils.SAMSequenceDictionaryExtractor;
34
import org.apache.commons.lang3.StringUtils;
4-
import org.apache.commons.math3.exception.ConvergenceException;
55
import org.apache.log4j.Logger;
6-
import org.labkey.api.data.ConvertHelper;
76
import org.labkey.api.pipeline.PipelineJobException;
87
import org.labkey.api.pipeline.PipelineJobService;
98
import org.labkey.api.sequenceanalysis.SequenceAnalysisService;
9+
import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome;
1010
import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService;
11+
import org.labkey.api.writer.PrintWriters;
1112

1213
import java.io.File;
14+
import java.io.IOException;
15+
import java.io.PrintWriter;
1316
import java.util.ArrayList;
1417
import java.util.List;
1518

@@ -103,4 +106,22 @@ protected List<String> getBaseArgs()
103106

104107
return args;
105108
}
109+
110+
public static List<String> generateIntervalArgsForFullGenome(ReferenceGenome rg, File intervalFile) throws PipelineJobException
111+
{
112+
try (PrintWriter writer = PrintWriters.getPrintWriter(intervalFile))
113+
{
114+
SAMSequenceDictionaryExtractor.extractDictionary(rg.getSequenceDictionary().toPath()).getSequences().forEach(x -> writer.println(x.getSequenceName()));
115+
}
116+
catch (IOException e)
117+
{
118+
throw new PipelineJobException(e);
119+
}
120+
121+
List<String> ret = new ArrayList<>();
122+
ret.add("-L");
123+
ret.add(intervalFile.getPath());
124+
125+
return ret;
126+
}
106127
}

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/analysis/LofreqAnalysis.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ public Output performAnalysisPerSampleRemote(Readset rs, File inputBam, Referenc
142142
extraArgs.add("--omit-per-sample-statistics");
143143
extraArgs.add("--omit-interval-statistics");
144144

145+
File intervalList = new File(outputDir, "depthOfCoverageIntervals.intervals");
146+
output.addIntermediateFile(intervalList);
147+
extraArgs.addAll(DepthOfCoverageWrapper.generateIntervalArgsForFullGenome(referenceGenome, intervalList));
148+
145149
wrapper.run(Collections.singletonList(inputBam), coverageOut.getPath(), referenceGenome.getWorkingFastaFile(), extraArgs, true);
146150
if (!coverageOut.exists())
147151
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/DepthOfCoverageHandler.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -136,17 +136,7 @@ public void processFilesRemote(List<SequenceOutputFile> inputFiles, JobContext c
136136
//GATK4 now requires intervals:
137137
File intervalList = new File(ctx.getOutputDir(), "depthOfCoverageIntervals.intervals");
138138
ctx.getFileManager().addIntermediateFile(intervalList);
139-
try (PrintWriter writer = PrintWriters.getPrintWriter(intervalList))
140-
{
141-
SAMSequenceDictionaryExtractor.extractDictionary(rg.getSequenceDictionary().toPath()).getSequences().forEach(x -> writer.println(x.getSequenceName()));
142-
}
143-
catch (IOException e)
144-
{
145-
throw new PipelineJobException(e);
146-
}
147-
148-
extraArgs.add("-L");
149-
extraArgs.add(intervalList.getPath());
139+
extraArgs.addAll(DepthOfCoverageWrapper.generateIntervalArgsForFullGenome(rg, intervalList));
150140
}
151141

152142
Integer mmq = ctx.getParams().optInt("mmq");

0 commit comments

Comments
 (0)