Search in sources :

Example 1 with MNVValidator

use of com.hartwig.hmftools.strelka.mnv.MNVValidator in project hmftools by hartwigmedical.

the class MNVValidatorApplication method processVariants.

private static void processVariants(@NotNull final String filePath, @NotNull final String outputVcf, @NotNull final String tumorBam) {
    final VCFFileReader vcfReader = new VCFFileReader(new File(filePath), false);
    final VariantContextWriter vcfWriter = new VariantContextWriterBuilder().setOutputFile(outputVcf).setReferenceDictionary(vcfReader.getFileHeader().getSequenceDictionary()).build();
    vcfWriter.writeHeader(vcfReader.getFileHeader());
    final MNVValidator validator = ImmutableMNVValidator.of(tumorBam);
    Pair<PotentialMNVRegion, Optional<PotentialMNVRegion>> outputPair = ImmutablePair.of(PotentialMNVRegion.empty(), Optional.empty());
    for (final VariantContext variant : vcfReader) {
        final PotentialMNVRegion potentialMNV = outputPair.getLeft();
        outputPair = MNVDetector.fitsMNVRegion(potentialMNV, variant);
        outputPair.getRight().ifPresent(mnvRegion -> validator.mergeVariants(mnvRegion).forEach(vcfWriter::add));
    }
    validator.mergeVariants(outputPair.getLeft()).forEach(vcfWriter::add);
    vcfWriter.close();
    vcfReader.close();
    LOGGER.info("Written output variants to " + outputVcf);
}
Also used : PotentialMNVRegion(com.hartwig.hmftools.strelka.mnv.PotentialMNVRegion) VariantContextWriterBuilder(htsjdk.variant.variantcontext.writer.VariantContextWriterBuilder) Optional(java.util.Optional) VCFFileReader(htsjdk.variant.vcf.VCFFileReader) ImmutableMNVValidator(com.hartwig.hmftools.strelka.mnv.ImmutableMNVValidator) MNVValidator(com.hartwig.hmftools.strelka.mnv.MNVValidator) VariantContext(htsjdk.variant.variantcontext.VariantContext) VariantContextWriter(htsjdk.variant.variantcontext.writer.VariantContextWriter) File(java.io.File)

Example 2 with MNVValidator

use of com.hartwig.hmftools.strelka.mnv.MNVValidator in project hmftools by hartwigmedical.

the class StrelkaPostProcessApplication method processVariants.

private static void processVariants(@NotNull final String filePath, @NotNull final Slicer highConfidenceSlicer, @NotNull final String outputVcf, @NotNull final String sampleName, @NotNull final String tumorBam) {
    final VCFFileReader vcfReader = new VCFFileReader(new File(filePath), false);
    final VCFHeader outputHeader = generateOutputHeader(vcfReader.getFileHeader(), sampleName);
    final VariantContextWriter writer = new VariantContextWriterBuilder().setOutputFile(outputVcf).setReferenceDictionary(outputHeader.getSequenceDictionary()).build();
    writer.writeHeader(outputHeader);
    final MNVValidator validator = ImmutableMNVValidator.of(tumorBam);
    Pair<PotentialMNVRegion, Optional<PotentialMNVRegion>> outputPair = ImmutablePair.of(PotentialMNVRegion.empty(), Optional.empty());
    final VariantContextFilter filter = new StrelkaPostProcess(highConfidenceSlicer);
    for (final VariantContext variantContext : vcfReader) {
        if (filter.test(variantContext)) {
            final VariantContext simplifiedVariant = StrelkaPostProcess.simplifyVariant(variantContext, sampleName);
            final PotentialMNVRegion potentialMNV = outputPair.getLeft();
            outputPair = MNVDetector.fitsMNVRegion(potentialMNV, simplifiedVariant);
            outputPair.getRight().ifPresent(mnvRegion -> validator.mergeVariants(mnvRegion).forEach(writer::add));
        }
    }
    validator.mergeVariants(outputPair.getLeft()).forEach(writer::add);
    writer.close();
    vcfReader.close();
    LOGGER.info("Written output variants to " + outputVcf);
}
Also used : PotentialMNVRegion(com.hartwig.hmftools.strelka.mnv.PotentialMNVRegion) Optional(java.util.Optional) VariantContextFilter(htsjdk.variant.variantcontext.filter.VariantContextFilter) VCFFileReader(htsjdk.variant.vcf.VCFFileReader) ImmutableMNVValidator(com.hartwig.hmftools.strelka.mnv.ImmutableMNVValidator) MNVValidator(com.hartwig.hmftools.strelka.mnv.MNVValidator) VariantContext(htsjdk.variant.variantcontext.VariantContext) VariantContextWriterBuilder(htsjdk.variant.variantcontext.writer.VariantContextWriterBuilder) VariantContextWriter(htsjdk.variant.variantcontext.writer.VariantContextWriter) VCFHeader(htsjdk.variant.vcf.VCFHeader) File(java.io.File)

Aggregations

ImmutableMNVValidator (com.hartwig.hmftools.strelka.mnv.ImmutableMNVValidator)2 MNVValidator (com.hartwig.hmftools.strelka.mnv.MNVValidator)2 PotentialMNVRegion (com.hartwig.hmftools.strelka.mnv.PotentialMNVRegion)2 VariantContext (htsjdk.variant.variantcontext.VariantContext)2 VariantContextWriter (htsjdk.variant.variantcontext.writer.VariantContextWriter)2 VariantContextWriterBuilder (htsjdk.variant.variantcontext.writer.VariantContextWriterBuilder)2 VCFFileReader (htsjdk.variant.vcf.VCFFileReader)2 File (java.io.File)2 Optional (java.util.Optional)2 VariantContextFilter (htsjdk.variant.variantcontext.filter.VariantContextFilter)1 VCFHeader (htsjdk.variant.vcf.VCFHeader)1