diff --git a/java/src/org/broadinstitute/sting/utils/BasicPileup.java b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/BasicPileup.java similarity index 98% rename from java/src/org/broadinstitute/sting/utils/BasicPileup.java rename to java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/BasicPileup.java index c197b4d1b..88a4ef3aa 100755 --- a/java/src/org/broadinstitute/sting/utils/BasicPileup.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/BasicPileup.java @@ -1,11 +1,11 @@ -package org.broadinstitute.sting.utils; +package org.broadinstitute.sting.oneoffprojects.multisamplecaller; + +import org.broadinstitute.sting.utils.*; import net.sf.samtools.*; import java.util.List; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Random; /** * Created by IntelliJ IDEA. @@ -14,7 +14,6 @@ import java.util.Random; * Time: 8:54:05 AM * To change this template use File | Settings | File Templates. */ -@Deprecated abstract public class BasicPileup { public static final char DELETION_CHAR = 'D'; diff --git a/java/src/org/broadinstitute/sting/playground/utils/ClassicGenotypeLikelihoods.java b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ClassicGenotypeLikelihoods.java similarity index 98% rename from java/src/org/broadinstitute/sting/playground/utils/ClassicGenotypeLikelihoods.java rename to java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ClassicGenotypeLikelihoods.java index 78dadd04f..b69f3b62c 100644 --- a/java/src/org/broadinstitute/sting/playground/utils/ClassicGenotypeLikelihoods.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ClassicGenotypeLikelihoods.java @@ -1,12 +1,9 @@ -package org.broadinstitute.sting.playground.utils; +package org.broadinstitute.sting.oneoffprojects.multisamplecaller; -import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.QualityUtils; import static java.lang.Math.log10; import static java.lang.Math.pow; -import java.util.HashMap; import java.lang.Cloneable; public class ClassicGenotypeLikelihoods implements Cloneable { diff --git a/java/src/org/broadinstitute/sting/playground/utils/ConfusionMatrix.java b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ConfusionMatrix.java similarity index 95% rename from java/src/org/broadinstitute/sting/playground/utils/ConfusionMatrix.java rename to java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ConfusionMatrix.java index 19c06b433..8b51648e5 100644 --- a/java/src/org/broadinstitute/sting/playground/utils/ConfusionMatrix.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/ConfusionMatrix.java @@ -1,4 +1,4 @@ -package org.broadinstitute.sting.playground.utils; +package org.broadinstitute.sting.oneoffprojects.multisamplecaller; import java.lang.*; import java.util.*; diff --git a/java/src/org/broadinstitute/sting/playground/utils/IndelLikelihood.java b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/IndelLikelihood.java similarity index 98% rename from java/src/org/broadinstitute/sting/playground/utils/IndelLikelihood.java rename to java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/IndelLikelihood.java index 72b559b01..71ebd9498 100755 --- a/java/src/org/broadinstitute/sting/playground/utils/IndelLikelihood.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/IndelLikelihood.java @@ -1,4 +1,4 @@ -package org.broadinstitute.sting.playground.utils; +package org.broadinstitute.sting.oneoffprojects.multisamplecaller; import java.util.HashMap; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/MultiSampleCaller2.java b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/MultiSampleCaller.java similarity index 99% rename from java/src/org/broadinstitute/sting/playground/gatk/walkers/MultiSampleCaller2.java rename to java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/MultiSampleCaller.java index e54946882..fd1fddca4 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/MultiSampleCaller2.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/multisamplecaller/MultiSampleCaller.java @@ -1,5 +1,5 @@ -package org.broadinstitute.sting.playground.gatk.walkers; +package org.broadinstitute.sting.oneoffprojects.multisamplecaller; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMReadGroupRecord; @@ -9,7 +9,6 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.playground.utils.*; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.cmdLine.Argument; @@ -20,7 +19,7 @@ import java.io.*; // Beta iterative multi-sample caller // j.maguire 6-11-2009 -public class MultiSampleCaller2 extends LocusWalker +public class MultiSampleCaller extends LocusWalker { @Argument(required=false, shortName="fractional_counts", doc="should we use fractional counts?") public boolean FRACTIONAL_COUNTS = false; @Argument(required=false, shortName="max_iterations", doc="Maximum number of iterations for EM") public int MAX_ITERATIONS = 10; diff --git a/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java b/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java index bc3b0ca63..f4a5007d6 100644 --- a/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java +++ b/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java @@ -184,10 +184,62 @@ public class DupUtils { return l; } + // TODO -- get rid of all this crappy, obsolete pileup code + + @Deprecated + private static ArrayList getBasesAsArrayList( List reads, List offsets ) { + ArrayList bases = new ArrayList(reads.size()); + for (byte value : getBasesAsArray(reads, offsets)) + bases.add(value); + return bases; + } + + @Deprecated + private static ArrayList getQualsAsArrayList( List reads, List offsets ) { + ArrayList quals = new ArrayList(reads.size()); + for (byte value : getQualsAsArray(reads, offsets)) + quals.add(value); + return quals; + } + + @Deprecated + public static byte[] getBasesAsArray( List reads, List offsets ) { + byte array[] = new byte[reads.size()]; + int index = 0; + for ( int i = 0; i < reads.size(); i++ ) { + SAMRecord read = reads.get(i); + int offset = offsets.get(i); + if ( offset == -1 ) { + array[index++] = ((byte)'D'); + } else { + array[index++] = read.getReadBases()[offset]; + } + } + return array; + } + + @Deprecated + private static byte[] getQualsAsArray( List reads, List offsets ) { + byte array[] = new byte[reads.size()]; + int index = 0; + for ( int i = 0; i < reads.size(); i++ ) { + SAMRecord read = reads.get(i); + int offset = offsets.get(i); + + // skip deletion sites + if ( offset == -1 ) { + array[index++] = ((byte)0); + } else { + array[index++] = read.getBaseQualities()[offset]; + } + } + return array; + } + private static Pair combineBaseProbs(List duplicates, int readOffset, int maxQScore) { List offsets = constantOffset(duplicates, readOffset); - ArrayList bases = BasicPileup.getBasesAsArrayList(duplicates, offsets); - ArrayList quals = BasicPileup.getQualsAsArrayList(duplicates, offsets); + ArrayList bases = getBasesAsArrayList(duplicates, offsets); + ArrayList quals = getQualsAsArrayList(duplicates, offsets); final boolean debug = false; // calculate base probs