From 31a2575c7bc1485d18ccaa0bc07d608be4d54865 Mon Sep 17 00:00:00 2001 From: chartl Date: Tue, 8 Mar 2011 17:16:21 +0000 Subject: [PATCH] Fixes: - Don't know how I got the wiggle header so utterly wrong. Fixed. - Q-values now have a static maximum of 2000 so IGV averaging won't make everything look spikey and ugly. - Changing windows to size 100 for (hopefully) better resolution. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5406 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/association/AssociationTestRunner.java | 11 ++++++++--- .../association/RegionalAssociationWalker.java | 2 +- .../walkers/association/modules/BaseQualityScore.java | 4 ++-- .../association/modules/InsertSizeDistribution.java | 4 ++-- .../walkers/association/modules/MappingQuality0.java | 4 ++-- .../association/modules/MateMappingQuality.java | 4 ++-- .../walkers/association/modules/MateOtherContig.java | 4 ++-- .../walkers/association/modules/MateSameStrand.java | 4 ++-- .../walkers/association/modules/MateUnmapped.java | 4 ++-- .../walkers/association/modules/ProperPairs.java | 4 ++-- .../walkers/association/modules/ReadClipping.java | 4 ++-- .../walkers/association/modules/ReadIndels.java | 6 +++--- .../association/modules/ReadMappingQuality.java | 4 ++-- .../walkers/association/modules/SampleDepth.java | 4 ++-- 14 files changed, 34 insertions(+), 29 deletions(-) diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/AssociationTestRunner.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/AssociationTestRunner.java index 19a5dd8ef..50ea8b4e3 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/AssociationTestRunner.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/AssociationTestRunner.java @@ -22,9 +22,14 @@ import org.broadinstitute.sting.utils.collections.Pair; * To change this template use File | Settings | File Templates. */ public class AssociationTestRunner { + final static int MAX_Q_VALUE = 2000; // todo -- this was written when ACs could implement interfaces, now that they extend, there's no multiple inheritance static Normal standardNormal = new Normal(0.0,1.0,null); + private static int pToQ(double p) { + return Math.min((int) Math.floor(QualityUtils.phredScaleErrorRate(p)),MAX_Q_VALUE); + } + public static String runTests(AssociationContext context) { List results = new ArrayList(); if ( context instanceof TStatistic) { @@ -58,15 +63,15 @@ public class AssociationTestRunner { */ public static int getQValue(AssociationContext context) { if ( context instanceof TStatistic ) { - return (int) Math.floor(QualityUtils.phredScaleErrorRate(testStudentT((TStatistic) context).second)); + return pToQ(testStudentT((TStatistic) context).second); } if ( context instanceof ZStatistic ) { - return (int) Math.floor(QualityUtils.phredScaleErrorRate(testZ((ZStatistic) context).second)); + return pToQ(testZ((ZStatistic) context).second); } if ( context instanceof UStatistic ) { - return (int) Math.floor(QualityUtils.phredScaleErrorRate(mannWhitneyUTest((UStatistic) context).second)); + return pToQ(mannWhitneyUTest((UStatistic) context).second); } return -1; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/RegionalAssociationWalker.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/RegionalAssociationWalker.java index dab581751..2c1434dc3 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/RegionalAssociationWalker.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/RegionalAssociationWalker.java @@ -135,7 +135,7 @@ public class RegionalAssociationWalker extends LocusWalker cons) { for ( AssociationContext con : cons ) { GenomeLoc first = getToolkit().getIntervals().iterator().next(); - String header = String.format("fixedStep\tchrom=%s,start=%d,step=%d,span=%d",first.getContig(),first.getStart(),con.slideByValue(),con.getWindowSize()); + String header = String.format("fixedStep chrom=%s start=%d step=%d span=%d",first.getContig(),first.getStart(),con.slideByValue(),con.getWindowSize()); out.get(con.getClass()).printf("%s%n",header); } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/BaseQualityScore.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/BaseQualityScore.java index e83f68cb9..d06e83d44 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/BaseQualityScore.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/BaseQualityScore.java @@ -26,7 +26,7 @@ public class BaseQualityScore extends TStatistic { return (Collection) baseQuals; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return true; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/InsertSizeDistribution.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/InsertSizeDistribution.java index 0c6226c41..532837ba2 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/InsertSizeDistribution.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/InsertSizeDistribution.java @@ -13,8 +13,8 @@ import java.util.List; * @author chartl */ public class InsertSizeDistribution extends TStatistic { - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } public Collection map(ReadBackedPileup pileup) { diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MappingQuality0.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MappingQuality0.java index 4717d9732..cb2b1b9ab 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MappingQuality0.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MappingQuality0.java @@ -26,8 +26,8 @@ public class MappingQuality0 extends ZStatistic { return new Pair(mq0,total); } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateMappingQuality.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateMappingQuality.java index 579cd3605..4807b4493 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateMappingQuality.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateMappingQuality.java @@ -27,7 +27,7 @@ public class MateMappingQuality extends UStatistic { return (Collection) mateMapQ; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateOtherContig.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateOtherContig.java index 152f1f505..24e7115d8 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateOtherContig.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateOtherContig.java @@ -14,8 +14,8 @@ import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; */ public class MateOtherContig extends ZStatistic { - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } public Pair map(ReadBackedPileup pileup) { diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateSameStrand.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateSameStrand.java index 1129313f7..9ac1ea083 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateSameStrand.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateSameStrand.java @@ -29,7 +29,7 @@ public class MateSameStrand extends ZStatistic { return new Pair(mateSameStrand,numPairs); } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateUnmapped.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateUnmapped.java index 5ee868714..f84bd53b8 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateUnmapped.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/MateUnmapped.java @@ -29,7 +29,7 @@ public class MateUnmapped extends ZStatistic { return new Pair(numPairUnmapped,numMatedReads); } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ProperPairs.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ProperPairs.java index 8cef17753..c703b8b40 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ProperPairs.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ProperPairs.java @@ -27,7 +27,7 @@ public class ProperPairs extends ZStatistic { return new Pair(numPropPair,numReads); } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadClipping.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadClipping.java index e84cb9768..80d779980 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadClipping.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadClipping.java @@ -33,7 +33,7 @@ public class ReadClipping extends TStatistic { return (Collection) clipping; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadIndels.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadIndels.java index 1990ccd46..29e1d0286 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadIndels.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadIndels.java @@ -17,7 +17,7 @@ import java.util.Collection; * Time: 1:54 PM * To change this template use File | Settings | File Templates. */ -public class ReadIndels extends TStatistic { +public class ReadIndels extends UStatistic { public Collection map(ReadBackedPileup rbp) { ArrayList indelElements = new ArrayList(rbp.size()); @@ -33,7 +33,7 @@ public class ReadIndels extends TStatistic { return (Collection) indelElements; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadMappingQuality.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadMappingQuality.java index a4ad51f55..07ab18682 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadMappingQuality.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/ReadMappingQuality.java @@ -26,7 +26,7 @@ public class ReadMappingQuality extends TStatistic { return (Collection) mapQuals; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/SampleDepth.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/SampleDepth.java index a6ead5952..554cd4012 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/SampleDepth.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/association/modules/SampleDepth.java @@ -75,8 +75,8 @@ public class SampleDepth extends UStatistic { // note: this is to satisfy the interface, and is never called due to override public Collection map(ReadBackedPileup pileup) { return null; } - public int getWindowSize() { return 200; } - public int slideByValue() { return 25; } + public int getWindowSize() { return 100; } + public int slideByValue() { return 10; } public boolean usePreviouslySeenReads() { return true; }