diff --git a/java/test/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingIntegrationTest.java b/java/test/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingIntegrationTest.java new file mode 100644 index 000000000..e6689462f --- /dev/null +++ b/java/test/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingIntegrationTest.java @@ -0,0 +1,72 @@ +package org.broadinstitute.sting.gatk.walkers.phasing; + +import org.broadinstitute.sting.WalkerTest; +import org.junit.Test; + +import java.util.Arrays; + +public class ReadBackedPhasingIntegrationTest extends WalkerTest { + + public static String baseTestString(String reference, String reads, String VCF, int cacheWindowSize, int maxPhaseSites, double phaseQualityThresh) { + return "-T ReadBackedPhasing" + + " -R " + reference + + " -I " + validationDataLocation + reads + + " -B:variant,VCF " + validationDataLocation + VCF + + " --cacheWindowSize " + cacheWindowSize + + " --maxPhaseSites " + maxPhaseSites + + " --phaseQualityThresh " + phaseQualityThresh + + " -o %s"; + } + + + @Test + public void test1() { + WalkerTestSpec spec = new WalkerTestSpec( + baseTestString(hg18Reference, "phasing_test_chr20_332341_1332503.bam", "phasing_test_chr20_332341_1332503.vcf", 20000, 10, 10) + + " -L chr20:332341-382503", + 1, + Arrays.asList("7ea69a898890b7bea53477547ae5580a")); + executeTest("MAX 10 het sites [TEST ONE]; require PQ >= 10", spec); + } + + @Test + public void test2() { + WalkerTestSpec spec = new WalkerTestSpec( + baseTestString(hg18Reference, "phasing_test_chr20_332341_1332503.bam", "phasing_test_chr20_332341_1332503.vcf", 20000, 10, 10) + + " -L chr20:1232503-1332503", + 1, + Arrays.asList("9a8f9beb94b204332d0a32a3af0d4118")); + executeTest("MAX 10 het sites [TEST TWO]; require PQ >= 10", spec); + } + + @Test + public void test3() { + WalkerTestSpec spec = new WalkerTestSpec( + baseTestString(hg18Reference, "phasing_test_chr20_332341_1332503.bam", "phasing_test_chr20_332341_1332503.vcf", 20000, 2, 30) + + " -L chr20:332341-382503", + 1, + Arrays.asList("3d2973ca1f6d26062fa7f0d795faa216")); + executeTest("MAX 2 het sites [TEST THREE]; require PQ >= 30", spec); + } + + @Test + public void test4() { + WalkerTestSpec spec = new WalkerTestSpec( + baseTestString(hg18Reference, "phasing_test_chr20_332341_1332503.bam", "phasing_test_chr20_332341_1332503.vcf", 20000, 5, 100) + + " -L chr20:332341-382503", + 1, + Arrays.asList("13c66ff8448a8c3b1e3db4f7881f871d")); + executeTest("MAX 5 het sites [TEST FOUR]; require PQ >= 100", spec); + } + + @Test + public void test5() { + WalkerTestSpec spec = new WalkerTestSpec( + baseTestString(hg18Reference, "phasing_test_chr20_332341_1332503.bam", "phasing_test_chr20_332341_1332503.vcf", 1000, 7, 10) + + " -L chr20:332341-482503", + 1, + Arrays.asList("3d35745e1cf40c892a8e793b141dbf20")); + executeTest("MAX 7 het sites [TEST FIVE]; require PQ >= 10; cacheWindow = 1000", spec); + } + +} \ No newline at end of file