Skip to content

Commit edb4ac2

Browse files
committed
Dont sort samples when merging VCFs
1 parent 3c6fb07 commit edb4ac2

File tree

4 files changed

+8
-26
lines changed

4 files changed

+8
-26
lines changed

SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisController.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
package org.labkey.sequenceanalysis;
1717

1818
import htsjdk.samtools.SAMException;
19-
import htsjdk.tribble.AbstractFeatureReader;
20-
import htsjdk.tribble.FeatureReader;
2119
import htsjdk.tribble.TribbleException;
22-
import htsjdk.variant.vcf.VCFCodec;
20+
import htsjdk.variant.vcf.VCFFileReader;
2321
import htsjdk.variant.vcf.VCFHeader;
2422
import org.apache.commons.io.FileUtils;
2523
import org.apache.commons.io.IOUtils;
@@ -5115,13 +5113,13 @@ public ApiResponse execute(OutputFilesForm form, BindException errors) throws Ex
51155113
return new ApiSimpleResponse(ret);
51165114
}
51175115

5118-
public List<String> getSamplesForVcf(File vcf) throws IOException
5116+
public List<String> getSamplesForVcf(File vcf)
51195117
{
5120-
try (FeatureReader reader = AbstractFeatureReader.getFeatureReader(vcf.getPath(), new VCFCodec(), false))
5118+
try (VCFFileReader reader = new VCFFileReader(vcf))
51215119
{
5122-
VCFHeader header = (VCFHeader)reader.getHeader();
5120+
VCFHeader header = reader.getFileHeader();
51235121

5124-
return header.getSampleNamesInOrder();
5122+
return header.getGenotypeSamples();
51255123
}
51265124
}
51275125
}

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ProcessVariantsHandler.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -384,14 +384,6 @@ public static File processVCF(File input, Integer libraryId, JobContext ctx, Res
384384
{
385385
ctx.getLogger().info("Starting to run: " + stepCtx.getProvider().getLabel());
386386

387-
//To debug sample name issue:
388-
try (VCFFileReader reader = new VCFFileReader(input))
389-
{
390-
VCFHeader header = reader.getFileHeader();
391-
ctx.getLogger().info("Total samples: " + header.getSampleNamesInOrder().size());
392-
ctx.getLogger().info("Sample names: " + StringUtils.join(header.getSampleNamesInOrder(), ","));
393-
}
394-
395387
ctx.getJob().setStatus(PipelineJob.TaskStatus.running, "Running: " + stepCtx.getProvider().getLabel());
396388
stepIdx++;
397389

@@ -441,14 +433,6 @@ public static File processVCF(File input, Integer libraryId, JobContext ctx, Res
441433
ctx.getJob().getLogger().info("passing variants: " + getVCFLineCount(currentVCF, ctx.getJob().getLogger(), true));
442434
ctx.getJob().getLogger().debug("index exists: " + (new File(currentVCF.getPath() + ".tbi")).exists());
443435

444-
//To debug sample name issue:
445-
try (VCFFileReader reader = new VCFFileReader(input))
446-
{
447-
VCFHeader header = reader.getFileHeader();
448-
ctx.getLogger().debug("Total samples in output: " + header.getSampleNamesInOrder().size());
449-
ctx.getLogger().debug("Sample names in output: " + StringUtils.join(header.getSampleNamesInOrder(), ","));
450-
}
451-
452436
try
453437
{
454438
SequenceAnalysisService.get().ensureVcfIndex(currentVCF, ctx.getJob().getLogger(), true);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public Output processVariants(File inputVCF, File outputDirectory, ReferenceGeno
7777
try (VCFFileReader reader = new VCFFileReader(inputVCF); VariantContextWriter writer = builder.build())
7878
{
7979
VCFHeader header = reader.getFileHeader();
80-
List<String> samples = header.getSampleNamesInOrder();
80+
List<String> samples = header.getGenotypeSamples();
8181
List<String> remappedSamples = new ArrayList<>();
8282

8383
int totalRenamed = 0;

SequenceAnalysis/src/org/labkey/sequenceanalysis/util/SequenceUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,9 +462,9 @@ public static File combineVcfs(List<File> files, ReferenceGenome genome, File ou
462462

463463
if (samples.isEmpty())
464464
{
465-
samples.addAll(header.getSampleNamesInOrder());
465+
samples.addAll(header.getGenotypeSamples());
466466
}
467-
else if (!samples.equals(header.getSampleNamesInOrder()))
467+
else if (!samples.equals(header.getGenotypeSamples()))
468468
{
469469
throw new IllegalArgumentException("Samples list different between VCF headers! Encountered for: " + x.getPath());
470470
}

0 commit comments

Comments
 (0)