diff --git a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariantsIntegrationTest.java b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariantsIntegrationTest.java index a0e3f862b..4b5d9979f 100644 --- a/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariantsIntegrationTest.java +++ b/protected/gatk-tools-protected/src/test/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariantsIntegrationTest.java @@ -51,9 +51,14 @@ package org.broadinstitute.gatk.tools.walkers.variantutils; +import org.apache.commons.io.FileUtils; +import org.apache.log4j.Level; import org.broadinstitute.gatk.engine.walkers.WalkerTest; +import org.testng.Assert; import org.testng.annotations.Test; +import java.io.File; +import java.io.IOException; import java.util.Arrays; /** @@ -70,6 +75,53 @@ public class LeftAlignAndTrimVariantsIntegrationTest extends WalkerTest { executeTest("test left alignment", spec); } + @Test + public void testLeftAlignmentLongAllelesError() throws IOException { + + // Need to see log INFO messages + Level level = logger.getLevel(); + logger.setLevel(Level.INFO); + + File logFile = createTempFile("testLargeReferenceAlleleError.log", ".tmp"); + String logFileName = logFile.getAbsolutePath(); + + WalkerTestSpec spec = new WalkerTestSpec( + "-T LeftAlignAndTrimVariants -o %s -R " + b37KGReference + " --variant:vcf " + privateTestDir + "longAlleles.vcf --no_cmdline_in_header -log " + logFileName, + 1, + Arrays.asList("136f88a5bd07a022a3404089359cb8ee")); + executeTest("test left alignment with long alleles with an error", spec); + + // Make sure the "reference allele too long" message is in the log + Assert.assertTrue(FileUtils.readFileToString(logFile).contains(ValidateVariants.REFERENCE_ALLELE_TOO_LONG_MSG)); + + // Set the log level back + logger.setLevel(level); + } + + @Test + public void testLeftAlignmentLongAllelesFix() throws IOException { + + // Need to see log INFO messages + Level level = logger.getLevel(); + logger.setLevel(Level.INFO); + + File logFile = createTempFile("testLargeReferenceAlleleError.log", ".tmp"); + String logFileName = logFile.getAbsolutePath(); + + WalkerTestSpec spec = new WalkerTestSpec( + "-T LeftAlignAndTrimVariants -o %s -R " + b37KGReference + " --variant:vcf " + privateTestDir + + "longAlleles.vcf --no_cmdline_in_header --reference_window_stop 208 -log " + logFileName, + 1, + Arrays.asList("c4ca5520ee499da171053059e3717b2f")); + executeTest("test left alignment with long alleles fix", spec); + + // Make sure the "reference allele too long" message is in the log + Assert.assertFalse(FileUtils.readFileToString(logFile).contains(ValidateVariants.REFERENCE_ALLELE_TOO_LONG_MSG)); + + // Set the log level back + logger.setLevel(level); + } + @Test public void testLeftAlignmentDontTrim() { WalkerTestSpec spec = new WalkerTestSpec( diff --git a/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariants.java b/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariants.java index d62a944c9..0ba7e1013 100644 --- a/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariants.java +++ b/public/gatk-tools-public/src/main/java/org/broadinstitute/gatk/tools/walkers/variantutils/LeftAlignAndTrimVariants.java @@ -94,17 +94,27 @@ import java.util.*; * -T LeftAlignAndTrimVariants \ * -R reference.fasta \ * --variant input.vcf \ - * -o output.vcf + * -o output.vcf \ * --dontTrimAlleles * * + *
+ * java -jar GenomeAnalysisTK.jar \ + * -T LeftAlignAndTrimVariants \ + * -R reference.fasta \ + * --variant input.vcf \ + * -o output.vcf \ + * --reference_window_stop 208 + *+ * *
* java -jar GenomeAnalysisTK.jar \ * -T LeftAlignAndTrimVariants \ * -R reference.fasta \ * --variant input.vcf \ - * -o output.vcf + * -o output.vcf \ * --splitMultiallelics ** @@ -114,8 +124,8 @@ import java.util.*; * -T LeftAlignAndTrimVariants \ * -R reference.fasta \ * --variant input.vcf \ - * -o output.vcf - * --splitMultiallelics + * -o output.vcf \ + * --splitMultiallelics \ * --dontTrimAlleles * * @@ -124,6 +134,9 @@ import java.util.*; @Reference(window=@Window(start=-200,stop=200)) // WARNING: if this changes,MAX_INDEL_LENGTH needs to change as well! public class LeftAlignAndTrimVariants extends RodWalker
* java -jar GenomeAnalysisTK.jar \ * -T ValidateVariants \