Class IntervalListScattererByIntervalCount

java.lang.Object
picard.util.IntervalList.IntervalListScattererByIntervalCount
All Implemented Interfaces:
IntervalListScatterer
Direct Known Subclasses:
IntervalListScattererByIntervalCountWithDistributedRemainder

public class IntervalListScattererByIntervalCount extends Object implements IntervalListScatterer
Scatters IntervalList by interval count so that resulting IntervalList's have the same number of intervals in them. An exception is made for the final interval list, which will always contain at least this number of intervals, but may also contain the remainder.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    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.
    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 java.lang.Object

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

    Methods inherited from interface picard.util.IntervalList.IntervalListScatterer

    preprocessIntervalList, scatter
  • Constructor Details

    • IntervalListScattererByIntervalCount

      public IntervalListScattererByIntervalCount()
  • Method Details

    • intervalWeight

      public long intervalWeight(htsjdk.samtools.util.Interval interval)
      Description copied from interface: IntervalListScatterer
      A method that defines the "weight" of an interval list for the purpose of scattering. The class will attempt to create sublists that all have similar weights.
      Specified by:
      intervalWeight in interface IntervalListScatterer
    • listWeight

      public long listWeight(htsjdk.samtools.util.IntervalList intervalList)
      Description copied from interface: IntervalListScatterer
      A method that defines the "weight" of an interval for the purpose of scattering. The class will attempt to create sublists that all have similar weights. This method need to estimate the change in any sublists weight due to the possible of the provided interval.
      Specified by:
      listWeight in interface IntervalListScatterer
    • 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.
      Specified by:
      takeSome in interface IntervalListScatterer
      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.
    • deduceIdealSplitWeight

      public int deduceIdealSplitWeight(htsjdk.samtools.util.IntervalList intervalList, int nCount)
      Description copied from interface: IntervalListScatterer
      A method that determines the ideal target "weight" of the output IntervalList.
      Specified by:
      deduceIdealSplitWeight in interface IntervalListScatterer
      Parameters:
      intervalList - the IntervalList that is about to get split
      nCount - the scatter count into which to split intervalList
      Returns:
      The ideal "weight" of the output IntervalList's