Better chopping up of data for ref walkers.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2982 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2010-03-11 20:13:26 +00:00
parent a7ba88e649
commit cbd529d544
1 changed files with 7 additions and 2 deletions

View File

@ -95,10 +95,15 @@ public class IndexDelimitedLocusShardStrategy implements ShardStrategy {
filePointers.addAll(IntervalSharder.shardIntervals(this.reads,intervals,this.reads.getNumIndexLevels()-1)); filePointers.addAll(IntervalSharder.shardIntervals(this.reads,intervals,this.reads.getNumIndexLevels()-1));
} }
else { else {
final int maxShardSize = 100000;
this.reads = null; this.reads = null;
if(locations == null) { if(locations == null) {
for(SAMSequenceRecord refSequenceRecord: reference.getSequenceDictionary().getSequences()) for(SAMSequenceRecord refSequenceRecord: reference.getSequenceDictionary().getSequences()) {
filePointers.add(new FilePointer(GenomeLocParser.createGenomeLoc(refSequenceRecord.getSequenceName(),1,refSequenceRecord.getSequenceLength()))); for(int shardStart = 1; shardStart <= refSequenceRecord.getSequenceLength(); shardStart += maxShardSize) {
final int shardStop = Math.min(shardStart+maxShardSize-1, refSequenceRecord.getSequenceLength());
filePointers.add(new FilePointer(GenomeLocParser.createGenomeLoc(refSequenceRecord.getSequenceName(),shardStart,shardStop)));
}
}
} }
else { else {
for(GenomeLoc interval: locations) for(GenomeLoc interval: locations)