Boneheaded silly bug in indel caller - posterior probability computation was using priors gotten from SNP heterozygosity, not indel heterozygosity. Added then indel het. argument to command line and hook it up (not a radical change in calls though, just a few dubious calls around the edges fall off)

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4967 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
delangel 2011-01-10 14:56:28 +00:00
parent 0e089ce0b7
commit 9648399630
2 changed files with 14 additions and 1 deletions

View File

@ -92,6 +92,9 @@ public class UnifiedArgumentCollection {
@Argument(fullName = "min_indel_count_for_genotyping", shortName = "minIndelCnt", doc = "Minimum number of consensus indels required to trigger genotyping run", required = false)
public int MIN_INDEL_COUNT_FOR_GENOTYPING = 5;
@Argument(fullName = "indel_heterozygosity", shortName = "indelHeterozygosity", doc = "Heterozygosity for indel calling", required = false)
public double INDEL_HETEROZYGOSITY = 1.0/8000;
public UnifiedArgumentCollection clone() {
UnifiedArgumentCollection uac = new UnifiedArgumentCollection();
@ -110,6 +113,9 @@ public class UnifiedArgumentCollection {
uac.MAX_MISMATCHES = MAX_MISMATCHES;
uac.USE_BADLY_MATED_READS = USE_BADLY_MATED_READS;
uac.MAX_DELETION_FRACTION = MAX_DELETION_FRACTION;
uac.GET_ALLELES_FROM_VCF = GET_ALLELES_FROM_VCF;
uac.MIN_INDEL_COUNT_FOR_GENOTYPING = MIN_INDEL_COUNT_FOR_GENOTYPING;
uac.INDEL_HETEROZYGOSITY = INDEL_HETEROZYGOSITY;
return uac;
}

View File

@ -629,8 +629,15 @@ public class UnifiedGenotyperEngine {
protected void computeAlleleFrequencyPriors(int N) {
// calculate the allele frequency priors for 1-N
double sum = 0.0;
double heterozygosity;
if (UAC.GLmodel == GenotypeLikelihoodsCalculationModel.Model.DINDEL)
heterozygosity = UAC.INDEL_HETEROZYGOSITY;
else
heterozygosity = UAC.heterozygosity;
for (int i = 1; i <= N; i++) {
double value = UAC.heterozygosity / (double)i;
double value = heterozygosity / (double)i;
log10AlleleFrequencyPriors[i] = Math.log10(value);
sum += value;
}