Skip to content

Commit e844e38

Browse files
committed
PBSV can only output unzipped VCFs
1 parent c5761c9 commit e844e38

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

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

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.labkey.api.pipeline.PipelineJob;
66
import org.labkey.api.pipeline.PipelineJobException;
77
import org.labkey.api.pipeline.RecordedAction;
8+
import org.labkey.api.sequenceanalysis.SequenceAnalysisService;
89
import org.labkey.api.sequenceanalysis.SequenceOutputFile;
910
import org.labkey.api.sequenceanalysis.pipeline.AbstractParameterizedOutputHandler;
1011
import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome;
@@ -15,8 +16,11 @@
1516
import org.labkey.api.sequenceanalysis.run.SimpleScriptWrapper;
1617
import org.labkey.api.util.FileType;
1718
import org.labkey.sequenceanalysis.SequenceAnalysisModule;
19+
import org.labkey.sequenceanalysis.run.util.BgzipRunner;
1820

1921
import java.io.File;
22+
import java.io.IOException;
23+
import java.lang.reflect.InaccessibleObjectException;
2024
import java.util.ArrayList;
2125
import java.util.Arrays;
2226
import java.util.List;
@@ -89,9 +93,9 @@ public void processFilesRemote(List<SequenceOutputFile> inputFiles, JobContext c
8993
});
9094

9195
String fileName = ctx.getParams().getString("fileName");
92-
if (!fileName.toLowerCase().endsWith("vcf.gz"))
96+
if (!fileName.toLowerCase().endsWith("vcf"))
9397
{
94-
fileName = fileName + ".vcf.gz";
98+
fileName = fileName + ".vcf";
9599
}
96100

97101
File vcfOut = new File(ctx.getOutputDir(), fileName);
@@ -104,9 +108,25 @@ public void processFilesRemote(List<SequenceOutputFile> inputFiles, JobContext c
104108
throw new PipelineJobException("Unable to find file: " + vcfOut.getPath());
105109
}
106110

111+
// Ensure output bgzipped:
112+
File bgVcf = SequenceAnalysisService.get().bgzipFile(vcfOut, ctx.getLogger());
113+
try
114+
{
115+
SequenceAnalysisService.get().ensureVcfIndex(bgVcf, ctx.getLogger(), true);
116+
}
117+
catch (IOException e)
118+
{
119+
throw new PipelineJobException(e);
120+
}
121+
122+
if (vcfOut.exists())
123+
{
124+
throw new PipelineJobException("Unzipped VCF should not exist: " + vcfOut.getPath());
125+
}
126+
107127
SequenceOutputFile so = new SequenceOutputFile();
108128
so.setName("pbsv call: " + fileName);
109-
so.setFile(vcfOut);
129+
so.setFile(bgVcf);
110130
so.setCategory("PBSV VCF");
111131
so.setLibrary_id(genome.getGenomeId());
112132

0 commit comments

Comments
 (0)