Class CollectMultipleMetrics


  • @DocumentedFeature
    public class CollectMultipleMetrics
    extends CommandLineProgram
    Class that is designed to instantiate and execute multiple metrics programs that extend SinglePassSamProgram while making only a single pass through the SAM file and supplying each program with the records as it goes.
    • Field Detail

      • INPUT

        @Argument(shortName="I",
                  doc="Input SAM or BAM file.")
        public File INPUT
      • ASSUME_SORTED

        @Argument(shortName="AS",
                  doc="If true (default), then the sort order in the header file will be ignored.")
        public boolean ASSUME_SORTED
      • STOP_AFTER

        @Argument(doc="Stop after processing N reads, mainly for debugging.")
        public int STOP_AFTER
      • OUTPUT

        @Argument(shortName="O",
                  doc="Base name of output files.")
        public String OUTPUT
      • METRIC_ACCUMULATION_LEVEL

        @Argument(shortName="LEVEL",
                  doc="The level(s) at which to accumulate metrics.")
        public Set<MetricAccumulationLevel> METRIC_ACCUMULATION_LEVEL
      • FILE_EXTENSION

        @Argument(shortName="EXT",
                  doc="Append the given file extension to all metric file names (ex. OUTPUT.insert_size_metrics.EXT). None if null",
                  optional=true)
        public String FILE_EXTENSION
      • INTERVALS

        @Argument(doc="An optional list of intervals to restrict analysis to. Only pertains to some of the PROGRAMs. Programs whose stand-alone CLP does not have an INTERVALS argument will silently ignore this argument.",
                  optional=true)
        public File INTERVALS
      • DB_SNP

        @Argument(doc="VCF format dbSNP file, used to exclude regions around known polymorphisms from analysis by some PROGRAMs; PROGRAMs whose CLP doesn\'t allow for this argument will quietly ignore it.",
                  optional=true)
        public File DB_SNP
      • REF_FLAT

        @Argument(doc="Gene annotations in refFlat form.  Format described here: http://genome.ucsc.edu/goldenPath/gbdDescriptionsOld.html#RefFlat",
                  optional=true)
        public File REF_FLAT
      • IGNORE_SEQUENCE

        @Argument(doc="If a read maps to a sequence specified with this option, all the bases in the read are counted as ignored bases.",
                  optional=true)
        public Set<String> IGNORE_SEQUENCE
      • INCLUDE_UNPAIRED

        @Argument(shortName="UNPAIRED",
                  doc="Include unpaired reads in CollectSequencingArtifactMetrics. If set to true then all paired reads will be included as well - MINIMUM_INSERT_SIZE and MAXIMUM_INSERT_SIZE will be ignored in CollectSequencingArtifactMetrics.")
        public boolean INCLUDE_UNPAIRED
      • EXTRA_ARGUMENT

        @Argument(doc="extra arguments to the various tools can be specified using the following format:<PROGRAM>::<ARGUMENT_AND_VALUE> where <PROGRAM> is one of the programs specified in PROGRAM, and <ARGUMENT_AND_VALUE> are the argument and value that you\'d like to specify as you would on the command line. For example, to change the HISTOGRAM_WIDTH in CollectInsertSizeMetrics to 200, use:\n \"EXTRA_ARGUMENT=CollectInsertSizeMetrics::HISTOGRAM_WIDTH=200\"\n or, in the new parser:--EXTRA_ARGUMENT \"CollectInsertSizeMetrics::--HISTOGRAM_WIDTH 200\"\n (Quotes are required to avoid the shell from separating this into two arguments.) Note that the following arguments cannot be modified on a per-program level: INPUT, REFERENCE_SEQUENCE, ASSUME_SORTED, and STOP_AFTER. Providing them in an EXTRA_ARGUMENT will _not_ result in an error, but they will be silently ignored. ",
                  optional=true)
        public List<String> EXTRA_ARGUMENT
    • Constructor Detail

      • CollectMultipleMetrics

        public CollectMultipleMetrics()
    • Method Detail

      • customCommandLineValidation

        protected String[] customCommandLineValidation()
        Description copied from class: CommandLineProgram
        Put any custom command-line validation in an override of this method. clp is initialized at this point and can be used to print usage and access argv. Any options set by command-line parser can be validated.
        Overrides:
        customCommandLineValidation in class CommandLineProgram
        Returns:
        null if command line is valid. If command line is invalid, returns an array of error message to be written to the appropriate place.
      • setProgramsToRun

        public void setProgramsToRun​(Collection<CollectMultipleMetrics.ProgramInterface> programsToRun)
        Use this method when invoking CollectMultipleMetrics programmatically to run programs other than the ones available via enum. This must be called before doWork().
      • doWork

        public int doWork()
        Description copied from class: CommandLineProgram
        Do the work after command line has been parsed. RuntimeException may be thrown by this method, and are reported appropriately.
        Specified by:
        doWork in class CommandLineProgram
        Returns:
        program exit status.