From 43c20264b0b3a2e0bef4873450e4fb299b066a13 Mon Sep 17 00:00:00 2001 From: Ryan Poplin Date: Sun, 1 Dec 2013 15:51:34 -0500 Subject: [PATCH] Initial commit of the random forest classifier. --- .../sting/gatk/walkers/variantrecalibration/Tranche.java | 3 ++- .../java/org/broadinstitute/sting/utils/MathUtils.java | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/protected/gatk-protected/src/main/java/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java b/protected/gatk-protected/src/main/java/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java index 63bd5f14d..3741ce12d 100644 --- a/protected/gatk-protected/src/main/java/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java +++ b/protected/gatk-protected/src/main/java/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java @@ -124,7 +124,8 @@ public class Tranche { final ByteArrayOutputStream bytes = new ByteArrayOutputStream(); final PrintStream stream = new PrintStream(bytes); - Collections.sort( tranches, new TrancheTruthSensitivityComparator() ); + if( tranches.size() > 1 ) + Collections.sort( tranches, new TrancheTruthSensitivityComparator() ); stream.println("# Variant quality score tranches file"); stream.println("# Version number " + CURRENT_VERSION); diff --git a/public/gatk-framework/src/main/java/org/broadinstitute/sting/utils/MathUtils.java b/public/gatk-framework/src/main/java/org/broadinstitute/sting/utils/MathUtils.java index 6684d0aa0..e73797705 100644 --- a/public/gatk-framework/src/main/java/org/broadinstitute/sting/utils/MathUtils.java +++ b/public/gatk-framework/src/main/java/org/broadinstitute/sting/utils/MathUtils.java @@ -1531,6 +1531,15 @@ public class MathUtils { return sliceListByIndices(sampleIndicesWithoutReplacement(list.size(),N),list); } + /** + * Draw N random elements from list with replacement + * @param list - the list from which to draw randomly + * @param N - the number of elements to draw + */ + public static List randomSample(final List list, final int N) { + return sliceListByIndices(sampleIndicesWithReplacement(list.size(),N),list); + } + /** * Return the likelihood of observing the counts of categories having sampled a population * whose categorial frequencies are distributed according to a Dirichlet distribution