diff --git a/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java b/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java index 7cb615f7f..ceaa30f01 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java +++ b/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java @@ -30,6 +30,7 @@ import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; /** * Holds a bunch of basic information about the traversal. @@ -102,8 +103,12 @@ public class ReadMetrics implements Cloneable { counter.put(filter.getClass(), c + 1L); } - public Map getCountsByFilter() { - return Collections.unmodifiableMap(counter); + public Map getCountsByFilter() { + final TreeMap sortedCounts = new TreeMap(); + for(Map.Entry counterEntry: counter.entrySet()) { + sortedCounts.put(counterEntry.getKey().getSimpleName(),counterEntry.getValue()); + } + return sortedCounts; } /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java index c6321e2ad..fd691735f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java @@ -364,8 +364,8 @@ public abstract class TraversalEngine,Provide // count up the number of skipped reads by summing over all filters long nSkippedReads = 0L; - for ( Map.Entry countsByFilter: cumulativeMetrics.getCountsByFilter().entrySet()) - nSkippedReads += countsByFilter.getValue(); + for ( final long countsByFilter : cumulativeMetrics.getCountsByFilter().values()) + nSkippedReads += countsByFilter; logger.info(String.format("Total runtime %.2f secs, %.2f min, %.2f hours", elapsed, elapsed / 60, elapsed / 3600)); if ( cumulativeMetrics.getNumReadsSeen() > 0 ) @@ -373,10 +373,10 @@ public abstract class TraversalEngine,Provide nSkippedReads, cumulativeMetrics.getNumReadsSeen(), 100.0 * MathUtils.ratio(nSkippedReads,cumulativeMetrics.getNumReadsSeen()))); - for ( Map.Entry filterCounts : cumulativeMetrics.getCountsByFilter().entrySet() ) { + for ( Map.Entry filterCounts : cumulativeMetrics.getCountsByFilter().entrySet() ) { long count = filterCounts.getValue(); logger.info(String.format(" -> %d reads (%.2f%% of total) failing %s", - count, 100.0 * MathUtils.ratio(count,cumulativeMetrics.getNumReadsSeen()), Utils.getClassName(filterCounts.getKey()))); + count, 100.0 * MathUtils.ratio(count,cumulativeMetrics.getNumReadsSeen()), filterCounts.getKey())); } if ( performanceLog != null ) performanceLog.close(); diff --git a/public/java/src/org/broadinstitute/sting/utils/Utils.java b/public/java/src/org/broadinstitute/sting/utils/Utils.java index 6ce492c63..cbd2c52d6 100755 --- a/public/java/src/org/broadinstitute/sting/utils/Utils.java +++ b/public/java/src/org/broadinstitute/sting/utils/Utils.java @@ -58,33 +58,6 @@ public class Utils { return (int)(maxElements / JAVA_DEFAULT_HASH_LOAD_FACTOR) + 2; } - public static String getClassName(Class c) { - String FQClassName = c.getName(); - int firstChar; - firstChar = FQClassName.lastIndexOf ('.') + 1; - if ( firstChar > 0 ) { - FQClassName = FQClassName.substring ( firstChar ); - } - return FQClassName; - } - - - // returns package and class name - public static String getFullClassName(Class c) { - return c.getName(); - } - - // returns the package without the classname, empty string if - // there is no package - public static String getPackageName(Class c) { - String fullyQualifiedName = c.getName(); - int lastDot = fullyQualifiedName.lastIndexOf ('.'); - if (lastDot==-1){ return ""; } - return fullyQualifiedName.substring (0, lastDot); - } - - - /** * Compares two objects, either of which might be null. *