public interface IntervalListScatterer
Modifier and Type | Method and Description |
---|---|
int |
deduceIdealSplitWeight(htsjdk.samtools.util.IntervalList intervalList,
int nCount)
A method that determines the ideal target "weight" of the output IntervalList.
|
long |
intervalWeight(htsjdk.samtools.util.Interval interval)
A method that defines the "weight" of an interval list for the purpose of scattering.
|
long |
listWeight(htsjdk.samtools.util.IntervalList intervalList)
A method that defines the "weight" of an interval for the purpose of scattering.
|
default htsjdk.samtools.util.IntervalList |
preprocessIntervalList(htsjdk.samtools.util.IntervalList inputList)
A function that will be called on an IntervalList prior to splitting it into sub-lists, and is a point where
implementations can chose to impose some conditions on the lists, for example, merging overlapping/abutting intervals,
removing duplicates, etc.
|
default java.util.List<htsjdk.samtools.util.IntervalList> |
scatter(htsjdk.samtools.util.IntervalList inputList,
int scatterCount)
Scatter an
IntervalList into several IntervalLists. |
java.util.List<htsjdk.samtools.util.Interval> |
takeSome(htsjdk.samtools.util.Interval interval,
long idealSplitWeight,
long currentSize,
double projectSizeOfRemaining)
Figure out how much of the input interval to put into current list and how much to leave for the next interval list.
|
default java.util.List<htsjdk.samtools.util.IntervalList> scatter(htsjdk.samtools.util.IntervalList inputList, int scatterCount)
IntervalList
into several IntervalLists. The default implementation
makes use of the other interfaced methods, and aims to provide a universal way to
scatter an IntervalList.inputList
- IntervalList to be scatteredscatterCount
- ideal number of scatters generated.List
of IntervalLists,default htsjdk.samtools.util.IntervalList preprocessIntervalList(htsjdk.samtools.util.IntervalList inputList)
inputList
- the original IntervalList
long intervalWeight(htsjdk.samtools.util.Interval interval)
long listWeight(htsjdk.samtools.util.IntervalList intervalList)
java.util.List<htsjdk.samtools.util.Interval> takeSome(htsjdk.samtools.util.Interval interval, long idealSplitWeight, long currentSize, double projectSizeOfRemaining)
interval
- int deduceIdealSplitWeight(htsjdk.samtools.util.IntervalList intervalList, int nCount)
intervalList
- the IntervalList
that is about to get splitnCount
- the scatter count into which to split intervalListIntervalList
's