diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java index b07e2a610..1dc28b0e7 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java @@ -111,21 +111,21 @@ import java.util.List; *

* *

-   [testng] path                                                             count
-   [testng] *.*.*.AC                                                         6
-   [testng] *.*.*.AF                                                         6
-   [testng] *.*.*.AN                                                         6
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AC  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AF  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AN  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AC  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AF  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AN  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AC  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AF  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AN  1
-   [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000598.AC  1
-
+ [testng] path count + [testng] *.*.*.AC 6 + [testng] *.*.*.AF 6 + [testng] *.*.*.AN 6 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AC 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AF 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000000.AN 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AC 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AF 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000117.AN 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AC 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AF 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000211.AN 1 + [testng] 64b991fd3850f83614518f7d71f0532f.integrationtest.20:10000598.AC 1 + * * @author Mark DePristo * @since 7/4/11 @@ -201,11 +201,14 @@ public class DiffObjectsWalker extends RodWalker { @Argument(fullName="showItemizedDifferences", shortName="SID", doc="Should we enumerate all differences between the files?", required=false) boolean showItemizedDifferences = false; + @Argument(fullName="iterations", doc="Number of iterations to perform, should be 1 unless you are doing memory testing", required=false) + int iterations = 1; + DiffEngine diffEngine; @Override public void initialize() { - this.diffEngine = new DiffEngine(); + this.diffEngine = new DiffEngine(); } @Override @@ -225,31 +228,39 @@ public class DiffObjectsWalker extends RodWalker { @Override public void onTraversalDone(Integer sum) { - //out.printf("Reading master file %s%n", masterFile); - DiffElement master = diffEngine.createDiffableFromFile(masterFile, MAX_OBJECTS_TO_READ); - logger.info(String.format("Read %d objects", master.size())); - //out.printf("Reading test file %s%n", testFile); - DiffElement test = diffEngine.createDiffableFromFile(testFile, MAX_OBJECTS_TO_READ); - logger.info(String.format("Read %d objects", test.size())); + if ( iterations > 1 ) { + for ( int i = 0; i < iterations; i++ ) { + DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, 20, 10, 0, -1, false); + boolean success = DiffEngine.simpleDiffFiles(masterFile, testFile, MAX_OBJECTS_TO_READ, params); + logger.info("Iteration " + i + " success " + success); + } + } else { + //out.printf("Reading master file %s%n", masterFile); + DiffElement master = diffEngine.createDiffableFromFile(masterFile, MAX_OBJECTS_TO_READ); + logger.info(String.format("Read %d objects", master.size())); + //out.printf("Reading test file %s%n", testFile); + DiffElement test = diffEngine.createDiffableFromFile(testFile, MAX_OBJECTS_TO_READ); + logger.info(String.format("Read %d objects", test.size())); // out.printf("Master diff objects%n"); // out.println(master.toString()); // out.printf("Test diff objects%n"); // out.println(test.toString()); - List diffs = diffEngine.diff(master, test); - logger.info(String.format("Done computing diff with %d differences found", diffs.size())); - if ( showItemizedDifferences ) { - out.printf("Itemized results%n"); - for ( Difference diff : diffs ) - out.printf("DIFF: %s%n", diff.toString()); - } + List diffs = diffEngine.diff(master, test); + logger.info(String.format("Done computing diff with %d differences found", diffs.size())); + if ( showItemizedDifferences ) { + out.printf("Itemized results%n"); + for ( Difference diff : diffs ) + out.printf("DIFF: %s%n", diff.toString()); + } - DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, - MAX_DIFFS, MAX_COUNT1_DIFFS, minCountForDiff, - maxRawDiffsToSummary, doPairwise); - params.setDescending(false); - diffEngine.reportSummarizedDifferences(diffs, params); - logger.info(String.format("Done summarizing differences")); + DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, + MAX_DIFFS, MAX_COUNT1_DIFFS, minCountForDiff, + maxRawDiffsToSummary, doPairwise); + params.setDescending(false); + diffEngine.reportSummarizedDifferences(diffs, params); + logger.info(String.format("Done summarizing differences")); + } } -} \ No newline at end of file +}