From bbc7b9ad5ac1d1787c0b89d7d0f2321a609e1e0a Mon Sep 17 00:00:00 2001 From: tmelman Date: Fri, 21 Oct 2022 10:44:07 -0400 Subject: [PATCH 1/3] require reference as asserted in documentation : --- .../copynumber/utils/MergeAnnotatedRegions.java | 5 +++++ .../MergeAnnotatedRegionsIntegrationTest.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegions.java b/src/main/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegions.java index 44074119279..55074512734 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegions.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegions.java @@ -36,6 +36,11 @@ public class MergeAnnotatedRegions extends GATKTool { final static String DEFAULT_SEPARATOR = "__"; + @Override + public boolean requiresReference() { + return true; + } + @Override public void traverse() { diff --git a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java index 6be89bfe56f..b3f01c49048 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java @@ -1,6 +1,7 @@ package org.broadinstitute.hellbender.tools.copynumber.utils; import com.google.common.collect.ImmutableSortedMap; +import org.broadinstitute.barclay.argparser.CommandLineException; import org.broadinstitute.hellbender.CommandLineProgramTest; import org.broadinstitute.hellbender.cmdline.StandardArgumentDefinitions; import org.broadinstitute.hellbender.tools.copynumber.arguments.CopyNumberStandardArgument; @@ -50,4 +51,17 @@ public void basicTest() throws IOException { Assert.assertEquals(collection.getRecords().get(4), new AnnotatedInterval(new SimpleInterval("2", 1098, 2305), ImmutableSortedMap.of("Num_Probes", "200", "Segment_Mean", "-0.10", "Segment_Call", "0"))); } + + @Test(expectedExceptions = CommandLineException.class) + public void requiresReferenceTest() throws IOException { + // This test is a bit more like the real world + final File outputFile = File.createTempFile("mergeannotatedregions", ".seg"); + final List arguments = new ArrayList<>(); + arguments.add("--" + CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME); + arguments.add(SIMPLE_TEST_FILE); + arguments.add("-" + StandardArgumentDefinitions.OUTPUT_SHORT_NAME); + arguments.add(outputFile.getAbsolutePath()); + runCommandLine(arguments); + } + } From b5c1427a6080d2f82df1abc9586d62298c976451 Mon Sep 17 00:00:00 2001 From: tmelman Date: Fri, 21 Oct 2022 11:25:46 -0400 Subject: [PATCH 2/3] Subbed File.createTempFile for BaseTest.createTempFile --- .../utils/MergeAnnotatedRegionsIntegrationTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java index b3f01c49048..b7e3b3a6f79 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java @@ -8,6 +8,7 @@ import org.broadinstitute.hellbender.tools.copynumber.utils.annotatedinterval.AnnotatedInterval; import org.broadinstitute.hellbender.tools.copynumber.utils.annotatedinterval.AnnotatedIntervalCollection; import org.broadinstitute.hellbender.utils.SimpleInterval; +import org.broadinstitute.hellbender.testutils.BaseTest; import org.testng.Assert; import org.testng.annotations.Test; @@ -24,7 +25,7 @@ public class MergeAnnotatedRegionsIntegrationTest extends CommandLineProgramTest @Test public void basicTest() throws IOException { // This test is a bit more like the real world - final File outputFile = File.createTempFile("mergeannotatedregions", ".seg"); + final File outputFile = BaseTest.createTempFile("mergeannotatedregions", ".seg"); final List arguments = new ArrayList<>(); arguments.add("--" + CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME); arguments.add(SIMPLE_TEST_FILE); @@ -55,7 +56,7 @@ public void basicTest() throws IOException { @Test(expectedExceptions = CommandLineException.class) public void requiresReferenceTest() throws IOException { // This test is a bit more like the real world - final File outputFile = File.createTempFile("mergeannotatedregions", ".seg"); + final File outputFile = BaseTest.createTempFile("mergeannotatedregions", ".seg"); final List arguments = new ArrayList<>(); arguments.add("--" + CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME); arguments.add(SIMPLE_TEST_FILE); From ddb58a58e7542be54721c11005b44f86f64e33a5 Mon Sep 17 00:00:00 2001 From: tmelman Date: Fri, 21 Oct 2022 11:32:55 -0400 Subject: [PATCH 3/3] Changed args from list to ArgumentBuilder --- .../MergeAnnotatedRegionsIntegrationTest.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java index b7e3b3a6f79..624b9e55337 100644 --- a/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java +++ b/src/test/java/org/broadinstitute/hellbender/tools/copynumber/utils/MergeAnnotatedRegionsIntegrationTest.java @@ -9,6 +9,7 @@ import org.broadinstitute.hellbender.tools.copynumber.utils.annotatedinterval.AnnotatedIntervalCollection; import org.broadinstitute.hellbender.utils.SimpleInterval; import org.broadinstitute.hellbender.testutils.BaseTest; +import org.broadinstitute.hellbender.testutils.ArgumentsBuilder; import org.testng.Assert; import org.testng.annotations.Test; @@ -26,13 +27,10 @@ public class MergeAnnotatedRegionsIntegrationTest extends CommandLineProgramTest public void basicTest() throws IOException { // This test is a bit more like the real world final File outputFile = BaseTest.createTempFile("mergeannotatedregions", ".seg"); - final List arguments = new ArrayList<>(); - arguments.add("--" + CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME); - arguments.add(SIMPLE_TEST_FILE); - arguments.add("--" + StandardArgumentDefinitions.REFERENCE_LONG_NAME); - arguments.add(REF); - arguments.add("-" + StandardArgumentDefinitions.OUTPUT_SHORT_NAME); - arguments.add(outputFile.getAbsolutePath()); + final ArgumentsBuilder arguments = new ArgumentsBuilder(); + arguments.add(CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME, SIMPLE_TEST_FILE); + arguments.add(StandardArgumentDefinitions.REFERENCE_LONG_NAME, REF); + arguments.add(StandardArgumentDefinitions.OUTPUT_SHORT_NAME, outputFile.getAbsolutePath()); runCommandLine(arguments); final AnnotatedIntervalCollection collection = @@ -57,11 +55,9 @@ public void basicTest() throws IOException { public void requiresReferenceTest() throws IOException { // This test is a bit more like the real world final File outputFile = BaseTest.createTempFile("mergeannotatedregions", ".seg"); - final List arguments = new ArrayList<>(); - arguments.add("--" + CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME); - arguments.add(SIMPLE_TEST_FILE); - arguments.add("-" + StandardArgumentDefinitions.OUTPUT_SHORT_NAME); - arguments.add(outputFile.getAbsolutePath()); + final ArgumentsBuilder arguments = new ArgumentsBuilder(); + arguments.add(CopyNumberStandardArgument.SEGMENTS_FILE_LONG_NAME, SIMPLE_TEST_FILE); + arguments.add(StandardArgumentDefinitions.OUTPUT_SHORT_NAME, outputFile.getAbsolutePath()); runCommandLine(arguments); }