From b71d6266999d34e58c4d46e1bb67599af2c7d0d3 Mon Sep 17 00:00:00 2001 From: Alyssa Morrow Date: Sun, 12 Feb 2017 14:27:37 -0800 Subject: [PATCH] GA4GHDataSource only requests reads not in cache --- src/main/sources/GA4GHDataSource.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/sources/GA4GHDataSource.js b/src/main/sources/GA4GHDataSource.js index 3b0b63b1..31d76e28 100644 --- a/src/main/sources/GA4GHDataSource.js +++ b/src/main/sources/GA4GHDataSource.js @@ -70,11 +70,17 @@ function create(spec: GA4GHSpec): AlignmentDataSource { interval = expandRange(interval); + // select only intervals not yet loaded into coveredRangesß + var intervals = interval.complementIntervals(coveredRanges); + // We "cover" the interval immediately (before the reads have arrived) to // prevent duplicate network requests. coveredRanges.push(interval); coveredRanges = ContigInterval.coalesce(coveredRanges); - fetchAlignmentsForInterval(interval, null, 1 /* first request */); + + intervals.forEach(i => { + fetchAlignmentsForInterval(i, null, 1 /* first request */); + }); } function notifyFailure(message: string) {