Package picard.util.IntervalList

# Class IntervalListScattererWithSubdivision

java.lang.Object
picard.util.IntervalList.IntervalListScattererByBaseCount
picard.util.IntervalList.IntervalListScattererWithSubdivision

All Implemented Interfaces:
  `IntervalListScatterer`

public class IntervalListScattererWithSubdivision extends IntervalListScattererByBaseCount
An IntervalListScatterer that attempts to place the same number of (uniquified) bases in each output interval list. To avoid concern about overlapping intervals, interval lists are sorted and uniqued prior to splitting which will cause abbuting intervals to be combined. This scatterer will not refrain from breaking an interval into smaller pieces in order to hit the requested number of bases.

## Constructor Summary

Constructors
Constructor
Description
`IntervalListScattererWithSubdivision()`

## Method Summary

Modifier and Type
Method
Description
`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.
`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.

### Methods inherited from class picard.util.IntervalList.IntervalListScattererByBaseCount

`deduceIdealSplitWeight, intervalWeight, listWeight`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface picard.util.IntervalList.IntervalListScatterer

`scatter`

## Constructor Details

### IntervalListScattererWithSubdivision

public IntervalListScattererWithSubdivision()

## Method Details

### preprocessIntervalList

public htsjdk.samtools.util.IntervalList preprocessIntervalList(htsjdk.samtools.util.IntervalList inputList)
Description copied from interface: `IntervalListScatterer`
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.

Parameters:
  `inputList` - the original `IntervalList`
Returns:
  the IntervalList that will be split up by the scatterer.

### takeSome

public List<htsjdk.samtools.util.Interval> takeSome(htsjdk.samtools.util.Interval interval, long idealSplitWeight, long currentSize, double projectSizeOfRemaining)
Description copied from interface: `IntervalListScatterer`
Figure out how much of the input interval to put into current list and how much to leave for the next interval list.

Parameters:
  `interval` -
Returns:
  a list of two (possibly null) elements. The first element should be added to the current interval list, the second should be offered to the next interval list.