From d7bec9eb6e709bbd9234d7cc2ac079cb91d970b2 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Mar 2013 12:55:58 -0400 Subject: [PATCH] AssessNA12878 bugfixes -- @Output isn't required for AssessNA12878 -- Previous version would could non-variant sites in NA12878 that resulted from subsetting a multi-sample VC to NA12878 as CALLED_BUT_NOT_IN_DB sites. Now they are properly skipped -- Bugfix for subsetting samples to NA12878. Previous version wouldn't trim the alleles when subsetting down a multi-sample VCF, so we'd have false FN/FP sites at indels when the multi-sample VCF has alleles that result in the subset for NA12878 having non-trimmed alleles. Fixed and unit tested now. --- .../sting/utils/variant/GATKVariantContextUtils.java | 2 +- .../utils/variant/GATKVariantContextUtilsUnitTest.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/variant/GATKVariantContextUtils.java b/public/java/src/org/broadinstitute/sting/utils/variant/GATKVariantContextUtils.java index 627bee3ea..dee282056 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variant/GATKVariantContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/variant/GATKVariantContextUtils.java @@ -1000,7 +1000,7 @@ public class GATKVariantContextUtils { public static VariantContext trimAlleles(final VariantContext inputVC, final boolean trimForward, final boolean trimReverse) { if ( inputVC == null ) throw new IllegalArgumentException("inputVC cannot be null"); - if ( inputVC.getNAlleles() <= 1 ) + if ( inputVC.getNAlleles() <= 1 || inputVC.isSNP() ) return inputVC; // see whether we need to trim common reference base from all alleles diff --git a/public/java/test/org/broadinstitute/sting/utils/variant/GATKVariantContextUtilsUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/variant/GATKVariantContextUtilsUnitTest.java index ff42abb23..fcc7c7998 100644 --- a/public/java/test/org/broadinstitute/sting/utils/variant/GATKVariantContextUtilsUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/variant/GATKVariantContextUtilsUnitTest.java @@ -694,6 +694,15 @@ public class GATKVariantContextUtilsUnitTest extends BaseTest { root.alleles(Arrays.asList(CAref, C)).stop(11).make(), root.alleles(Arrays.asList(CAAAref, C)).stop(13).make())}); + final Allele threeCopies = Allele.create("GTTTTATTTTATTTTA", true); + final Allele twoCopies = Allele.create("GTTTTATTTTA", true); + final Allele zeroCopies = Allele.create("G", false); + final Allele oneCopies = Allele.create("GTTTTA", false); + tests.add(new Object[]{root.alleles(Arrays.asList(threeCopies, zeroCopies, oneCopies)).stop(25).make(), + Arrays.asList( + root.alleles(Arrays.asList(threeCopies, zeroCopies)).stop(25).make(), + root.alleles(Arrays.asList(twoCopies, zeroCopies)).stop(20).make())}); + return tests.toArray(new Object[][]{}); }