Package picard.analysis

## Class CompareMetrics

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.analysis.CompareMetrics

-     @DocumentedFeature
      public class CompareMetrics
      extends CommandLineProgram

  Compare two metrics files.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `boolean` | `IGNORE_HISTOGRAM_DIFFERENCES` |
    `List<File>` | `INPUT` |
    `List<String>` | `METRIC_ALLOWABLE_RELATIVE_CHANGE` |
    `List<String>` | `METRICS_TO_IGNORE` |
    `protected Map<String,​Double>` | `MetricToAllowableRelativeChange` |
    `File` | `OUTPUT` |

    - ### 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
    --- | ---
    `CompareMetrics()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected picard.analysis.CompareMetrics.SimpleResult` | `compareMetricValues​(Object value1, Object value2, String metricName)` |
    `protected String[]` | `customCommandLineValidation()` | Put any custom command-line validation in an override of this method.
    `protected int` | `doWork()` | Do the work after command line has been parsed.

    - ### 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### INPUT

          @Argument(shortName="I",
                    doc="Metric files to compare.",
                    minElements=2,
                    maxElements=2)
          public List<File> INPUT

    - #### OUTPUT

          @Argument(shortName="O",
                    doc="Output file to write comparison results to.",
                    optional=true)
          public File OUTPUT

    - #### METRICS_TO_IGNORE

          @Argument(shortName="MI",
                    doc="Metrics to ignore. Any metrics specified here will be excluded from comparison by the tool.",
                    optional=true)
          public List<String> METRICS_TO_IGNORE

    - #### METRIC_ALLOWABLE_RELATIVE_CHANGE

          @Argument(shortName="MARC",
                    doc="Metric Allowable Relative Change. A colon separate pair of metric name and an absolute relative change.  For any metric specified here,  when the values are compared between the two files, the program will allow that much relative change between the  two values.",
                    optional=true)
          public List<String> METRIC_ALLOWABLE_RELATIVE_CHANGE

    - #### IGNORE_HISTOGRAM_DIFFERENCES

          @Argument(shortName="IHD",
                    doc="Ignore any differences between the two metric file\'s histograms (useful if using the \'METRIC_ALLOWABLE_RELATIVE_CHANGE\')",
                    optional=true)
          public boolean IGNORE_HISTOGRAM_DIFFERENCES

    - #### MetricToAllowableRelativeChange

          protected final Map<String,​Double> MetricToAllowableRelativeChange

  - ### Constructor Detail

    - #### CompareMetrics

          public CompareMetrics()

  - ### Method Detail

    - #### doWork

          protected 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.

    - #### 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.

    - #### compareMetricValues

          protected picard.analysis.CompareMetrics.SimpleResult compareMetricValues​(Object value1,
                                                                                    Object value2,
                                                                                    String metricName)