Support for sorting the diff output in reverse order.
This commit is contained in:
parent
45702d3084
commit
782a05e9b5
|
|
@ -143,7 +143,7 @@ public class DiffEngine {
|
||||||
* Not that only pairs of the same length are considered as potentially equivalent
|
* Not that only pairs of the same length are considered as potentially equivalent
|
||||||
*
|
*
|
||||||
* @param params determines how we display the items
|
* @param params determines how we display the items
|
||||||
* @param diffs
|
* @param diffs the list of differences to summarize
|
||||||
*/
|
*/
|
||||||
public void reportSummarizedDifferences(List<Difference> diffs, SummaryReportParams params ) {
|
public void reportSummarizedDifferences(List<Difference> diffs, SummaryReportParams params ) {
|
||||||
printSummaryReport(summarizeDifferences(diffs), params );
|
printSummaryReport(summarizeDifferences(diffs), params );
|
||||||
|
|
@ -207,14 +207,7 @@ public class DiffEngine {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void printSummaryReport(List<Difference> sortedSummaries, SummaryReportParams params ) {
|
protected void printSummaryReport(List<Difference> sortedSummaries, SummaryReportParams params ) {
|
||||||
GATKReport report = new GATKReport();
|
List<Difference> toShow = new ArrayList<Difference>();
|
||||||
final String tableName = "diffences";
|
|
||||||
report.addTable(tableName, "Summarized differences between the master and test files.\nSee http://www.broadinstitute.org/gsa/wiki/index.php/DiffEngine for more information");
|
|
||||||
GATKReportTable table = report.getTable(tableName);
|
|
||||||
table.addPrimaryKey("Difference", true);
|
|
||||||
table.addColumn("NumberOfOccurrences", 0);
|
|
||||||
table.addColumn("SpecificDifference", 0);
|
|
||||||
|
|
||||||
int count = 0, count1 = 0;
|
int count = 0, count1 = 0;
|
||||||
for ( Difference diff : sortedSummaries ) {
|
for ( Difference diff : sortedSummaries ) {
|
||||||
if ( diff.getCount() < params.minSumDiffToShow )
|
if ( diff.getCount() < params.minSumDiffToShow )
|
||||||
|
|
@ -230,10 +223,26 @@ public class DiffEngine {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.set(diff.getPath(), "NumberOfOccurrences", diff.getCount());
|
toShow.add(diff);
|
||||||
table.set(diff.getPath(), "SpecificDifference", diff.valueDiffString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we want it in descending order, reverse the list
|
||||||
|
if ( ! params.descending ) {
|
||||||
|
Collections.reverse(toShow);
|
||||||
|
}
|
||||||
|
|
||||||
|
// now that we have a specific list of values we want to show, display them
|
||||||
|
GATKReport report = new GATKReport();
|
||||||
|
final String tableName = "diffences";
|
||||||
|
report.addTable(tableName, "Summarized differences between the master and test files.\nSee http://www.broadinstitute.org/gsa/wiki/index.php/DiffEngine for more information", false);
|
||||||
|
GATKReportTable table = report.getTable(tableName);
|
||||||
|
table.addPrimaryKey("Difference", true);
|
||||||
|
table.addColumn("NumberOfOccurrences", 0);
|
||||||
|
table.addColumn("ExampleDifference", 0);
|
||||||
|
for ( Difference diff : toShow ) {
|
||||||
|
table.set(diff.getPath(), "NumberOfOccurrences", diff.getCount());
|
||||||
|
table.set(diff.getPath(), "ExampleDifference", diff.valueDiffString());
|
||||||
|
}
|
||||||
table.write(params.out);
|
table.write(params.out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -252,7 +261,7 @@ public class DiffEngine {
|
||||||
* commonPostfixLength: how many parts are shared at the end, suppose its 2
|
* commonPostfixLength: how many parts are shared at the end, suppose its 2
|
||||||
* We want to create a string *.*.C.D
|
* We want to create a string *.*.C.D
|
||||||
*
|
*
|
||||||
* @param parts
|
* @param parts the separated path values [above without .]
|
||||||
* @param commonPostfixLength
|
* @param commonPostfixLength
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -351,6 +360,7 @@ public class DiffEngine {
|
||||||
int maxItemsToDisplay = 0;
|
int maxItemsToDisplay = 0;
|
||||||
int maxCountOneItems = 0;
|
int maxCountOneItems = 0;
|
||||||
int minSumDiffToShow = 0;
|
int minSumDiffToShow = 0;
|
||||||
|
boolean descending = true;
|
||||||
|
|
||||||
public SummaryReportParams(PrintStream out, int maxItemsToDisplay, int maxCountOneItems, int minSumDiffToShow) {
|
public SummaryReportParams(PrintStream out, int maxItemsToDisplay, int maxCountOneItems, int minSumDiffToShow) {
|
||||||
this.out = out;
|
this.out = out;
|
||||||
|
|
@ -358,5 +368,9 @@ public class DiffEngine {
|
||||||
this.maxCountOneItems = maxCountOneItems;
|
this.maxCountOneItems = maxCountOneItems;
|
||||||
this.minSumDiffToShow = minSumDiffToShow;
|
this.minSumDiffToShow = minSumDiffToShow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDescending(boolean descending) {
|
||||||
|
this.descending = descending;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,7 @@ public class DiffObjectsWalker extends RodWalker<Integer, Integer> {
|
||||||
}
|
}
|
||||||
|
|
||||||
DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, MAX_DIFFS, MAX_COUNT1_DIFFS, minCountForDiff);
|
DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, MAX_DIFFS, MAX_COUNT1_DIFFS, minCountForDiff);
|
||||||
|
params.setDescending(false);
|
||||||
diffEngine.reportSummarizedDifferences(diffs, params);
|
diffEngine.reportSummarizedDifferences(diffs, params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue