Class 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 Detail

      • IntervalListScattererWithSubdivision

        public IntervalListScattererWithSubdivision()
    • Method Detail

      • 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.
        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.