From 41a8a304a0ffc2b6a6209b8da6b4423d8c91bd22 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Fri, 7 Sep 2012 11:27:00 -0400 Subject: [PATCH 1/4] Catch masked OutOfMemory errors as User Errors --- .../src/org/broadinstitute/sting/gatk/CommandLineGATK.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java b/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java index ce57d1a7a..1b41b85f4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java +++ b/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java @@ -137,6 +137,10 @@ public class CommandLineGATK extends CommandLineExecutable { exitSystemWithUserError(new UserException.NoSpaceOnDevice()); if ( t.getCause() != null && t.getCause().getMessage().contains("No space left on device") ) exitSystemWithUserError(new UserException.NoSpaceOnDevice()); + + // masked out of memory error + if ( t.getCause() != null && t.getCause() instanceof OutOfMemoryError ) + exitSystemWithUserError(new UserException.NotEnoughMemory()); } /** From 3dc248a49d705826c40f94b2fdc3aeed38d989da Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Fri, 7 Sep 2012 11:41:38 -0400 Subject: [PATCH 2/4] Adding another test --- .../broadinstitute/sting/gatk/walkers/qc/ErrorThrowing.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ErrorThrowing.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ErrorThrowing.java index 12423595b..d3ee4e832 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ErrorThrowing.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ErrorThrowing.java @@ -94,8 +94,10 @@ public class ErrorThrowing extends RodWalker implements TreeRed throw new RuntimeException(CommandLineGATK.PICARD_TEXT_SAM_FILE_ERROR_1); } else if ( exceptionToThrow.equals("SamError2") ) { throw new RuntimeException(CommandLineGATK.PICARD_TEXT_SAM_FILE_ERROR_2); - } else if ( exceptionToThrow.equals("NoSpace") ) { + } else if ( exceptionToThrow.equals("NoSpace1") ) { throw new net.sf.samtools.util.RuntimeIOException(new java.io.IOException("No space left on device java.io.FileOutputStream.writeBytes(Native Method)")); + } else if ( exceptionToThrow.equals("NoSpace2") ) { + throw new net.sf.samtools.SAMException("Exception writing BAM index file", new java.io.IOException("No space left on device java.io.FileOutputStream.writeBytes(Native Method)")); } else { throw new UserException.BadArgumentValue("exception", "exception isn't a recognized value " + exceptionToThrow); } From 3f2a4379af87425c2dcaf2dfa51549154a2ee409 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Thu, 6 Sep 2012 15:10:35 -0400 Subject: [PATCH 3/4] Added forum API version stub to base URL for posting GATKDocs This will prevent bugs from occurring when Vanilla make changes to the API as described here: http://vanillaforums.com/blog/api#configuration Based on the bug that broke the website Guide section on 9/6/12, the GATKDocs posting system will probably break in the next release if this is not applied as a bug fix. --- .../src/org/broadinstitute/sting/utils/help/ForumAPIUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/help/ForumAPIUtils.java b/public/java/src/org/broadinstitute/sting/utils/help/ForumAPIUtils.java index 1dfc4ecc0..fe5f48a48 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/ForumAPIUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/ForumAPIUtils.java @@ -44,7 +44,7 @@ public class ForumAPIUtils { /** * How we post to the forum */ - private final static String API_URL = "https://gatk.vanillaforums.com/"; + private final static String API_URL = "https://gatkforums.broadinstitute.org/api/v1/"; final private static String ACCESS_TOKEN = "access_token="; public static List getPostedTools(String forumKey) { From b1677fc7195abb8c059ac7d0827764cffb2338e2 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Fri, 7 Sep 2012 14:25:57 -0400 Subject: [PATCH 4/4] Fixed JIRA GSA-520 for Guillermo: when intervals with zero coverage were present, DiagnoseTargets was trying to merge them with the next interval (even if non-overlapping) which would cause problems later on when it checked to make sure that intervals were strictly overlapping. --- .../gatk/walkers/diagnostics/targets/DiagnoseTargets.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diagnostics/targets/DiagnoseTargets.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diagnostics/targets/DiagnoseTargets.java index 112eb278e..cbd3bc950 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diagnostics/targets/DiagnoseTargets.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diagnostics/targets/DiagnoseTargets.java @@ -246,6 +246,14 @@ public class DiagnoseTargets extends LocusWalker { */ private void addNewOverlappingIntervals(GenomeLoc refLocus) { GenomeLoc interval = intervalListIterator.peek(); + + // skip any intervals with no coverage that we have passed + while (interval != null && interval.isBefore(refLocus)) { + intervalListIterator.next(); // discard the interval (we've already added it to the map) + interval = intervalListIterator.peek(); + } + + // add any intervals that overlap this one while (interval != null && !interval.isPast(refLocus)) { intervalMap.put(interval, createIntervalStatistic(interval)); intervalListIterator.next(); // discard the interval (we've already added it to the map)