Enum Class IntervalListScatterMode

java.lang.Object
java.lang.Enum<IntervalListScatterMode>
picard.util.IntervalList.IntervalListScatterMode
All Implemented Interfaces:
Serializable, Comparable<IntervalListScatterMode>, Constable, org.broadinstitute.barclay.argparser.CommandLineParser.ClpEnum

public enum IntervalListScatterMode extends Enum<IntervalListScatterMode> implements org.broadinstitute.barclay.argparser.CommandLineParser.ClpEnum
An enum to control the creation of the various IntervalListScatter objects
  • Enum Constant Details

    • INTERVAL_SUBDIVISION

      public static final IntervalListScatterMode INTERVAL_SUBDIVISION
      A simple scatter approach in which all output intervals have size equal to the total base count of the source list divide by the scatter count (except for possible variance in the final interval list).
    • BALANCING_WITHOUT_INTERVAL_SUBDIVISION

      public static final IntervalListScatterMode BALANCING_WITHOUT_INTERVAL_SUBDIVISION
      A scatter approach that differs from INTERVAL_SUBDIVISION in a few ways.
      1. No interval will be subdivided, and consequently, the requested scatter count is an upper bound of scatter count, not a guarantee as to how many IntervalLists will be produced (e.g., if scatterCount = 10 but there is only one input interval, only 1 interval list will be emitted).
      2. When an interval would otherwise be split, it is instead deferred to the next scatter list.
      3. The "target width" of each scatter list may be wider than what is computed for INTERVAL_SUBDIVISION. Specifically, if the widest interval in the source interval list is larger than what would otherwise be the target width, that interval's width is used.

        The reasoning for this is that this approach produces more consistently-sized interval lists, which is one of the objectives of scattering.
    • BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW

      public static final IntervalListScatterMode BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW
      A scatter approach that differs from BALANCING_WITHOUT_INTERVAL_SUBDIVISION.
      1. We try to balance the number of unique bases in each interval list by estimating the remaining interval lists sizes. This is computed from the total number of unique bases and the bases we have consumed. This means that the interval list with the most number of unique bases is at most the ideal split length larger than the smallest interval list (unique # of bases).
    • INTERVAL_COUNT

      public static final IntervalListScatterMode INTERVAL_COUNT
      A scatter by interval **count** which attempts to fill each resulting interval list with the same number of intervals, disregarding the base count. This approach can be useful for tools that operate on the interval level rather than the base level, for example CNV calling.
    • INTERVAL_COUNT_WITH_DISTRIBUTED_REMAINDER

      public static final IntervalListScatterMode INTERVAL_COUNT_WITH_DISTRIBUTED_REMAINDER
      A scatter by interval **count** which attempts to fill each resulting interval list with approximately equal numbers of intervals, disregarding the base count. This approach distributes the remainder intervals across the initial interval lists. This is the preferred mode for whole genome joint calling and other scenarios where the interval list to be split contains a large number of intervals that should be distributed equally by count.
  • Method Details

    • values

      public static IntervalListScatterMode[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static IntervalListScatterMode valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getHelpDoc

      public String getHelpDoc()
      Specified by:
      getHelpDoc in interface org.broadinstitute.barclay.argparser.CommandLineParser.ClpEnum
    • make

      public IntervalListScatterer make()
      Create the scatterer
      Returns:
      a newly minted Scatterer