Make sure that multi-alleleic uninformative PLs (0,0,...,0) stay uninformative after biallelization.

Addresses issue #1439 (thus #1437).

Fixes a bug where non informative PLs were not handled appropriatelly when calculating multi-allelic site QUAL values.
This was resulting in long execution times for very large datasets (~200,000 samples in the case of ExAC2).
This commit is contained in:
Valentin Ruano Rubio 2016-07-15 14:20:52 -04:00
parent b4eb479727
commit fef63ce6a8
4 changed files with 7 additions and 5 deletions

View File

@ -194,7 +194,9 @@ import java.util.*;
}
gb.alleles(newAlleles);
}
if (combineAltAlleleLikelihoods(oldGenotype, genotypeCount, newLikelihoods, hetLikelihoods, homAltLikelihoods))
if (oldGenotype.isNonInformative())
gb.PL(BIALLELIC_NON_INFORMATIVE_PLS);
else if (combineAltAlleleLikelihoods(oldGenotype, genotypeCount, newLikelihoods, hetLikelihoods, homAltLikelihoods))
gb.PL(newLikelihoods);
newGenotypes.add(gb.make());
}

View File

@ -140,7 +140,7 @@ public class UnifiedGenotyperIndelCallingIntegrationTest extends WalkerTest {
WalkerTest.WalkerTestSpec spec2 = new WalkerTest.WalkerTestSpec(
baseCommandIndels + " --genotyping_mode GENOTYPE_GIVEN_ALLELES -alleles " + result.get(0).getAbsolutePath() + " -I " + validationDataLocation +
"low_coverage_CEU.chr1.10k-11k.bam -o %s -L " + result.get(0).getAbsolutePath(), 1,
Arrays.asList("f9d848fe5e6e6762e0dd5b5d925f74f4"));
Arrays.asList("08967b41ccc76b1f3c7093e51a90713a"));
executeTest("test MultiSample Pilot1 CEU indels using GENOTYPE_GIVEN_ALLELES", spec2);
}

View File

@ -72,7 +72,7 @@ public class HaplotypeCallerComplexAndSymbolicVariantsIntegrationTest extends Wa
@Test
public void testHaplotypeCallerMultiSampleComplex1() {
HCTestComplexVariants(privateTestDir + "AFR.complex.variants.bam", "", "88255eda0e29e4a6e128ddb7177a03ab");
HCTestComplexVariants(privateTestDir + "AFR.complex.variants.bam", "", "113ae4c0244c50243313a7d6e77da26b");
}
private void HCTestSymbolicVariants(String bam, String args, String md5) {

View File

@ -157,7 +157,7 @@ public class GenotypeGVCFsIntegrationTest extends WalkerTest {
" -V:sample3 " + privateTestDir + "combine.single.sample.pipeline.3.vcf" +
" --includeNonVariantSites -L 20:10,030,000-10,033,000 -L 20:10,386,000-10,386,500", b37KGReference),
1,
Collections.singletonList("c2f30f25ba4a84e38c04aa49b95694e8"));
Collections.singletonList("af19ee0d7e739143be4e252c48701c45"));
executeTest("combineSingleSamplePipelineGVCF_includeNonVariants", spec);
}
@ -579,7 +579,7 @@ public class GenotypeGVCFsIntegrationTest extends WalkerTest {
baseTestString(" -V " + privateTestDir + "set.zero.RGQs.no.call.sample1.g.vcf" +
" -V " + privateTestDir + "set.zero.RGQs.no.call.sample2.g.vcf" +
" -L chr16:1279274-1279874 -allSites", hg19ReferenceWithChrPrefixInChromosomeNames),
Collections.singletonList("b7106be316e43ca04204b78038f65c9f"));
Collections.singletonList("92c097d8b6074d40f8d1385bc92a0a5d"));
spec.disableShadowBCF();
executeTest("testSetZeroRGQsToNoCall", spec);
}