Enum IntervalListScatterMode

  • All Implemented Interfaces:
    Serializable, Comparable<IntervalListScatterMode>, 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 Detail

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

      • values

        public static IntervalListScatterMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (IntervalListScatterMode c : IntervalListScatterMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static IntervalListScatterMode valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type 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