From bd1e679bc5a3994c4fe5b6aadb3327fc1e6ecd1f Mon Sep 17 00:00:00 2001 From: chartl Date: Thu, 27 Aug 2009 20:23:41 +0000 Subject: [PATCH] @ Fixed issues with AnalyzePowerWalker which depended on CoverageAndPowerWalker. The latter was changed but not the former. Now fixed git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1464 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/poolseq/AnalyzePowerWalker.java | 22 ++++++++++++------- .../poolseq/CoverageAndPowerWalker.java | 7 ++++++ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/AnalyzePowerWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/AnalyzePowerWalker.java index 79db22fdd..9af1731e0 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/AnalyzePowerWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/AnalyzePowerWalker.java @@ -6,6 +6,7 @@ import org.broadinstitute.sting.utils.Pair; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.playground.utils.PoolUtils; import java.io.FileNotFoundException; import java.io.FileReader; @@ -13,8 +14,11 @@ import java.io.BufferedReader; import java.io.IOException; import java.util.StringTokenizer; import java.util.NoSuchElementException; +import java.util.List; import java.rmi.NoSuchObjectException; +import net.sf.samtools.SAMRecord; + /** * Created by IntelliJ IDEA. * User: chartl @@ -29,8 +33,6 @@ public class AnalyzePowerWalker extends CoverageAndPowerWalker{ String pathToSyzygyFile = null; @Argument(fullName = "ColumnOffset", shortName = "co", doc = "Offset of column containing the power in the pf", required = true) int colOffset = 0; - @Argument(fullName = "linesToClear", shortName="clr", doc = "Clear so many lines from the read file before starting (default - just the header line)", required = false) - int clrLines = 1; BufferedReader syzyFileReader; final String pfFileDelimiter = " "; @@ -42,9 +44,7 @@ public class AnalyzePowerWalker extends CoverageAndPowerWalker{ super.initialize(); try { syzyFileReader = new BufferedReader(new FileReader(pathToSyzygyFile)); - for(int clear = 0; clear < clrLines; clear++) { - syzyFileReader.readLine(); - } + syzyFileReader.readLine(); } catch (FileNotFoundException e) { String newErrMsg = "Syzygy input file " + pathToSyzygyFile + " could be incorrect. File not found."; throw new StingException(newErrMsg,e); @@ -56,11 +56,13 @@ public class AnalyzePowerWalker extends CoverageAndPowerWalker{ } @Override - public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) + public Pair map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { + + Pair, List>,Pair,List>> splitReads = PoolUtils.splitReadsByReadDirection(context.getReads(),context.getOffsets()); if ( !super.suppress_printing ) { - Pair powpair = super.boostrapSamplingPowerCalc(context); + Pair powpair = super.calculatePower(splitReads,false,context); boolean syzyFileIsReady; try { @@ -80,7 +82,7 @@ public class AnalyzePowerWalker extends CoverageAndPowerWalker{ } } - return context.getReads().size(); + return new Pair(splitReads.getFirst().getFirst().size(), splitReads.getFirst().getFirst().size()); } public Pair getSyzyPowFromFile() { @@ -107,4 +109,8 @@ public class AnalyzePowerWalker extends CoverageAndPowerWalker{ throw new StingException(errMsg); } } + + public String createHeaderString() { + return (super.createHeaderString() + " PowSyz"); + } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/CoverageAndPowerWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/CoverageAndPowerWalker.java index e44210f4e..040765d5e 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/CoverageAndPowerWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/poolseq/CoverageAndPowerWalker.java @@ -43,6 +43,9 @@ public class CoverageAndPowerWalker extends LocusWalker, } public Pair reduceInit() { + if ( ! suppress_printing ) { // print header + out.printf("%s%n",createHeaderString()); + } return new Pair(0l,0l); } @@ -154,6 +157,10 @@ public class CoverageAndPowerWalker extends LocusWalker, return power; } + public String createHeaderString() { + return "Chrom:Pos CvgF CvgR CvgC QmedF QmedR QmedC PowF PowR PowC"; + } + // class methods public static Pair,List>,Pair,List>> coinTossPartition(List reads, List offsets, double snpProb) {