diff --git a/src/main/java/org/broadinstitute/hellbender/tools/walkers/varianteval/evaluators/VariantSummary.java b/src/main/java/org/broadinstitute/hellbender/tools/walkers/varianteval/evaluators/VariantSummary.java index 342de4dde5c..32b6d951f88 100644 --- a/src/main/java/org/broadinstitute/hellbender/tools/walkers/varianteval/evaluators/VariantSummary.java +++ b/src/main/java/org/broadinstitute/hellbender/tools/walkers/varianteval/evaluators/VariantSummary.java @@ -167,9 +167,10 @@ private boolean overlapsKnownCNV(VariantContext cnv, VariantEvalContext context) if ( knownCNVs != null ) { List overlaps = context.queryFeaturesIncludingOverlapping(knownCNVs, new SimpleInterval(cnv.getContig(), cnv.getStart(), cnv.getEnd())); GenomeLocParser parser = new GenomeLocParser(context.getSequenceDictionaryForDrivingVariants()); - GenomeLoc loc1 = parser.createGenomeLoc(cnv); + // NOTE: by using this overload we are explicitly allowing variants that don't correctly overlap the reference intervals + GenomeLoc loc1 = parser.createGenomeLoc(cnv, false); for (Feature vc : overlaps) { - GenomeLoc loc2 = parser.createGenomeLoc(vc); + GenomeLoc loc2 = parser.createGenomeLoc(vc, false); final double overlapP = loc1.reciprocialOverlapFraction(loc2); if ( overlapP > MIN_CNV_OVERLAP ) return true; diff --git a/src/main/java/org/broadinstitute/hellbender/utils/GenomeLocParser.java b/src/main/java/org/broadinstitute/hellbender/utils/GenomeLocParser.java index 42a886fe020..c5c8041ac3f 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/GenomeLocParser.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/GenomeLocParser.java @@ -393,7 +393,15 @@ public GenomeLoc createGenomeLoc( final GATKRead read ) { * @return */ public GenomeLoc createGenomeLoc(final Feature feature) { - return createGenomeLoc(feature.getContig(), feature.getStart(), feature.getEnd()); + return createGenomeLoc(feature.getContig(), feature.getStart(), feature.getEnd(), true); + } + + /** + * Creates a GenomeLoc from a Tribble feature + * @return + */ + public GenomeLoc createGenomeLoc(final Feature feature, final boolean mustBeOnReference) { + return createGenomeLoc(feature.getContig(), feature.getStart(), feature.getEnd(), mustBeOnReference); } /** @@ -405,7 +413,7 @@ public GenomeLoc createGenomeLoc(final Feature feature) { */ public GenomeLoc createGenomeLoc(final Locatable locatable) { Utils.nonNull(locatable, "the input locatable cannot be null"); - return createGenomeLoc(locatable.getContig(), locatable.getStart(), locatable.getEnd()); + return createGenomeLoc(locatable.getContig(), locatable.getStart(), locatable.getEnd(), false); } /** diff --git a/src/main/java/org/broadinstitute/hellbender/utils/IntervalUtils.java b/src/main/java/org/broadinstitute/hellbender/utils/IntervalUtils.java index a9cf8d861f1..8ec3893116b 100644 --- a/src/main/java/org/broadinstitute/hellbender/utils/IntervalUtils.java +++ b/src/main/java/org/broadinstitute/hellbender/utils/IntervalUtils.java @@ -357,7 +357,7 @@ public static List featureFileToIntervals( final GenomeLocParser pars final List featureIntervals = new ArrayList<>(); for ( final Feature feature : dataSource ) { - featureIntervals.add(parser.createGenomeLoc(feature)); + featureIntervals.add(parser.createGenomeLoc(feature, true)); } return featureIntervals; } diff --git a/src/test/java/org/broadinstitute/hellbender/utils/IntervalUtilsUnitTest.java b/src/test/java/org/broadinstitute/hellbender/utils/IntervalUtilsUnitTest.java index 8471f2ef9bf..6da70ba0fad 100644 --- a/src/test/java/org/broadinstitute/hellbender/utils/IntervalUtilsUnitTest.java +++ b/src/test/java/org/broadinstitute/hellbender/utils/IntervalUtilsUnitTest.java @@ -608,6 +608,29 @@ public void testUseAllHG38ContigsInIntervalQuery() { ); } + @Test(expectedExceptions = UserException.MalformedGenomeLoc.class) + public void testReasonableErrorWithInvalidBedFile() throws IOException { + File outOfBoundsBedFile = new File(INTERVAL_TEST_DATA + "bad_hg19_interval_span.bed"); // this bed file has a bogus interval the extends past the end chr1 and should throw an exception + // this should throw a user exception because of the invalid interval + IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, outOfBoundsBedFile.getAbsolutePath()); + } + + @Test(expectedExceptions = UserException.MalformedGenomeLoc.class) + public void testReasonableErrorWithInvalidListFile() throws IOException { + File outOfBoundListFile = new File(INTERVAL_TEST_DATA + "bad_hg19_example_intervals.list"); // this list file has a bogus interval the extends past the end chr1 and should throw an exception + // this should throw a user exception because of the invalid interval + IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, outOfBoundListFile.getAbsolutePath()); + } + + //NOTE the .interval_list style argument input gets handled differently from the other -L inputs but we still get a reasonable exception in this case + @Test(expectedExceptions = UserException.MalformedFile.class) + public void testReasonableErrorWithInvalidPicardListFile() throws IOException { + File outOfBoundsIntervalListFile = new File(INTERVAL_TEST_DATA + "bad_hg19.interval_list"); // this list file has a bogus interval the extends past the end chr1 and should throw an exception + // this should throw a user exception because of the invalid interval + IntervalUtils.parseIntervalArguments(hg19GenomeLocParser, outOfBoundsIntervalListFile.getAbsolutePath()); + } + + @Test public void testResolveAmbiguousIntervalQueryUsingBEDFormat() throws IOException { // For the rare case where an interval query is ambiguous, make sure it can be resolved by using a bed file. diff --git a/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19.interval_list b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19.interval_list new file mode 100644 index 00000000000..40828fe2d29 --- /dev/null +++ b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19.interval_list @@ -0,0 +1,88 @@ +@HD VN:1.6 +@SQ SN:1 LN:249250621 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1b22b98cdeb4a9304cb5d48026a85128 SP:Homo sapiens +@SQ SN:2 LN:243199373 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:a0d9851da00400dec1098a9255ac712e SP:Homo sapiens +@SQ SN:3 LN:198022430 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:fdfd811849cc2fadebc929bb925902e5 SP:Homo sapiens +@SQ SN:4 LN:191154276 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:23dccd106897542ad87d2765d28a19a1 SP:Homo sapiens +@SQ SN:5 LN:180915260 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:0740173db9ffd264d728f32784845cd7 SP:Homo sapiens +@SQ SN:6 LN:171115067 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1d3a93a248d92a729ee764823acbbc6b SP:Homo sapiens +@SQ SN:7 LN:159138663 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:618366e953d6aaad97dbe4777c29375e SP:Homo sapiens +@SQ SN:8 LN:146364022 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:96f514a9929e410c6651697bded59aec SP:Homo sapiens +@SQ SN:9 LN:141213431 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:3e273117f15e0a400f01055d9f393768 SP:Homo sapiens +@SQ SN:10 LN:135534747 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:988c28e000e84c26d552359af1ea2e1d SP:Homo sapiens +@SQ SN:11 LN:135006516 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:98c59049a2df285c76ffb1c6db8f8b96 SP:Homo sapiens +@SQ SN:12 LN:133851895 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:51851ac0e1a115847ad36449b0015864 SP:Homo sapiens +@SQ SN:13 LN:115169878 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:283f8d7892baa81b510a015719ca7b0b SP:Homo sapiens +@SQ SN:14 LN:107349540 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:98f3cae32b2a2e9524bc19813927542e SP:Homo sapiens +@SQ SN:15 LN:102531392 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:e5645a794a8238215b2cd77acb95a078 SP:Homo sapiens +@SQ SN:16 LN:90354753 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:fc9b1a7b42b97a864f56b348b06095e6 SP:Homo sapiens +@SQ SN:17 LN:81195210 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:351f64d4f4f9ddd45b35336ad97aa6de SP:Homo sapiens +@SQ SN:18 LN:78077248 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:b15d4b2d29dde9d3e4f93d1d0f2cbc9c SP:Homo sapiens +@SQ SN:19 LN:59128983 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1aacd71f30db8e561810913e0b72636d SP:Homo sapiens +@SQ SN:20 LN:63025520 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:0dec9660ec1efaaf33281c0d5ea2560f SP:Homo sapiens +@SQ SN:21 LN:48129895 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:2979a6085bfe28e3ad6f552f361ed74d SP:Homo sapiens +@SQ SN:22 LN:51304566 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:a718acaa6135fdca8357d5bfe94211dd SP:Homo sapiens +@SQ SN:X LN:155270560 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:7e0e2e580297b7764e31dbc80c2540dd SP:Homo sapiens +@SQ SN:Y LN:59373566 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1fa3474750af0948bdf97d5a0ee52e51 SP:Homo sapiens +@SQ SN:MT LN:16569 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:c68f52674c9fb33aef52dcf399755519 SP:Homo sapiens +@SQ SN:GL000207.1 LN:4262 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:f3814841f1939d3ca19072d9e89f3fd7 SP:Homo sapiens +@SQ SN:GL000226.1 LN:15008 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1c1b2cd1fccbc0a99b6a447fa24d1504 SP:Homo sapiens +@SQ SN:GL000229.1 LN:19913 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:d0f40ec87de311d8e715b52e4c7062e1 SP:Homo sapiens +@SQ SN:GL000231.1 LN:27386 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:ba8882ce3a1efa2080e5d29b956568a4 SP:Homo sapiens +@SQ SN:GL000210.1 LN:27682 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:851106a74238044126131ce2a8e5847c SP:Homo sapiens +@SQ SN:GL000239.1 LN:33824 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:99795f15702caec4fa1c4e15f8a29c07 SP:Homo sapiens +@SQ SN:GL000235.1 LN:34474 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:118a25ca210cfbcdfb6c2ebb249f9680 SP:Homo sapiens +@SQ SN:GL000201.1 LN:36148 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:dfb7e7ec60ffdcb85cb359ea28454ee9 SP:Homo sapiens +@SQ SN:GL000247.1 LN:36422 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:7de00226bb7df1c57276ca6baabafd15 SP:Homo sapiens +@SQ SN:GL000245.1 LN:36651 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:89bc61960f37d94abf0df2d481ada0ec SP:Homo sapiens +@SQ SN:GL000197.1 LN:37175 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:6f5efdd36643a9b8c8ccad6f2f1edc7b SP:Homo sapiens +@SQ SN:GL000203.1 LN:37498 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:96358c325fe0e70bee73436e8bb14dbd SP:Homo sapiens +@SQ SN:GL000246.1 LN:38154 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:e4afcd31912af9d9c2546acf1cb23af2 SP:Homo sapiens +@SQ SN:GL000249.1 LN:38502 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1d78abec37c15fe29a275eb08d5af236 SP:Homo sapiens +@SQ SN:GL000196.1 LN:38914 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:d92206d1bb4c3b4019c43c0875c06dc0 SP:Homo sapiens +@SQ SN:GL000248.1 LN:39786 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:5a8e43bec9be36c7b49c84d585107776 SP:Homo sapiens +@SQ SN:GL000244.1 LN:39929 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:0996b4475f353ca98bacb756ac479140 SP:Homo sapiens +@SQ SN:GL000238.1 LN:39939 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:131b1efc3270cc838686b54e7c34b17b SP:Homo sapiens +@SQ SN:GL000202.1 LN:40103 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:06cbf126247d89664a4faebad130fe9c SP:Homo sapiens +@SQ SN:GL000234.1 LN:40531 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:93f998536b61a56fd0ff47322a911d4b SP:Homo sapiens +@SQ SN:GL000232.1 LN:40652 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:3e06b6741061ad93a8587531307057d8 SP:Homo sapiens +@SQ SN:GL000206.1 LN:41001 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:43f69e423533e948bfae5ce1d45bd3f1 SP:Homo sapiens +@SQ SN:GL000240.1 LN:41933 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:445a86173da9f237d7bcf41c6cb8cc62 SP:Homo sapiens +@SQ SN:GL000236.1 LN:41934 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:fdcd739913efa1fdc64b6c0cd7016779 SP:Homo sapiens +@SQ SN:GL000241.1 LN:42152 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:ef4258cdc5a45c206cea8fc3e1d858cf SP:Homo sapiens +@SQ SN:GL000243.1 LN:43341 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:cc34279a7e353136741c9fce79bc4396 SP:Homo sapiens +@SQ SN:GL000242.1 LN:43523 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:2f8694fc47576bc81b5fe9e7de0ba49e SP:Homo sapiens +@SQ SN:GL000230.1 LN:43691 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:b4eb71ee878d3706246b7c1dbef69299 SP:Homo sapiens +@SQ SN:GL000237.1 LN:45867 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:e0c82e7751df73f4f6d0ed30cdc853c0 SP:Homo sapiens +@SQ SN:GL000233.1 LN:45941 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:7fed60298a8d62ff808b74b6ce820001 SP:Homo sapiens +@SQ SN:GL000204.1 LN:81310 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:efc49c871536fa8d79cb0a06fa739722 SP:Homo sapiens +@SQ SN:GL000198.1 LN:90085 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:868e7784040da90d900d2d1b667a1383 SP:Homo sapiens +@SQ SN:GL000208.1 LN:92689 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:aa81be49bf3fe63a79bdc6a6f279abf6 SP:Homo sapiens +@SQ SN:GL000191.1 LN:106433 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:d75b436f50a8214ee9c2a51d30b2c2cc SP:Homo sapiens +@SQ SN:GL000227.1 LN:128374 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:a4aead23f8053f2655e468bcc6ecdceb SP:Homo sapiens +@SQ SN:GL000228.1 LN:129120 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:c5a17c97e2c1a0b6a9cc5a6b064b714f SP:Homo sapiens +@SQ SN:GL000214.1 LN:137718 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:46c2032c37f2ed899eb41c0473319a69 SP:Homo sapiens +@SQ SN:GL000221.1 LN:155397 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:3238fb74ea87ae857f9c7508d315babb SP:Homo sapiens +@SQ SN:GL000209.1 LN:159169 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:f40598e2a5a6b26e84a3775e0d1e2c81 SP:Homo sapiens +@SQ SN:GL000218.1 LN:161147 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:1d708b54644c26c7e01c2dad5426d38c SP:Homo sapiens +@SQ SN:GL000220.1 LN:161802 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:fc35de963c57bf7648429e6454f1c9db SP:Homo sapiens +@SQ SN:GL000213.1 LN:164239 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:9d424fdcc98866650b58f004080a992a SP:Homo sapiens +@SQ SN:GL000211.1 LN:166566 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:7daaa45c66b288847b9b32b964e623d3 SP:Homo sapiens +@SQ SN:GL000199.1 LN:169874 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:569af3b73522fab4b40995ae4944e78e SP:Homo sapiens +@SQ SN:GL000217.1 LN:172149 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:6d243e18dea1945fb7f2517615b8f52e SP:Homo sapiens +@SQ SN:GL000216.1 LN:172294 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:642a232d91c486ac339263820aef7fe0 SP:Homo sapiens +@SQ SN:GL000215.1 LN:172545 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:5eb3b418480ae67a997957c909375a73 SP:Homo sapiens +@SQ SN:GL000205.1 LN:174588 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:d22441398d99caf673e9afb9a1908ec5 SP:Homo sapiens +@SQ SN:GL000219.1 LN:179198 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:f977edd13bac459cb2ed4a5457dba1b3 SP:Homo sapiens +@SQ SN:GL000224.1 LN:179693 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:d5b2fc04f6b41b212a4198a07f450e20 SP:Homo sapiens +@SQ SN:GL000223.1 LN:180455 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:399dfa03bf32022ab52a846f7ca35b30 SP:Homo sapiens +@SQ SN:GL000195.1 LN:182896 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:5d9ec007868d517e73543b005ba48535 SP:Homo sapiens +@SQ SN:GL000212.1 LN:186858 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:563531689f3dbd691331fd6c5730a88b SP:Homo sapiens +@SQ SN:GL000222.1 LN:186861 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:6fe9abac455169f50470f5a6b01d0f59 SP:Homo sapiens +@SQ SN:GL000200.1 LN:187035 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:75e4c8d17cd4addf3917d1703cacaf25 SP:Homo sapiens +@SQ SN:GL000193.1 LN:189789 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:dbb6e8ece0b5de29da56601613007c2a SP:Homo sapiens +@SQ SN:GL000194.1 LN:191469 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:6ac8f815bf8e845bb3031b73f812c012 SP:Homo sapiens +@SQ SN:GL000225.1 LN:211173 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:63945c3e6962f28ffd469719a747e73c SP:Homo sapiens +@SQ SN:GL000192.1 LN:547496 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:325ba9e808f669dfeee210fdd7b470ac SP:Homo sapiens +@SQ SN:NC_007605 LN:171823 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:6743bd63b3ff2b5b8985d8933c53290a SP:Homo sapiens +@SQ SN:hs37d5 LN:35477943 UR:/seq/references/Homo_sapiens_assembly19_1000genomes_decoy/v1/Homo_sapiens_assembly19_1000genomes_decoy.fasta AS:19 M5:5b6a4b3a81a2d3c134b7d14bf6ad39f1 SP:Homo sapiens +1 249240000 249260000 + . diff --git a/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_example_intervals.list b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_example_intervals.list new file mode 100644 index 00000000000..7d9525bbaf0 --- /dev/null +++ b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_example_intervals.list @@ -0,0 +1,2 @@ +1:100-200 +1:249240000-249260000 diff --git a/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_interval_span.bed b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_interval_span.bed new file mode 100644 index 00000000000..2c496cf84b9 --- /dev/null +++ b/src/test/resources/org/broadinstitute/hellbender/utils/interval/bad_hg19_interval_span.bed @@ -0,0 +1 @@ +1 249240000 249260000