From 5ce42cbab3dfdc3ca8462c758ff591935243b4b8 Mon Sep 17 00:00:00 2001 From: ebanks Date: Tue, 22 Sep 2009 01:32:35 +0000 Subject: [PATCH] After thinking about this a bit more, it makes sense to pull this functionality out of my walker and into the GenomeLocParser where everyone else can benefit from it... git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1677 348d0f76-0448-11de-a6fe-93d51630548a --- .../gatk/walkers/indels/IntervalMergerWalker.java | 15 ++------------- .../sting/utils/GenomeLocParser.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalMergerWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalMergerWalker.java index 2c6b3986b..ef9459fac 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalMergerWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalMergerWalker.java @@ -56,7 +56,7 @@ public class IntervalMergerWalker extends ReadWalker { @Override public void initialize() { - intervals = parseIntervals(intervalsSource); + intervals = new LinkedList(GenomeLocParser.parseIntervals(intervalsSource)); currentInterval = (intervals.size() > 0 ? intervals.removeFirst() : null); } @@ -109,16 +109,5 @@ public class IntervalMergerWalker extends ReadWalker { currentInterval.getStop() - currentInterval.getStart() < maxIntervalSize) out.println(currentInterval); } - - /** - * Load the intervals directly from the command-line or from file, as appropriate. - * Merge overlapping intervals. - * @param intervalsSource Source of intervals. - * @return a linked list of sorted, merged intervals. - */ - private LinkedList parseIntervals(List intervalsSource) { - List parsedIntervals = GenomeAnalysisEngine.parseIntervalRegion(intervalsSource); - Collections.sort(parsedIntervals); - return new LinkedList(GenomeLocParser.mergeOverlappingLocations(parsedIntervals)); - } } + diff --git a/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java b/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java index 084f8c997..c49f3a28a 100644 --- a/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java +++ b/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java @@ -130,6 +130,17 @@ public class GenomeLocParser { return true; } + /** + * Load one or more intervals sources, sorting and merging overlapping intervals. + * @param intervalsSource Source of intervals. + * @return a list of sorted, merged intervals. + */ + public static List parseIntervals(List intervalsSource) { + List parsedIntervals = GenomeAnalysisEngine.parseIntervalRegion(intervalsSource); + Collections.sort(parsedIntervals); + return GenomeLocParser.mergeOverlappingLocations(parsedIntervals); + } + /** * parse a genome location, from a location string *