diff --git a/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/DefaultGATKVariantAnnotationArgumentCollection.java b/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/DefaultGATKVariantAnnotationArgumentCollection.java index 68beb4bdf26..f6a11f45084 100644 --- a/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/DefaultGATKVariantAnnotationArgumentCollection.java +++ b/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/DefaultGATKVariantAnnotationArgumentCollection.java @@ -1,6 +1,5 @@ package org.broadinstitute.hellbender.cmdline.GATKPlugin; -import com.google.common.collect.Lists; import org.broadinstitute.barclay.argparser.Advanced; import org.broadinstitute.barclay.argparser.Argument; import org.broadinstitute.hellbender.cmdline.StandardArgumentDefinitions; diff --git a/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/GATKAnnotationPluginDescriptor.java b/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/GATKAnnotationPluginDescriptor.java index c03be1fbc76..9cfd91e9d71 100644 --- a/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/GATKAnnotationPluginDescriptor.java +++ b/src/main/java/org/broadinstitute/hellbender/cmdline/GATKPlugin/GATKAnnotationPluginDescriptor.java @@ -16,7 +16,6 @@ import org.broadinstitute.hellbender.utils.config.ConfigFactory; import org.broadinstitute.hellbender.utils.config.GATKConfig; -import java.io.File; import java.lang.reflect.Modifier; import java.util.*; import java.util.stream.Collectors; @@ -485,6 +484,16 @@ public List getResolvedInstances() { return resolvedInstances; } + /** + * Returns a map of the String to Annotations only in the resolved instances. + * + * @return a Map of Strings to Annotations of resolved instances + */ + public Map getResolvedInstancesMap() { + return allDiscoveredAnnotations.entrySet().stream() + .filter(e -> getResolvedInstances().contains(e.getValue())) + .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue())); + } /** * Return the class representing the instance of the plugin specified by {@code pluginName} @@ -496,5 +505,4 @@ public List getResolvedInstances() { public Class getClassForPluginHelp(final String pluginName) { return allDiscoveredAnnotations.containsKey(pluginName) ? allDiscoveredAnnotations.get(pluginName).getClass() : null; } - } diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFs.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFs.java index cd652a0d5b9..cec6dbec129 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFs.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFs.java @@ -9,6 +9,8 @@ import htsjdk.variant.vcf.VCFHeaderLine; import org.broadinstitute.barclay.argparser.*; import org.broadinstitute.barclay.help.DocumentedFeature; +import org.broadinstitute.hellbender.cmdline.GATKPlugin.GATKAnnotationPluginDescriptor; +import org.broadinstitute.hellbender.cmdline.GATKPlugin.GATKReadFilterPluginDescriptor; import org.broadinstitute.hellbender.cmdline.StandardArgumentDefinitions; import org.broadinstitute.hellbender.cmdline.argumentcollections.DbsnpArgumentCollection; import org.broadinstitute.hellbender.cmdline.programgroups.ShortVariantDiscoveryProgramGroup; @@ -17,6 +19,7 @@ import org.broadinstitute.hellbender.engine.ReadsContext; import org.broadinstitute.hellbender.engine.ReferenceContext; import org.broadinstitute.hellbender.engine.VariantLocusWalker; +import org.broadinstitute.hellbender.exceptions.UserException; import org.broadinstitute.hellbender.tools.genomicsdb.GenomicsDBArgumentCollection; import org.broadinstitute.hellbender.tools.genomicsdb.GenomicsDBImport; import org.broadinstitute.hellbender.tools.genomicsdb.GenomicsDBOptions; @@ -28,6 +31,7 @@ import org.broadinstitute.hellbender.tools.walkers.mutect.M2ArgumentCollection; import org.broadinstitute.hellbender.utils.*; import org.broadinstitute.hellbender.utils.variant.GATKVariantContextUtils; +import org.broadinstitute.hellbender.tools.walkers.annotator.allelespecific.ReducibleAnnotation; import java.util.*; import java.util.stream.Collectors; @@ -132,7 +136,6 @@ public final class GenotypeGVCFs extends VariantLocusWalker { doc = "LOD threshold to emit variant to VCF.") protected double tlodThreshold = 3.5; //allow for some lower quality variants - /** * Margin of error in allele fraction to consider a somatic variant homoplasmic, i.e. if there is less than a 0.1% reference allele fraction, those reads are likely errors */ @@ -140,9 +143,10 @@ public final class GenotypeGVCFs extends VariantLocusWalker { protected double afTolerance = 1e-3; //based on Q30 as a "good" base quality score /** - * If specified, keep the combined raw annotations (e.g. AS_SB_TABLE) after genotyping. This is applicable to Allele-Specific annotations + * If specified, keep all the combined raw annotations (e.g. AS_SB_TABLE) after genotyping. This is applicable to Allele-Specific annotations. See {@link ReducibleAnnotation} */ - @Argument(fullName=KEEP_COMBINED_LONG_NAME, shortName = KEEP_COMBINED_SHORT_NAME, doc = "If specified, keep the combined raw annotations") + @Argument(fullName=KEEP_COMBINED_LONG_NAME, shortName = KEEP_COMBINED_SHORT_NAME, doc = "If specified, keep the combined raw annotations", + mutex = {GenotypeGVCFsAnnotationArgumentCollection.KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME}) protected boolean keepCombined = false; @ArgumentCollection @@ -172,6 +176,9 @@ public final class GenotypeGVCFs extends VariantLocusWalker { @ArgumentCollection private final DbsnpArgumentCollection dbsnp = new DbsnpArgumentCollection(); + // @ArgumentCollection deliberately omitted since this is passed to the annotation plugin + final GenotypeGVCFsAnnotationArgumentCollection genotypeGVCFsAnnotationArgs = new GenotypeGVCFsAnnotationArgumentCollection(); + // the annotation engine private VariantAnnotatorEngine annotationEngine; @@ -221,6 +228,16 @@ protected GenomicsDBOptions getGenomicsDBOptions() { @Override public boolean useVariantAnnotations() { return true;} + @Override + public List> getPluginDescriptors() { + GATKReadFilterPluginDescriptor readFilterDescriptor = new GATKReadFilterPluginDescriptor(getDefaultReadFilters()); + return useVariantAnnotations()? + Arrays.asList(readFilterDescriptor, new GATKAnnotationPluginDescriptor( + genotypeGVCFsAnnotationArgs, + getDefaultVariantAnnotations(), getDefaultVariantAnnotationGroups())): + Collections.singletonList(readFilterDescriptor); + } + @Override public List> getDefaultVariantAnnotationGroups() { return Arrays.asList(StandardAnnotation.class); @@ -261,8 +278,9 @@ public void onTraversalStart() { intervals = hasUserSuppliedIntervals() ? intervalArgumentCollection.getIntervals(getBestAvailableSequenceDictionary()) : Collections.emptyList(); - Collection variantAnnotations = makeVariantAnnotations(); - annotationEngine = new VariantAnnotatorEngine(variantAnnotations, dbsnp.dbsnp, Collections.emptyList(), false, keepCombined); + final Collection variantAnnotations = makeVariantAnnotations(); + final Set annotationsToKeep = getAnnotationsToKeep(); + annotationEngine = new VariantAnnotatorEngine(variantAnnotations, dbsnp.dbsnp, Collections.emptyList(), false, keepCombined, annotationsToKeep); merger = new ReferenceConfidenceVariantContextMerger(annotationEngine, getHeaderForVariants(), somaticInput, false, true); @@ -279,6 +297,17 @@ public void onTraversalStart() { } + private Set getAnnotationsToKeep() { + final GATKAnnotationPluginDescriptor pluginDescriptor = getCommandLineParser().getPluginDescriptor(GATKAnnotationPluginDescriptor.class); + final List annotationStringsToKeep = genotypeGVCFsAnnotationArgs.getKeepSpecifiedCombinedAnnotationNames(); + final Map resolvedInstancesMap = pluginDescriptor.getResolvedInstancesMap(); + return annotationStringsToKeep.stream() + .peek(s -> {Annotation a = resolvedInstancesMap.get(s); if (a == null) + throw new UserException("Requested --" + GenotypeGVCFsAnnotationArgumentCollection.KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME + ": " + s + " was not found in annotation list. Was it excluded with --" + StandardArgumentDefinitions.ANNOTATIONS_TO_EXCLUDE_LONG_NAME + " or not provided with --" + StandardArgumentDefinitions.ANNOTATION_LONG_NAME + "?"); }) + .map(resolvedInstancesMap::get) + .collect(Collectors.toSet()); + } + @Override public void apply(final Locatable loc, List variants, ReadsContext reads, ReferenceContext ref, FeatureContext features) { diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsAnnotationArgumentCollection.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsAnnotationArgumentCollection.java new file mode 100644 index 00000000000..7b5d8db4da3 --- /dev/null +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsAnnotationArgumentCollection.java @@ -0,0 +1,27 @@ +package org.broadinstitute.hellbender.tools.walkers; + +import org.broadinstitute.barclay.argparser.Argument; +import org.broadinstitute.hellbender.cmdline.GATKPlugin.DefaultGATKVariantAnnotationArgumentCollection; +import org.broadinstitute.hellbender.tools.walkers.annotator.allelespecific.ReducibleAnnotation; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class GenotypeGVCFsAnnotationArgumentCollection extends DefaultGATKVariantAnnotationArgumentCollection { + private static final long serialVersionUID = 1L; + + public static final String KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME = "keep-specific-combined-raw-annotation"; + public static final String KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_SHORT_NAME = "keep-specific-combined"; + + /** + * Keep only the specific combined raw annotations specified. Cannot be used with --keep-combined-raw-annotations which saves all raw annotations. + * Duplicate values will be ignored. See {@link ReducibleAnnotation} for more information on raw annotations. + */ + @Argument(fullName= KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME, shortName = KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_SHORT_NAME, optional = true, + mutex = {GenotypeGVCFs.KEEP_COMBINED_LONG_NAME}, + doc="Keep only the specific combined raw annotations specified (removing the other raw annotations). Duplicate values will be ignored.") + protected List keepSpecifiedCombined = new ArrayList<>(); + + public List getKeepSpecifiedCombinedAnnotationNames() {return Collections.unmodifiableList(keepSpecifiedCombined);} +} diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/VariantAnnotatorEngine.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/VariantAnnotatorEngine.java index 139a73cd19d..af65e3bb33b 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/VariantAnnotatorEngine.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/VariantAnnotatorEngine.java @@ -4,12 +4,14 @@ import htsjdk.variant.vcf.*; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.broadinstitute.hellbender.cmdline.StandardArgumentDefinitions; import org.broadinstitute.hellbender.engine.FeatureContext; import org.broadinstitute.hellbender.engine.FeatureDataSource; import org.broadinstitute.hellbender.engine.FeatureInput; import org.broadinstitute.hellbender.engine.ReferenceContext; import org.broadinstitute.hellbender.exceptions.GATKException; import org.broadinstitute.hellbender.exceptions.UserException; +import org.broadinstitute.hellbender.tools.walkers.GenotypeGVCFsAnnotationArgumentCollection; import org.broadinstitute.hellbender.tools.walkers.annotator.allelespecific.ReducibleAnnotation; import org.broadinstitute.hellbender.tools.walkers.annotator.allelespecific.ReducibleAnnotationData; import org.broadinstitute.hellbender.utils.Utils; @@ -43,6 +45,7 @@ public final class VariantAnnotatorEngine { private boolean expressionAlleleConcordance; private final boolean useRawAnnotations; private final boolean keepRawCombinedAnnotations; + private final List rawAnnotationsToKeep; private final static Logger logger = LogManager.getLogger(VariantAnnotatorEngine.class); private final static OneShotLogger jumboAnnotationsLogger = new OneShotLogger(VariantAnnotatorEngine.class); @@ -59,17 +62,20 @@ public final class VariantAnnotatorEngine { * @param useRaw When this is set to true, the annotation engine will call {@link ReducibleAnnotation#annotateRawData(ReferenceContext, VariantContext, AlleleLikelihoods)} * on annotations that extend {@link ReducibleAnnotation}, instead of {@link InfoFieldAnnotation#annotate(ReferenceContext, VariantContext, AlleleLikelihoods)}, * @param keepCombined If true, retain the combined raw annotation values instead of removing them after finalizing + * @param rawAnnotationsToKeep List of raw annotations to keep even when others are removed */ public VariantAnnotatorEngine(final Collection annotationList, final FeatureInput dbSNPInput, final List> featureInputs, final boolean useRaw, - boolean keepCombined){ + final boolean keepCombined, + final Collection rawAnnotationsToKeep){ Utils.nonNull(featureInputs, "comparisonFeatureInputs is null"); infoAnnotations = new ArrayList<>(); genotypeAnnotations = new ArrayList<>(); jumboInfoAnnotations = new ArrayList<>(); jumboGenotypeAnnotations = new ArrayList<>(); + this.rawAnnotationsToKeep = new ArrayList<>(); for (Annotation annot : annotationList) { if (annot instanceof InfoFieldAnnotation) { infoAnnotations.add((InfoFieldAnnotation) annot); @@ -87,6 +93,9 @@ public VariantAnnotatorEngine(final Collection annotationList, reducibleKeys = new LinkedHashSet<>(); useRawAnnotations = useRaw; keepRawCombinedAnnotations = keepCombined; + for (final Annotation rawAnnot : rawAnnotationsToKeep) { + this.rawAnnotationsToKeep.addAll(((VariantAnnotation) rawAnnot).getKeyNames()); + } for (InfoFieldAnnotation annot : infoAnnotations) { if (annot instanceof ReducibleAnnotation) { for (final String rawKey : ((ReducibleAnnotation) annot).getRawKeyNames()) { @@ -96,6 +105,14 @@ public VariantAnnotatorEngine(final Collection annotationList, } } + public VariantAnnotatorEngine(final Collection annotationList, + final FeatureInput dbSNPInput, + final List> featureInputs, + final boolean useRaw, + boolean keepCombined){ + this(annotationList, dbSNPInput, featureInputs, useRaw, keepCombined, Collections.emptyList()); + } + private VariantOverlapAnnotator initializeOverlapAnnotator(final FeatureInput dbSNPInput, final List> featureInputs) { final Map, String> overlaps = new LinkedHashMap<>(); for ( final FeatureInput fi : featureInputs) { @@ -253,6 +270,14 @@ public Map combineAnnotations(final List allelesList, Ma public VariantContext finalizeAnnotations(VariantContext vc, VariantContext originalVC) { final Map variantAnnotations = new LinkedHashMap<>(vc.getAttributes()); + //save annotations that have been requested to be kept + final Map savedRawAnnotations = new LinkedHashMap<>(); + for(final String rawAnnot : rawAnnotationsToKeep) { + if (variantAnnotations.containsKey(rawAnnot)) { + savedRawAnnotations.put(rawAnnot, variantAnnotations.get(rawAnnot)); + } + } + // go through all the requested info annotationTypes for (final InfoFieldAnnotation annotationType : infoAnnotations) { if (annotationType instanceof ReducibleAnnotation) { @@ -280,6 +305,8 @@ public VariantContext finalizeAnnotations(VariantContext vc, VariantContext orig variantAnnotations.remove(GATKVCFConstants.VARIANT_DEPTH_KEY); variantAnnotations.remove(GATKVCFConstants.RAW_GENOTYPE_COUNT_KEY); } + //add back raw annotations that have specifically been requested to keep + variantAnnotations.putAll(savedRawAnnotations); // generate a new annotated VC final VariantContextBuilder builder = new VariantContextBuilder(vc).attributes(variantAnnotations); diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/allelespecific/ReducibleAnnotation.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/allelespecific/ReducibleAnnotation.java index 5b3c8d68988..85c3b5e6463 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/allelespecific/ReducibleAnnotation.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/annotator/allelespecific/ReducibleAnnotation.java @@ -3,8 +3,6 @@ import htsjdk.variant.variantcontext.Allele; import htsjdk.variant.variantcontext.VariantContext; import htsjdk.variant.vcf.VCFCompoundHeaderLine; -import htsjdk.variant.vcf.VCFHeaderLine; -import htsjdk.variant.vcf.VCFInfoHeaderLine; import org.broadinstitute.hellbender.engine.ReferenceContext; import org.broadinstitute.hellbender.tools.walkers.annotator.Annotation; import org.broadinstitute.hellbender.utils.genotyper.AlleleLikelihoods; @@ -12,12 +10,14 @@ import org.broadinstitute.hellbender.utils.variant.GATKVCFHeaderLines; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; /** * An interface for annotations that are calculated using raw data across samples, rather than the median (or median of median) of samples values + * The Raw annotation keeps some summary (one example might be a histogram of the raw values for each sample) of the individual sample (or allele) + * level annotation. As the annotations are combined across multiple samples the raw annotation continues to contain individual values while + * the final reduced annotation will typically be a summary statistic from these raw values. * */ public interface ReducibleAnnotation extends Annotation { diff --git a/src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFHeaderLines.java b/src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFHeaderLines.java index 7f792fd7720..eff287ceae9 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFHeaderLines.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/variant/GATKVCFHeaderLines.java @@ -159,7 +159,7 @@ public static VCFFormatHeaderLine getEquivalentFormatHeaderLine(final String inf addInfoLine(new VCFInfoHeaderLine(INBREEDING_COEFFICIENT_KEY, 1, VCFHeaderLineType.Float, "Inbreeding coefficient as estimated from the genotype likelihoods per-sample when compared against the Hardy-Weinberg expectation")); addInfoLine(new VCFInfoHeaderLine(AS_INBREEDING_COEFFICIENT_KEY, VCFHeaderLineCount.A, VCFHeaderLineType.Float, "Allele-specific inbreeding coefficient as estimated from the genotype likelihoods per-sample when compared against the Hardy-Weinberg expectation")); addInfoLine(new VCFInfoHeaderLine(EXCESS_HET_KEY, 1, VCFHeaderLineType.Float, "Phred-scaled p-value for exact test of excess heterozygosity")); - addInfoLine(new VCFInfoHeaderLine(RAW_GENOTYPE_COUNT_KEY, 3, VCFHeaderLineType.Integer, "Counts of genotypes w.r.t. the reference allele: 0/0, 0/*, */*, i.e. all alts lumped together; for use in calculating excess heterozygosity")); + addInfoLine(new VCFInfoHeaderLine(RAW_GENOTYPE_COUNT_KEY, 3, VCFHeaderLineType.Integer, "Counts of genotypes w.r.t. the reference allele in the following order: 0/0, 0/*, */*, i.e. all alts lumped together; for use in calculating excess heterozygosity")); addInfoLine(new VCFInfoHeaderLine(LIKELIHOOD_RANK_SUM_KEY, 1, VCFHeaderLineType.Float, "Z-score from Wilcoxon rank sum test of Alt Vs. Ref haplotype likelihoods")); addInfoLine(new VCFInfoHeaderLine(MAP_QUAL_RANK_SUM_KEY, 1, VCFHeaderLineType.Float, "Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities")); addInfoLine(new VCFInfoHeaderLine(AS_MAP_QUAL_RANK_SUM_KEY, VCFHeaderLineCount.A, VCFHeaderLineType.Float, "allele specific Z-score From Wilcoxon rank sum test of each Alt vs. Ref read mapping qualities")); diff --git a/src/test/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsIntegrationTest.java index 21e20320bc3..698e99968da 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFsIntegrationTest.java @@ -43,8 +43,6 @@ import java.security.NoSuchAlgorithmException; import java.util.*; import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.IntUnaryOperator; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -930,7 +928,7 @@ public void testRawGtCountAnnotation() { args.addReference(b37_reference_20_21) .addVCF(reblockedGVCF) .addOutput(output) - .add("keep-combined-raw-annotations", true) + .add(GenotypeGVCFsAnnotationArgumentCollection.KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME, "RawGtCount") .add("A", "RawGtCount"); runCommandLine(args); @@ -942,10 +940,23 @@ public void testRawGtCountAnnotation() { Assert.assertEquals(rawGtCount.get(0), "."); Assert.assertEquals(rawGtCount.get(1), "2"); Assert.assertEquals(rawGtCount.get(2), "0"); + Assert.assertFalse(vc.getAttributes().containsKey(GATKVCFConstants.RAW_MAPPING_QUALITY_WITH_DEPTH_KEY)); } } } + @Test(expectedExceptions = UserException.class) + public void testBadKeepAnnotationArg() { + final File reblockedGVCF = new File("src/test/resources/org/broadinstitute/hellbender/tools/walkers/GenotypeGVCFs/twoReblocked.g.vcf"); + final File output = createTempFile("reblockedAndGenotyped", ".vcf"); + final ArgumentsBuilder args = new ArgumentsBuilder(); + args.addReference(b37_reference_20_21) + .addVCF(reblockedGVCF) + .addOutput(output) + .add(GenotypeGVCFsAnnotationArgumentCollection.KEEP_SPECIFIED_RAW_COMBINED_ANNOTATION_LONG_NAME, "RawGtCount"); + // This is expected to fail because RawGtCount was not provided as a tool level annotation (-A). + runCommandLine(args); + } } diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf index 0662397f3ad..41e2ca3f78f 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf @@ -42,7 +42,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf.idx index d8705237849..8f0ca1a9cd2 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf index ec6f4a8059f..cd12cbb657a 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf @@ -47,7 +47,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf.idx index 09501a21f6b..d00f180a12c 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12878.AS.chr20snippet.reblocked.hiRes.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf index f9e04348f8e..81e166ebda1 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf @@ -42,7 +42,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf.idx index c5c764ff851..69c4886d765 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.NA12892.AS.chr20snippet.reblocked.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.aggressiveQualFiltering.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.aggressiveQualFiltering.g.vcf index 615aae0e5d6..8a4436d0a7d 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.aggressiveQualFiltering.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.aggressiveQualFiltering.g.vcf @@ -36,7 +36,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.overlappingDeletions.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.overlappingDeletions.g.vcf index 09fb5e4a2f1..455577cbdd9 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.overlappingDeletions.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/expected.overlappingDeletions.g.vcf @@ -43,7 +43,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf index e71559a6b5b..d87940f0e4a 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf @@ -39,7 +39,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf.idx index aadcb5450a6..83c0d73ee2b 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prod.chr20snippet.withRawMQ.expected.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWesOutput.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWesOutput.g.vcf index 2fb9f15403d..766db5782b2 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWesOutput.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWesOutput.g.vcf @@ -46,7 +46,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWgsOutput.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWgsOutput.g.vcf index a90e6b12ae1..8fbedd6ec99 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWgsOutput.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/prodWgsOutput.g.vcf @@ -41,7 +41,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf index d26f05f1b85..265b1f96a3f 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf @@ -36,7 +36,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf.idx index faae0ec2f0f..81cf44a5756 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testJustOneSample.expected.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf index fc90a5b32f1..0964c2aaea5 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf @@ -41,7 +41,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO= diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf.idx b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf.idx index 2d6295450cb..2f240c049ae 100644 Binary files a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf.idx and b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testNonRefADCorrection.expected.g.vcf.idx differ diff --git a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testOneSampleAsForGnomAD.expected.g.vcf b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testOneSampleAsForGnomAD.expected.g.vcf index 36298de5e8a..c29ea24dbeb 100644 --- a/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testOneSampleAsForGnomAD.expected.g.vcf +++ b/src/test/resources/org/broadinstitute/hellbender/tools/walkers/variantutils/ReblockGVCF/testOneSampleAsForGnomAD.expected.g.vcf @@ -21,7 +21,7 @@ ##INFO= ##INFO= ##INFO= -##INFO= +##INFO= ##INFO= ##INFO= ##INFO=