Package picard.analysis.directed

## Class CollectHsMetrics

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.analysis.directed.CollectTargetedMetrics<HsMetrics,​HsMetricCollector>
    - - picard.analysis.directed.CollectHsMetrics

-     @DocumentedFeature
      public class CollectHsMetrics
      extends CollectTargetedMetrics<HsMetrics,​HsMetricCollector>

  This tool takes a SAM/BAM file input and collects metrics that are specific for sequence datasets generated through hybrid-selection. Hybrid-selection (HS) is the most commonly used technique to capture exon-specific sequences for targeted sequencing experiments such as exome sequencing; for more information, please see the corresponding GATK Dictionary entry.

  This tool requires an aligned SAM or BAM file as well as bait and target interval files in Picard interval_list format. You should use the bait and interval files that correspond to the capture kit that was used to generate the capture libraries for sequencing, which can generally be obtained from the kit manufacturer. If the baits and target intervals are provided in BED format, you can convert them to the Picard interval_list format using Picard's BedToInterval tool.

  If a reference sequence is provided, this program will calculate both AT_DROPOUT and GC_DROPOUT metrics. Dropout metrics are an attempt to measure the reduced representation of reads, in regions that deviate from 50% G/C content. This reduction in the number of aligned reads is due to the increased numbers of errors associated with sequencing regions with excessive or deficient numbers of G/C bases, ultimately leading to poor mapping efficiencies and low coverage in the affected regions.

  If you are interested in getting G/C content and mean sequence depth information for every target interval, use the PER_TARGET_COVERAGE option.

  Note: Metrics labeled as percentages are actually expressed as fractions!

  #### Usage Example:

       java -jar picard.jar CollectHsMetrics \\

             I=input_reds.bam \\

             O=output_hs_metrics.txt \\
      "
             R=reference.fasta \\

             BAIT_INTERVALS=bait.interval_list \\

             TARGET_INTERVALS=target.interval_list

  Please see CollectHsMetrics for detailed descriptions of the output metrics produced by this tool.

  See `HsMetricCollector` and `CollectTargetedMetrics` for more details.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `List<File>` | `BAIT_INTERVALS` |
    `String` | `BAIT_SET_NAME` |

    - ### Fields inherited from class picard.analysis.directed.CollectTargetedMetrics

      `ALLELE_FRACTION, CLIP_OVERLAPPING_READS, COVERAGE_CAP, INPUT, METRIC_ACCUMULATION_LEVEL, MINIMUM_BASE_QUALITY, MINIMUM_MAPPING_QUALITY, NEAR_DISTANCE, OUTPUT, PER_BASE_COVERAGE, PER_TARGET_COVERAGE, SAMPLE_SIZE, TARGET_INTERVALS, THEORETICAL_SENSITIVITY_OUTPUT`

    - ### Fields inherited from class picard.cmdline.CommandLineProgram

      `COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, 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
    --- | ---
    `CollectHsMetrics()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected htsjdk.samtools.util.IntervalList` | `getProbeIntervals()` |
    `protected String` | `getProbeSetName()` |
    `static void` | `main​(String[] argv)` | Stock main method.

    `protected HsMetricCollector`

    `makeCollector​(Set<MetricAccumulationLevel> accumulationLevels, List<htsjdk.samtools.SAMReadGroupRecord> samRgRecords, htsjdk.samtools.reference.ReferenceSequenceFile refFile, File perTargetCoverage, File perBaseCoverage, htsjdk.samtools.util.IntervalList targetIntervals, htsjdk.samtools.util.IntervalList probeIntervals, String probeSetName, int nearProbeDistance)`

    A factory method for the TargetMetricsCollector to use this time.

    - ### Methods inherited from class picard.analysis.directed.CollectTargetedMetrics

      `customCommandLineValidation, doWork`

    - ### Methods inherited from class picard.cmdline.CommandLineProgram

      `getCommandLine, getCommandLineParser, getDefaultHeaders, getFaqLink, getMetricsFile, 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

    - #### BAIT_INTERVALS

          @Argument(shortName="BI",
                    doc="An interval list file that contains the locations of the baits used.",
                    minElements=1)
          public List<File> BAIT_INTERVALS

    - #### BAIT_SET_NAME

          @Argument(shortName="N",
                    doc="Bait set name. If not provided it is inferred from the filename of the bait intervals.",
                    optional=true)
          public String BAIT_SET_NAME

  - ### Constructor Detail

    - #### CollectHsMetrics

          public CollectHsMetrics()

  - ### Method Detail

    - #### getProbeIntervals

          protected htsjdk.samtools.util.IntervalList getProbeIntervals()

      Specified by:
        `getProbeIntervals` in class `CollectTargetedMetrics<HsMetrics,​HsMetricCollector>`

    - #### getProbeSetName

          protected String getProbeSetName()

      Specified by:
        `getProbeSetName` in class `CollectTargetedMetrics<HsMetrics,​HsMetricCollector>`

    - #### main

          public static void main​(String[] argv)

      Stock main method.

    - #### makeCollector

          protected HsMetricCollector makeCollector​(Set<MetricAccumulationLevel> accumulationLevels,
                                                    List<htsjdk.samtools.SAMReadGroupRecord> samRgRecords,
                                                    htsjdk.samtools.reference.ReferenceSequenceFile refFile,
                                                    File perTargetCoverage,
                                                    File perBaseCoverage,
                                                    htsjdk.samtools.util.IntervalList targetIntervals,
                                                    htsjdk.samtools.util.IntervalList probeIntervals,
                                                    String probeSetName,
                                                    int nearProbeDistance)

      Description copied from class: `CollectTargetedMetrics`
      A factory method for the TargetMetricsCollector to use this time. Examples of TargetMetricsCollector: (TargetedPcrMetricsCollector, HsMetricsCalculator)
      Specified by:
        `makeCollector` in class `CollectTargetedMetrics<HsMetrics,​HsMetricCollector>`
      Returns:
        A TargetMetricsCollector to which we will pass SAMRecords