From 6281c1db6f2545b7f33f33d930cbb2cd741d0ca6 Mon Sep 17 00:00:00 2001 From: depristo Date: Fri, 18 Mar 2011 02:58:29 +0000 Subject: [PATCH] A nicer error (UserException now) for malformed genome locs git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5465 348d0f76-0448-11de-a6fe-93d51630548a --- .../org/broadinstitute/sting/utils/GenomeLocParser.java | 6 +++--- .../sting/utils/exceptions/UserException.java | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java b/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java index 8cc405a21..670b90d43 100644 --- a/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java +++ b/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java @@ -448,11 +448,11 @@ public class GenomeLocParser { private void exceptionOnInvalidGenomeLocBounds(GenomeLoc locus) { int contigSize = contigInfo.getSequence(locus.getContigIndex()).getSequenceLength(); if(locus.getStart() > contigSize) - throw new ReviewedStingException(String.format("GenomeLoc is invalid: locus start %d is after the end of contig %s",locus.getStart(),locus.getContig())); + throw new UserException.MalformedGenomeLoc("GenomeLoc is invalid: locus start is after the end of contig",locus); if(locus.getStop() > contigSize) - throw new ReviewedStingException(String.format("GenomeLoc is invalid: locus stop %d is after the end of contig %s",locus.getStop(),locus.getContig())); + throw new UserException.MalformedGenomeLoc("GenomeLoc is invalid: locus stop is after the end of contig",locus); if (locus.getStart() > locus.getStop()) { - throw new ReviewedStingException("Parameters to GenomeLocParser are incorrect: the start position is greater than the end position"); + throw new UserException.MalformedGenomeLoc("Parameters to GenomeLocParser are incorrect: the start position is greater than the end position", locus); } } diff --git a/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java b/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java index 41499af1c..62fca6524 100755 --- a/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java +++ b/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java @@ -30,6 +30,7 @@ import net.sf.samtools.SAMSequenceDictionary; import net.sf.samtools.SAMSequenceRecord; import org.broad.tribble.util.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils; +import org.broadinstitute.sting.utils.GenomeLoc; import java.io.File; import java.util.Arrays; @@ -54,6 +55,12 @@ public class UserException extends ReviewedStingException { } } + public static class MalformedGenomeLoc extends UserException { + public MalformedGenomeLoc(String message, GenomeLoc loc) { + super(String.format("Badly formed genome loc: %s: %s", message, loc)); + } + } + public static class BadInput extends UserException { public BadInput(String message) { super(String.format("Bad input: %s", message));