Found the cause of 80% of our non-called FNs: an excess of filtered bases were causing us to choose the wrong alternate allele. More details to dev team.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4634 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
2a8c97a4a7
commit
e05af54f3e
|
|
@ -228,6 +228,7 @@ public class GridSearchAFEstimation extends AlleleFrequencyCalculationModel {
|
||||||
/*
|
/*
|
||||||
System.out.println(frequency);
|
System.out.println(frequency);
|
||||||
for (int i = 0; i < N; i++) {
|
for (int i = 0; i < N; i++) {
|
||||||
|
System.out.print(samples.get(i));
|
||||||
for (int j=0; j < 3; j++) {
|
for (int j=0; j < 3; j++) {
|
||||||
System.out.print(String.valueOf(matrix[i][j]));
|
System.out.print(String.valueOf(matrix[i][j]));
|
||||||
System.out.print(indexes[i] == j ? "* " : " ");
|
System.out.print(indexes[i] == j ? "* " : " ");
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broad.tribble.util.variantcontext.Allele;
|
import org.broad.tribble.util.variantcontext.Allele;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import org.broadinstitute.sting.utils.sam.GATKSAMRecord;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
@ -115,8 +116,9 @@ public class SNPGenotypeLikelihoodsCalculationModel extends GenotypeLikelihoodsC
|
||||||
// calculate the sum of quality scores for each base
|
// calculate the sum of quality scores for each base
|
||||||
ReadBackedPileup pileup = sample.getValue().getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
ReadBackedPileup pileup = sample.getValue().getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
||||||
for ( PileupElement p : pileup ) {
|
for ( PileupElement p : pileup ) {
|
||||||
// ignore deletions
|
// ignore deletions and filtered bases
|
||||||
if ( p.isDeletion() )
|
if ( p.isDeletion() ||
|
||||||
|
(p.getRead() instanceof GATKSAMRecord && !((GATKSAMRecord)p.getRead()).isGoodBase(p.getOffset())) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
int index = BaseUtils.simpleBaseToBaseIndex(p.getBase());
|
int index = BaseUtils.simpleBaseToBaseIndex(p.getBase());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue