diff --git a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariantsIntegrationTest.java b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariantsIntegrationTest.java index 9af334ff7..c1293b872 100644 --- a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariantsIntegrationTest.java +++ b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariantsIntegrationTest.java @@ -619,9 +619,9 @@ public class SelectVariantsIntegrationTest extends WalkerTest { String idFile = privateTestDir + "complexExample1.vcf.id"; WalkerTestSpec spec = new WalkerTestSpec( - baseTestString(" -xlIDs " + idFile + " --variant " + testFile), + baseTestString(" -xlIDs " + idFile + " --variant " + testFile + " --forceValidOutput"), 1, - Arrays.asList("6c1e8591c134519bfc202b4ec7ef1f71") + Arrays.asList("45ad235b42bac75aa269e12bcd88a411") ); spec.disableShadowBCF(); executeTest("testExcludeSelectionID--" + testFile, spec); diff --git a/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariants.java b/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariants.java index 7c32f3666..9559e066e 100644 --- a/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariants.java +++ b/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/SelectVariants.java @@ -574,6 +574,9 @@ public class SelectVariants extends RodWalker implements TreeR @Argument(fullName="ALLOW_NONOVERLAPPING_COMMAND_LINE_SAMPLES", required=false, doc="Allow samples other than those in the VCF to be specified on the command line. These samples will be ignored.") private boolean allowNonOverlappingCommandLineSamples = false; + @Argument(fullName="forceValidOutput", required=false, doc="Forces output VCF to be compliant to up to date version") + private boolean forceValidOutput = false; + public enum NumberAlleleRestriction { ALL, BIALLELIC, @@ -1008,7 +1011,7 @@ public class SelectVariants extends RodWalker implements TreeR */ private VariantContext subsetRecord(final VariantContext vc, final boolean preserveAlleles, final boolean removeUnusedAlternates) { //subContextFromSamples() always decodes the vc, which is a fairly expensive operation. Avoid if possible - if ( noSamplesSpecified && !removeUnusedAlternates ) + if ( noSamplesSpecified && !removeUnusedAlternates && !forceValidOutput ) return vc; // strip out the alternate alleles that aren't being used