Package picard.util.IntervalList
Enum Class 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
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionA scatter approach that differs fromINTERVAL_SUBDIVISION
in a few ways.A scatter approach that differs fromBALANCING_WITHOUT_INTERVAL_SUBDIVISION
.A scatter by interval **count** which attempts to fill each resulting interval list with the same number of intervals, disregarding the base count.A scatter by interval **count** which attempts to fill each resulting interval list with approximately equal numbers of intervals, disregarding the base count.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). -
Method Summary
Modifier and TypeMethodDescriptionmake()
Create the scattererstatic IntervalListScatterMode
Returns the enum constant of this class with the specified name.static IntervalListScatterMode[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
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
A scatter approach that differs fromINTERVAL_SUBDIVISION
in a few ways.- 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
IntervalList
s will be produced (e.g., if scatterCount = 10 but there is only one input interval, only 1 interval list will be emitted). - When an interval would otherwise be split, it is instead deferred to the next scatter list.
- 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.
- 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
-
BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW
A scatter approach that differs fromBALANCING_WITHOUT_INTERVAL_SUBDIVISION
.- 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
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
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
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
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 nameNullPointerException
- if the argument is null
-
getHelpDoc
- Specified by:
getHelpDoc
in interfaceorg.broadinstitute.barclay.argparser.CommandLineParser.ClpEnum
-
make
Create the scatterer- Returns:
- a newly minted Scatterer
-