Package picard.analysis
Class CollectMultipleMetrics
- java.lang.Object
-
- picard.cmdline.CommandLineProgram
-
- picard.analysis.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollectMultipleMetrics.Program
static interface
CollectMultipleMetrics.ProgramInterface
-
Field Summary
Fields Modifier and Type Field Description boolean
ASSUME_SORTED
File
DB_SNP
List<String>
EXTRA_ARGUMENT
String
FILE_EXTENSION
Set<String>
IGNORE_SEQUENCE
boolean
INCLUDE_UNPAIRED
File
INPUT
File
INTERVALS
Set<MetricAccumulationLevel>
METRIC_ACCUMULATION_LEVEL
String
OUTPUT
Set<CollectMultipleMetrics.Program>
PROGRAM
File
REF_FLAT
int
STOP_AFTER
-
Fields inherited from class picard.cmdline.CommandLineProgram
COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, MAX_ALLOWABLE_ONE_LINE_SUMMARY_LENGTH, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, referenceSequence, specialArgumentsCollection, TMP_DIR, USE_JDK_DEFLATER, USE_JDK_INFLATER, VALIDATION_STRINGENCY, VERBOSITY
-
-
Constructor Summary
Constructors Constructor Description CollectMultipleMetrics()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String[]
customCommandLineValidation()
Put any custom command-line validation in an override of this method.int
doWork()
Do the work after command line has been parsed.void
setProgramsToRun(Collection<CollectMultipleMetrics.ProgramInterface> programsToRun)
Use this method when invoking CollectMultipleMetrics programmatically to run programs other than the ones available via enum.-
Methods inherited from class picard.cmdline.CommandLineProgram
checkRInstallation, getCommandLine, getCommandLineParser, getCommandLineParserForArgs, getDefaultHeaders, getFaqLink, getMetricsFile, getPGRecord, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, makeReferenceArgumentCollection, parseArgs, requiresReference, setDefaultHeaders, useLegacyParser
-
-
-
-
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
-
PROGRAM
@Argument(doc="Set of metrics programs to apply during the pass through the SAM file.") public Set<CollectMultipleMetrics.Program> PROGRAM
-
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
-
-
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 classCommandLineProgram
- 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 classCommandLineProgram
- Returns:
- program exit status.
-
-