Counts of records failing filters are displayed sorted
-- Stops random ordering of the output, as the counts are returned sorted by string name of the class -- Deleted now unused sh*tty assessors in Utils
This commit is contained in:
parent
d1e70d6ec2
commit
0b88af4af9
|
|
@ -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<Class,Long> getCountsByFilter() {
|
||||
return Collections.unmodifiableMap(counter);
|
||||
public Map<String,Long> getCountsByFilter() {
|
||||
final TreeMap<String, Long> sortedCounts = new TreeMap<String, Long>();
|
||||
for(Map.Entry<Class,Long> counterEntry: counter.entrySet()) {
|
||||
sortedCounts.put(counterEntry.getKey().getSimpleName(),counterEntry.getValue());
|
||||
}
|
||||
return sortedCounts;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -364,8 +364,8 @@ public abstract class TraversalEngine<M,T,WalkerType extends Walker<M,T>,Provide
|
|||
|
||||
// count up the number of skipped reads by summing over all filters
|
||||
long nSkippedReads = 0L;
|
||||
for ( Map.Entry<Class, Long> 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<M,T,WalkerType extends Walker<M,T>,Provide
|
|||
nSkippedReads,
|
||||
cumulativeMetrics.getNumReadsSeen(),
|
||||
100.0 * MathUtils.ratio(nSkippedReads,cumulativeMetrics.getNumReadsSeen())));
|
||||
for ( Map.Entry<Class, Long> filterCounts : cumulativeMetrics.getCountsByFilter().entrySet() ) {
|
||||
for ( Map.Entry<String, Long> 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();
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue