55import org .labkey .api .pipeline .PipelineJob ;
66import org .labkey .api .pipeline .PipelineJobException ;
77import org .labkey .api .pipeline .RecordedAction ;
8+ import org .labkey .api .sequenceanalysis .SequenceAnalysisService ;
89import org .labkey .api .sequenceanalysis .SequenceOutputFile ;
910import org .labkey .api .sequenceanalysis .pipeline .AbstractParameterizedOutputHandler ;
1011import org .labkey .api .sequenceanalysis .pipeline .ReferenceGenome ;
1516import org .labkey .api .sequenceanalysis .run .SimpleScriptWrapper ;
1617import org .labkey .api .util .FileType ;
1718import org .labkey .sequenceanalysis .SequenceAnalysisModule ;
19+ import org .labkey .sequenceanalysis .run .util .BgzipRunner ;
1820
1921import java .io .File ;
22+ import java .io .IOException ;
23+ import java .lang .reflect .InaccessibleObjectException ;
2024import java .util .ArrayList ;
2125import java .util .Arrays ;
2226import 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