Make sure that reference view holds enough bases to pass full-length deleted sequence to the walker's map() function in extended event mode (this addresses the problem of a deletion crossing the shard's boundary, so that an attempt to extract deleted bases results in a crash)
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2543 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
e9bc85c188
commit
d01bde36a4
|
|
@ -78,6 +78,12 @@ public class TraverseLoci extends TraversalEngine {
|
||||||
// associated with the current site), we need to update the location. The updated location still starts
|
// associated with the current site), we need to update the location. The updated location still starts
|
||||||
// at the current genomic position, but it has to span the length of the longest deletion (if any).
|
// at the current genomic position, but it has to span the length of the longest deletion (if any).
|
||||||
location = GenomeLocParser.setStop(location,location.getStop()+locus.getExtendedEventPileup().getMaxDeletionLength());
|
location = GenomeLocParser.setStop(location,location.getStop()+locus.getExtendedEventPileup().getMaxDeletionLength());
|
||||||
|
|
||||||
|
// it is possible that the new expanded location spans the current shard boundary; the next method ensures
|
||||||
|
// that when it is the case, the reference sequence held by the ReferenceView will be reloaded so that
|
||||||
|
// the view has all the bases we are gonna need. If the location fits within the current view bounds,
|
||||||
|
// the next call will not do anything to the view:
|
||||||
|
referenceView.expandBoundsToAccomodateLoc(location);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterate forward to get all reference ordered data covering this location
|
// Iterate forward to get all reference ordered data covering this location
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue