diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CalculatePhaseLikelihoodsWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CalculatePhaseLikelihoodsWalker.java index d09ffa59e..af0bfd427 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CalculatePhaseLikelihoodsWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/HLAcaller/CalculatePhaseLikelihoodsWalker.java @@ -1,6 +1,6 @@ /* - * To change this template, choose Tools | Templates - * and open the template in the editor. + * Calculates the likelihood of observing data given phase info from pairs of HLA alleles. Note: Run FindClosestAlleleWalker first! Usage: java -jar $GATK -T CalculatePhaseLikelihoods -I INPUT.bam -R /broad/1KG/reference/human_b36_both.fasta -L /humgen/gsa-scr1/GSA/sjia/454_HLA/HAPMAP270/HLA_exons.interval -phaseInterval /humgen/gsa-scr1/GSA/sjia/454_HLA/HAPMAP270/HLA_exons.interval -bl IMPUT.baselikelihoods [-filter $ID.filter -minAllowe\ +dMismatches 7] -ethnicity Caucasian | grep -v "INFO" | grep -v "DEBUG" | grep -v "DONE!" > OUTPUT.phaselikelihoods */ package org.broadinstitute.sting.playground.gatk.walkers.HLAcaller; @@ -47,7 +47,8 @@ public class CalculatePhaseLikelihoodsWalker extends ReadWalker -1 && index2 > -1){ likelihood = CalculatePhaseLikelihood(index1,index2,true); } @@ -191,23 +193,31 @@ public class CalculatePhaseLikelihoodsWalker extends ReadWalker minfrq){ + if (UniqueAlleles.containsKey(name1)){ + if (AlleleFrequencies.containsKey(name1)){ + frq1 = Double.parseDouble((String) AlleleFrequencies.get(name1).toString()); + }else{ + frq1 = .0001; + } + //if (frq1 > minfrq){ for (int j = i; j < HLAnames.length; j++){ name2 = HLAnames[j].substring(4); if (name1.substring(0,1).equals(name2.substring(0,1))){ - if (AlleleFrequencies.containsKey(name2)){ - frq2 = Double.parseDouble((String) AlleleFrequencies.get(name2).toString()); - if (frq2 > minfrq){ + if (UniqueAlleles.containsKey(name2)){ + if (AlleleFrequencies.containsKey(name2)){ + frq2 = Double.parseDouble((String) AlleleFrequencies.get(name2).toString()); + }else{ + frq2 = .0001; + } + // if (frq2 > minfrq){ likelihood = CalculatePhaseLikelihood(i,j,false); numCombinations++; out.printf("%s\t%s\t%s\t%.2f\t%.2f\t%.2f\n",numCombinations,name1,name2,likelihood,Math.log10(frq1),Math.log10(frq2)); - } + // } } } } - } + //} } } } @@ -316,9 +326,11 @@ public class CalculatePhaseLikelihoodsWalker extends ReadWalker -1){ @@ -353,6 +365,7 @@ public class CalculatePhaseLikelihoodsWalker extends ReadWalker