Correct accounting for cases where first het in interval is phased
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5075 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
af79fa629f
commit
6ac888d26a
|
|
@ -173,7 +173,7 @@ public class CountHetPhasingInIntervalWalker extends RodWalker<Integer, Integer>
|
||||||
SingleSampleIntervalStats stats = sampleStatEntry.getValue();
|
SingleSampleIntervalStats stats = sampleStatEntry.getValue();
|
||||||
if (perIntervalOut != null && stats.numHetsInCurrentInterval > 0) {
|
if (perIntervalOut != null && stats.numHetsInCurrentInterval > 0) {
|
||||||
String sample = sampleStatEntry.getKey();
|
String sample = sampleStatEntry.getKey();
|
||||||
perIntervalOut.println(sample + "\t" + curInterval + "\t" + stats.numPhasedInCurrentInterval + "\t" + stats.numHetsInCurrentInterval + "\t" + stats.firstHetIsPhased);
|
perIntervalOut.println(sample + "\t" + curInterval + "\t" + stats.numPhasedInCurrentInterval + "\t" + stats.numHetsInCurrentInterval + "\t" + stats.firstHetIsPhasedInCurrentInterval);
|
||||||
}
|
}
|
||||||
stats.finalizeStats(); // now, can reset the counters [after print-out]
|
stats.finalizeStats(); // now, can reset the counters [after print-out]
|
||||||
}
|
}
|
||||||
|
|
@ -191,17 +191,23 @@ public class CountHetPhasingInIntervalWalker extends RodWalker<Integer, Integer>
|
||||||
|
|
||||||
private class SingleSampleIntervalStats {
|
private class SingleSampleIntervalStats {
|
||||||
public Map<PhasedHetsStat, Integer> hetStatInIntervalToCount;
|
public Map<PhasedHetsStat, Integer> hetStatInIntervalToCount;
|
||||||
public int firstHetIsPhased;
|
public int firstHetIsPhasedCount;
|
||||||
|
|
||||||
private int numHetsInCurrentInterval;
|
private int numHetsInCurrentInterval;
|
||||||
private int numPhasedInCurrentInterval;
|
private int numPhasedInCurrentInterval;
|
||||||
|
private boolean firstHetIsPhasedInCurrentInterval;
|
||||||
|
|
||||||
public SingleSampleIntervalStats() {
|
public SingleSampleIntervalStats() {
|
||||||
this.hetStatInIntervalToCount = new TreeMap<PhasedHetsStat, Integer>(); // implemented PhasedHetsStat.compareTo()
|
this.hetStatInIntervalToCount = new TreeMap<PhasedHetsStat, Integer>(); // implemented PhasedHetsStat.compareTo()
|
||||||
this.firstHetIsPhased = 0;
|
this.firstHetIsPhasedCount = 0;
|
||||||
|
|
||||||
|
resetCurrentIntervalCounters();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetCurrentIntervalCounters() {
|
||||||
this.numHetsInCurrentInterval = 0;
|
this.numHetsInCurrentInterval = 0;
|
||||||
this.numPhasedInCurrentInterval = 0;
|
this.numPhasedInCurrentInterval = 0;
|
||||||
|
this.firstHetIsPhasedInCurrentInterval = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateHetStats(boolean isHet, boolean isPhased) {
|
public void updateHetStats(boolean isHet, boolean isPhased) {
|
||||||
|
|
@ -212,7 +218,7 @@ public class CountHetPhasingInIntervalWalker extends RodWalker<Integer, Integer>
|
||||||
numPhasedInCurrentInterval++;
|
numPhasedInCurrentInterval++;
|
||||||
|
|
||||||
if (numHetsInCurrentInterval == 1)
|
if (numHetsInCurrentInterval == 1)
|
||||||
firstHetIsPhased++;
|
firstHetIsPhasedInCurrentInterval = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -227,15 +233,17 @@ public class CountHetPhasingInIntervalWalker extends RodWalker<Integer, Integer>
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
hetStatInIntervalToCount.put(hetsAndPhased, cnt + 1);
|
hetStatInIntervalToCount.put(hetsAndPhased, cnt + 1);
|
||||||
|
|
||||||
numHetsInCurrentInterval = 0;
|
if (firstHetIsPhasedInCurrentInterval)
|
||||||
numPhasedInCurrentInterval = 0;
|
firstHetIsPhasedCount++;
|
||||||
|
|
||||||
|
resetCurrentIntervalCounters();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
sb.append("# of intervals: " + numIntervals + "\n");
|
sb.append("# of intervals: " + numIntervals + "\n");
|
||||||
sb.append("First het is phased: " + firstHetIsPhased + "\n");
|
sb.append("First het is phased: " + firstHetIsPhasedCount + "\n");
|
||||||
|
|
||||||
sb.append("Distribution of number of phased / hets per interval:" + "\n");
|
sb.append("Distribution of number of phased / hets per interval:" + "\n");
|
||||||
for (Map.Entry<PhasedHetsStat, Integer> hetStatEntry : hetStatInIntervalToCount.entrySet())
|
for (Map.Entry<PhasedHetsStat, Integer> hetStatEntry : hetStatInIntervalToCount.entrySet())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue