diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/AssemblyComplexity.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/AssemblyComplexity.java index c3220d1a865..c71d6faabb4 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/AssemblyComplexity.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/AssemblyComplexity.java @@ -4,6 +4,7 @@ import htsjdk.samtools.util.Locatable; import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.VariantContext; +import jdk.nashorn.internal.runtime.regexp.joni.constants.EncloseType; import org.apache.commons.lang.mutable.MutableInt; import org.broadinstitute.barclay.argparser.Argument; import org.apache.commons.lang3.tuple.Triple; @@ -81,8 +82,10 @@ public static Triple annotate(final VariantContext vc, // with the greatest read support is considered germline, and as a heuristic we consider the second-most-supported // haplotype to be germline as well if it is at least half as supported (in terms of best read count) as the most-supported. // as above, we exclude differences at the variant site itself to avoid reference and germline bias + Comparator> countComparator = Comparator.comparingInt(entry -> -entry.getValue().intValue()); + Comparator> alleleComparator =Comparator.comparing(entry -> entry.getKey().getBaseString()); final List haplotypesByDescendingSupport = haplotypeSupportCounts.entrySet().stream() - .sorted(Comparator.comparingInt(entry -> -entry.getValue().intValue())) + .sorted(countComparator.thenComparing(alleleComparator)) .map(entry -> entry.getKey()) .collect(Collectors.toList()); diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerArgumentCollection.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerArgumentCollection.java index 85cf6aac7d6..b9dc7357424 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerArgumentCollection.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerArgumentCollection.java @@ -337,7 +337,8 @@ public SWParameters getReadToHaplotypeSWParameters() { @Hidden @Advanced - @Argument(fullName=FLOW_ASSEMBLY_COLLAPSE_HMER_SIZE_LONG_NAME, doc="Collapse reference regions with >Nhmer during assembly, normal value when used is 12", optional = true) + @Argument(fullName=FLOW_ASSEMBLY_COLLAPSE_HMER_SIZE_LONG_NAME, doc="Collapse reference regions with >Nhmer during assembly, normal value when used is 12, " + + "-1 means - determine automatically from mc tag in the reads, 0 - disable", optional = true) public int flowAssemblyCollapseHKerSize = 0; @Advanced diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerUtils.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerUtils.java index fd72d9d5890..f791f8d0c70 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerUtils.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/AssemblyBasedCallerUtils.java @@ -4,6 +4,7 @@ import htsjdk.samtools.Cigar; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMFileWriter; +import htsjdk.samtools.SAMReadGroupRecord; import htsjdk.samtools.reference.ReferenceSequenceFile; import htsjdk.samtools.util.Locatable; import htsjdk.variant.variantcontext.*; @@ -52,6 +53,7 @@ public final class AssemblyBasedCallerUtils { public static final int REFERENCE_PADDING_FOR_ASSEMBLY = 500; + public static final int DETERMINE_COLLAPSE_THRESHOLD = -1; public static final int NUM_HAPLOTYPES_TO_INJECT_FORCE_CALLING_ALLELES_INTO = 5; public static final String SUPPORTED_ALLELES_TAG="XA"; public static final String CALLABLE_REGION_TAG = "CR"; @@ -363,8 +365,12 @@ public static AssemblyResultSet assembleReads(final AssemblyRegion region, final SWParameters haplotypeToReferenceSWParameters = argumentCollection.getHaplotypeToReferenceSWParameters(); // establish reference mapper, if needed - final LongHomopolymerHaplotypeCollapsingEngine haplotypeCollapsing = (argumentCollection.flowAssemblyCollapseHKerSize > 0 && LongHomopolymerHaplotypeCollapsingEngine.needsCollapsing(refHaplotype.getBases(), argumentCollection.flowAssemblyCollapseHKerSize, logger)) - ? new LongHomopolymerHaplotypeCollapsingEngine(argumentCollection.flowAssemblyCollapseHKerSize, argumentCollection.flowAssemblyCollapsePartialMode, fullReferenceWithPadding, + int collapseHmerSize = argumentCollection.flowAssemblyCollapseHKerSize; + if (collapseHmerSize == DETERMINE_COLLAPSE_THRESHOLD){ + collapseHmerSize = AssemblyBasedCallerUtils.determineFlowAssemblyColapseHmer(header); + } + final LongHomopolymerHaplotypeCollapsingEngine haplotypeCollapsing = ( collapseHmerSize > 0 && LongHomopolymerHaplotypeCollapsingEngine.needsCollapsing(refHaplotype.getBases(), collapseHmerSize, logger)) + ? new LongHomopolymerHaplotypeCollapsingEngine(collapseHmerSize, argumentCollection.flowAssemblyCollapsePartialMode, fullReferenceWithPadding, paddedReferenceLoc, logger, argumentCollection.assemblerArgs.debugAssembly, aligner, argumentCollection.getHaplotypeToReferenceSWParameters()) : null; if ( haplotypeCollapsing != null ) { @@ -411,6 +417,18 @@ public static AssemblyResultSet assembleReads(final AssemblyRegion region, } } + private static int determineFlowAssemblyColapseHmer(SAMFileHeader readsHeader) { + int result = 0; + List rgr = readsHeader.getReadGroups(); + for (SAMReadGroupRecord rg : rgr) { + FlowBasedReadUtils.ReadGroupInfo rgi = new FlowBasedReadUtils.ReadGroupInfo(rg); + if (rgi.maxClass >= result) { + result = rgi.maxClass; + } + } + return result; + } + /** * Handle pileup detected alternate alleles. */ @@ -1217,4 +1235,5 @@ private static GATKRead revertSoftClippedBases(GATKRead inputRead){ result.setAttribute(ReferenceConfidenceModel.ORIGINAL_SOFTCLIP_END_TAG, softEnd); return result; } + } diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerArgumentCollection.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerArgumentCollection.java index 224e3c640dc..d3f6c794472 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerArgumentCollection.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerArgumentCollection.java @@ -264,7 +264,7 @@ public enum FlowMode { MIN_BASE_QUALITY_SCORE_SHORT_NAME, "0", FILTER_ALLELES, "true", FILTER_ALLELES_SOR_THRESHOLD, "3", - FLOW_ASSEMBLY_COLLAPSE_HMER_SIZE_LONG_NAME, "12", + FLOW_ASSEMBLY_COLLAPSE_HMER_SIZE_LONG_NAME, String.valueOf(AssemblyBasedCallerUtils.DETERMINE_COLLAPSE_THRESHOLD), OVERRIDE_FRAGMENT_SOFTCLIP_CHECK_LONG_NAME, "true", FlowBasedAlignmentArgumentCollection.FLOW_LIKELIHOOD_PARALLEL_THREADS_LONG_NAME, "2", FlowBasedAlignmentArgumentCollection.FLOW_LIKELIHOOD_OPTIMIZED_COMP_LONG_NAME, "true", diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerEngine.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerEngine.java index 768264446de..791b368075f 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerEngine.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerEngine.java @@ -475,7 +475,7 @@ public VCFHeader makeVCFHeader( final SAMSequenceDictionary sequenceDictionary, // where the filters are used. For example, in emitting all sites the lowQual field is used headerInfo.add(GATKVCFHeaderLines.getFilterLine(GATKVCFConstants.LOW_QUAL_FILTER_NAME)); - if ( hcArgs.flowAssemblyCollapseHKerSize > 0 ) { + if (( hcArgs.flowAssemblyCollapseHKerSize > 0 ) || (hcArgs.flowAssemblyCollapseHKerSize==AssemblyBasedCallerUtils.DETERMINE_COLLAPSE_THRESHOLD)){ headerInfo.add(GATKVCFHeaderLines.getInfoLine(GATKVCFConstants.EXT_COLLAPSED_KEY)); } diff --git a/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedRead.java b/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedRead.java index 3d4005fca81..f00e9a3edcc 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedRead.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedRead.java @@ -38,7 +38,7 @@ public class FlowBasedRead extends SAMRecordToGATKReadAdapter implements GATKRead, Serializable { - final static public int MAX_CLASS = 12; + public static final int MAX_CLASS = 12; //note - this is a historical value to support files with max class is not defined in the header, it is expected that mc tag exists in the CRAM public static final String DEFAULT_FLOW_ORDER = "TGCA"; private static final long serialVersionUID = 42L; private final Logger logger = LogManager.getLogger(this.getClass()); @@ -224,7 +224,8 @@ public FlowBasedRead(final SAMRecord samRecord, final String flowOrder, final in throw new GATKException("read missing flow matrix attribute: " + FLOW_MATRIX_TAG_NAME); } } - implementMatrixMods(FlowBasedReadUtils.getFlowMatrixModsInstructions(fbargs.flowMatrixMods)); + + implementMatrixMods(FlowBasedReadUtils.getFlowMatrixModsInstructions(fbargs.flowMatrixMods, maxHmer)); //Spread boundary flow probabilities when the read is unclipped //in this case the value of the hmer is uncertain diff --git a/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtils.java b/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtils.java index ea99e127102..63bb6410540 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtils.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtils.java @@ -29,7 +29,7 @@ static public class ReadGroupInfo { private String reversedFlowOrder = null; - ReadGroupInfo(final SAMReadGroupRecord readGroup) { + public ReadGroupInfo(final SAMReadGroupRecord readGroup) { Utils.nonNull(readGroup); this.flowOrder = readGroup.getFlowOrder(); @@ -354,10 +354,10 @@ else if ( readEndMarkedUnclipped(gatkRead, mdArgs.FLOW_Q_IS_KNOWN_END) ) { * * For the implementation logic, see FlowBasedRead.fillFlowMatrix */ - static public int[] getFlowMatrixModsInstructions(final String flowMatrixMods) { + static public int[] getFlowMatrixModsInstructions(final String flowMatrixMods, final int maxHmer) { if ( flowMatrixMods != null ) { - final int[] flowMatrixModsInstructions = new int[FlowBasedRead.MAX_CLASS + 1]; + final int[] flowMatrixModsInstructions = new int[maxHmer + 1]; final String[] toks = flowMatrixMods.split(","); for ( int i = 0 ; i < toks.length - 1 ; i += 2 ) { diff --git a/src/test/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerIntegrationTest.java index 1bf932ee5c5..0bf2fe27ba9 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/walkers/haplotypecaller/HaplotypeCallerIntegrationTest.java @@ -1771,6 +1771,7 @@ public void testGvcfWithAssemblyComplexityAnnotationRevamp() throws Exception { .add("likelihood-calculation-engine","FlowBased") .add("A", "AssemblyComplexity") .addFlag("assembly-complexity-reference-mode") + .add("verbosity","INFO") .add(StandardArgumentDefinitions.ADD_OUTPUT_VCF_COMMANDLINE, false); runCommandLine(args); diff --git a/src/test/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtilsUnitTest.java b/src/test/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtilsUnitTest.java new file mode 100644 index 00000000000..91078d386aa --- /dev/null +++ b/src/test/java/org/broadinstitute/hellbender/utils/read/FlowBasedReadUtilsUnitTest.java @@ -0,0 +1,32 @@ +package org.broadinstitute.hellbender.utils.read; +import htsjdk.samtools.SAMFileHeader; +import htsjdk.samtools.SAMReadGroupRecord; +import htsjdk.samtools.SamReader; +import htsjdk.samtools.SamReaderFactory; +import org.broadinstitute.hellbender.GATKBaseTest; +import org.testng.annotations.Test; + +import java.io.File; +import java.nio.file.FileSystems; +import java.nio.file.Path; + + +public class FlowBasedReadUtilsUnitTest extends GATKBaseTest{ + @Test + void testReadGroupParsing() throws Exception{ + final String testResourceDir = publicTestDir + "org/broadinstitute/hellbender/utils/read/flow/reads/"; + final String inputDir = testResourceDir + "/input/"; + + final Path inputFile = FileSystems.getDefault().getPath(inputDir, "sample_mc.bam"); + final SamReader reader = SamReaderFactory.makeDefault().open(new File(inputFile.toString())); + SAMFileHeader header = reader.getFileHeader(); + SAMReadGroupRecord rg1 = header.getReadGroup("UGAv3-72"); + FlowBasedReadUtils.ReadGroupInfo frg1 = new FlowBasedReadUtils.ReadGroupInfo(rg1); + assert(frg1.maxClass==12); + assert(frg1.flowOrder.startsWith("TGCA")); + SAMReadGroupRecord rg2 = header.getReadGroup("UGAv3-73"); + FlowBasedReadUtils.ReadGroupInfo frg2 = new FlowBasedReadUtils.ReadGroupInfo(rg2); + assert(frg2.maxClass==20); + assert(frg2.flowOrder.startsWith("TGCA")); + } +} diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf index 39827ae85b5..b88f01891ff 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf @@ -3879,7 +3879,7 @@ chr9 81153765 . G . . END=81153766 GT:DP:GQ:MIN_DP:PL 0/0:27:69:25:0,6 chr9 81153767 . A . . END=81153783 GT:DP:GQ:MIN_DP:PL 0/0:25:72:24:0,72,802 chr9 81153784 . A . . END=81153785 GT:DP:GQ:MIN_DP:PL 0/0:28:22:27:0,22,996 chr9 81153786 . G . . END=81153800 GT:DP:GQ:MIN_DP:PL 0/0:28:81:28:0,81,1175 -chr9 81153801 . C CA, 0 . ASSEMBLED_HAPS=10;AS_RAW_BaseQRankSum=|0.0,1|NaN;AS_RAW_MQ=90000.00|10800.00|0.00;AS_RAW_MQRankSum=|0.0,1|NaN;AS_RAW_ReadPosRankSum=|0.9,1|NaN;AS_SB_TABLE=8,17|3,0|0,0;BaseQRankSum=0.000;DP=29;ExcessHet=0.0000;FILTERED_HAPS=6;HAPCOMP=4,0;HAPDOM=0.500,0.00;HEC=55,3,2,1,0,0;MLEAC=0,0;MLEAF=0.00,0.00;MQRankSum=0.000;RAW_MQandDP=104400,29;ReadPosRankSum=0.929;SUSP_NOISY_ADJACENT_TP_VARIANT GT:AD:DP:GQ:PL:SB 0/0:25,3,0:28:18:0,18,58,75,692,115:8,17,3,0 +chr9 81153801 . C CA, 0 . ASSEMBLED_HAPS=10;AS_RAW_BaseQRankSum=|0.0,1|NaN;AS_RAW_MQ=90000.00|10800.00|0.00;AS_RAW_MQRankSum=|0.0,1|NaN;AS_RAW_ReadPosRankSum=|0.9,1|NaN;AS_SB_TABLE=8,17|3,0|0,0;BaseQRankSum=0.000;DP=29;ExcessHet=0.0000;FILTERED_HAPS=6;HAPCOMP=0,0;HAPDOM=0.500,0.00;HEC=55,3,2,1,0,0;MLEAC=0,0;MLEAF=0.00,0.00;MQRankSum=0.000;RAW_MQandDP=104400,29;ReadPosRankSum=0.929;SUSP_NOISY_ADJACENT_TP_VARIANT GT:AD:DP:GQ:PL:SB 0/0:25,3,0:28:18:0,18,58,75,692,115:8,17,3,0 chr9 81153802 . T . . END=81153833 GT:DP:GQ:MIN_DP:PL 0/0:38:99:34:0,99,1135 chr9 81153834 . C . . END=81153834 GT:DP:GQ:MIN_DP:PL 0/0:39:23:39:0,23,1475 chr9 81153835 . A . . END=81153835 GT:DP:GQ:MIN_DP:PL 0/0:39:83:39:0,83,1598 @@ -4206,7 +4206,7 @@ chr9 81156182 . A . . END=81156183 GT:DP:GQ:MIN_DP:PL 0/0:16:28:16:0,2 chr9 81156184 . A . . END=81156185 GT:DP:GQ:MIN_DP:PL 0/0:15:13:13:0,13,144 chr9 81156186 . A . . END=81156190 GT:DP:GQ:MIN_DP:PL 0/0:16:42:16:0,42,630 chr9 81156191 . T . . END=81156194 GT:DP:GQ:MIN_DP:PL 0/0:15:36:15:0,36,540 -chr9 81156195 . A C, 103.06 . ASSEMBLED_HAPS=14;AS_RAW_BaseQRankSum=||;AS_RAW_MQ=0.00|50400.00|0.00;AS_RAW_MQRankSum=||;AS_RAW_ReadPosRankSum=||;AS_SB_TABLE=0,0|3,11|0,0;DP=15;ExcessHet=0.0000;FILTERED_HAPS=6;HAPCOMP=2,0;HAPDOM=0.250,0.00;HEC=10,6,5,2,1,1,1,0;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQandDP=54000,15 GT:AD:DP:GQ:PL:SB 1/1:0,14,0:14:42:117,42,0,595,42,117:0,0,3,11 +chr9 81156195 . A C, 103.06 . ASSEMBLED_HAPS=14;AS_RAW_BaseQRankSum=||;AS_RAW_MQ=0.00|50400.00|0.00;AS_RAW_MQRankSum=||;AS_RAW_ReadPosRankSum=||;AS_SB_TABLE=0,0|3,11|0,0;DP=15;ExcessHet=0.0000;FILTERED_HAPS=6;HAPCOMP=0,0;HAPDOM=0.250,0.00;HEC=10,6,5,2,1,1,1,0;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQandDP=54000,15 GT:AD:DP:GQ:PL:SB 1/1:0,14,0:14:42:117,42,0,595,42,117:0,0,3,11 chr9 81156196 . A . . END=81156196 GT:DP:GQ:MIN_DP:PL 0/0:15:30:15:0,30,450 chr9 81156197 . T . . END=81156197 GT:DP:GQ:MIN_DP:PL 0/0:15:10:15:0,10,592 chr9 81156198 . C . . END=81156206 GT:DP:GQ:MIN_DP:PL 0/0:15:30:11:0,30,450 @@ -4408,7 +4408,7 @@ chr9 81158617 . A . . END=81158617 GT:DP:GQ:MIN_DP:PL 0/0:11:9:11:0,9, chr9 81158618 . T . . END=81158618 GT:DP:GQ:MIN_DP:PL 0/0:10:10:10:0,10,383 chr9 81158619 . G . . END=81158621 GT:DP:GQ:MIN_DP:PL 0/0:9:27:9:0,27,377 chr9 81158622 . C . . END=81158647 GT:DP:GQ:MIN_DP:PL 0/0:12:30:10:0,30,415 -chr9 81158648 . G GA, 0.08 . ASSEMBLED_HAPS=41;AS_RAW_BaseQRankSum=|0.0,1|NaN;AS_RAW_MQ=32400.00|7200.00|0.00;AS_RAW_MQRankSum=|0.0,1|NaN;AS_RAW_ReadPosRankSum=|-0.5,1|NaN;AS_SB_TABLE=5,4|2,0|0,0;BaseQRankSum=0.000;DP=13;ExcessHet=0.0000;FILTERED_HAPS=28;HAPCOMP=2,0;HAPDOM=0.500,0.00;HEC=11,7,6,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;MLEAC=0,0;MLEAF=0.00,0.00;MQRankSum=0.000;RAW_MQandDP=46800,13;ReadPosRankSum=-0.447;SUSP_NOISY_ADJACENT_TP_VARIANT GT:AD:DP:GQ:PL:SB 0/1:9,2,0:11:4:4,0,40,30,186,70:5,4,2,0 +chr9 81158648 . G GA, 0.08 . ASSEMBLED_HAPS=41;AS_RAW_BaseQRankSum=|0.0,1|NaN;AS_RAW_MQ=32400.00|7200.00|0.00;AS_RAW_MQRankSum=|0.0,1|NaN;AS_RAW_ReadPosRankSum=|-0.5,1|NaN;AS_SB_TABLE=5,4|2,0|0,0;BaseQRankSum=0.000;DP=13;ExcessHet=0.0000;FILTERED_HAPS=28;HAPCOMP=1,0;HAPDOM=0.500,0.00;HEC=11,7,6,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;MLEAC=0,0;MLEAF=0.00,0.00;MQRankSum=0.000;RAW_MQandDP=46800,13;ReadPosRankSum=-0.447;SUSP_NOISY_ADJACENT_TP_VARIANT GT:AD:DP:GQ:PL:SB 0/1:9,2,0:11:4:4,0,40,30,186,70:5,4,2,0 chr9 81158649 . A . . END=81158655 GT:DP:GQ:MIN_DP:PL 0/0:11:33:11:0,33,368 chr9 81158656 . A . . END=81158656 GT:DP:GQ:MIN_DP:PL 0/0:12:21:12:0,21,461 chr9 81158657 . C . . END=81158670 GT:DP:GQ:MIN_DP:PL 0/0:13:31:12:0,31,495 diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf.idx index 30f6ebd18c0..ca9a7a40a29 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testGvcfWithAssemblyComplexityAnnotationRevamp.expected.flowbased.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf index e7546ef7c7e..c16e66f0f3a 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf @@ -3403,7 +3403,7 @@ chr9 81155350 . CTAT C 847.60 . AC=1;AF=0.500;AN=2;ASSEMBLED_HAPS=12;BaseQRankSu chr9 81155468 . A AG 31.60 . AC=1;AF=0.500;AN=2;ASSEMBLED_HAPS=4;BaseQRankSum=0.829;DP=32;ExcessHet=0.0000;FILTERED_HAPS=2;FS=31.854;HAPCOMP=0;HAPDOM=1.00;HEC=49,1;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=1.02;ReadPosRankSum=1.418;SOR=4.161 GT:AD:DP:GQ:PL 0/1:24,7:31:39:39,0,558 chr9 81155738 . A C 616.06 . AC=2;AF=1.00;AN=2;ASSEMBLED_HAPS=2;DP=15;ExcessHet=0.0000;FILTERED_HAPS=0;FS=0.000;HAPCOMP=0;HAPDOM=1.00;HEC=17;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=25.36;SOR=2.985 GT:AD:DP:GQ:PL 1/1:0,14:14:42:630,42,0 chr9 81156114 . G T 459.64 . AC=1;AF=0.500;AN=2;ASSEMBLED_HAPS=16;BaseQRankSum=1.862;DP=24;ExcessHet=0.0000;FILTERED_HAPS=12;FS=7.401;HAPCOMP=1;HAPDOM=0.462;HEC=7,6,6,6,1,0,0,0;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=19.15;ReadPosRankSum=0.435;SOR=2.546 GT:AD:DP:GQ:PL 0/1:11,13:24:99:467,0,422 -chr9 81156195 . A C 572.06 . AC=2;AF=1.00;AN=2;ASSEMBLED_HAPS=16;DP=14;ExcessHet=0.0000;FILTERED_HAPS=12;FS=0.000;HAPCOMP=2;HAPDOM=0.357;HEC=11,11,2,1,1,0,0,0;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=28.73;SOR=2.303 GT:AD:DP:GQ:PL 1/1:0,14:14:42:586,42,0 +chr9 81156195 . A C 572.06 . AC=2;AF=1.00;AN=2;ASSEMBLED_HAPS=16;DP=14;ExcessHet=0.0000;FILTERED_HAPS=12;FS=0.000;HAPCOMP=0;HAPDOM=0.357;HEC=11,11,2,1,1,0,0,0;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=28.73;SOR=2.303 GT:AD:DP:GQ:PL 1/1:0,14:14:42:586,42,0 chr9 81156491 . T TA 42.92 . AC=2;AF=1.00;AN=2;ASSEMBLED_HAPS=4;DP=23;ExcessHet=0.0000;FILTERED_HAPS=2;FS=0.000;HAPCOMP=0;HAPDOM=0.571;HEC=39,3;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=7.15;SOR=1.329;SUSP_NOISY_ADJACENT_TP_VARIANT GT:AD:DP:GQ:PL 1/1:0,6:6:15:57,15,0 chr9 81158690 . C CT 404.03 . AC=2;AF=1.00;AN=2;ASSEMBLED_HAPS=32;DP=15;ExcessHet=0.0000;FILTERED_HAPS=28;FS=0.000;HAPCOMP=1;HAPDOM=0.500;HEC=17,7,2,2,1,1,0,0,0,0,0,0,0,0,0,0;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=28.86;SOR=1.329 GT:AD:DP:GQ:PL 1/1:0,14:14:42:418,42,0 chr9 81158712 . A G 293.64 . AC=1;AF=0.500;AN=2;ASSEMBLED_HAPS=32;BaseQRankSum=0.728;DP=15;ExcessHet=0.0000;FILTERED_HAPS=28;FS=5.497;HAPCOMP=1;HAPDOM=0.875;HEC=13,11,2,2,1,1,0,0,0,0,0,0,0,0,0,0;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=19.58;ReadPosRankSum=-0.675;SOR=0.078 GT:AD:DP:GQ:PL 0/1:7,8:15:99:301,0,256 diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf.idx index 213811388a5..5ee31d304a9 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/haplotypecaller/testVcfWithAssemblyComplexityAnnotation.expected.flowbased.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/utils/read/flow/reads/input/sample_mc.bam b/src/test/resources/org/broadinstitute/hellbender/utils/read/flow/reads/input/sample_mc.bam new file mode 100644 index 00000000000..1082627aeb3 Binary files /dev/null and b/src/test/resources/org/broadinstitute/hellbender/utils/read/flow/reads/input/sample_mc.bam differ