# Class WgsMetrics

java.lang.Object
htsjdk.samtools.metrics.MetricBase
picard.analysis.MergeableMetricBase
picard.analysis.WgsMetrics

Direct Known Subclasses:
  `CollectRawWgsMetrics.RawWgsMetrics, CollectWgsMetricsWithNonZeroCoverage.WgsMetricsWithNonZeroCoverage`

@DocumentedFeature(groupName="Metrics", summary="Metrics") public class WgsMetrics extends MergeableMetricBase
Metrics for evaluating the performance of whole genome sequencing experiments.

## Nested Class Summary

### Nested classes/interfaces inherited from class MergeableMetricBase

`MergeableMetricBase.MergeByAdding, MergeableMetricBase.MergeByAssertEquals, MergeableMetricBase.MergingIsManual, MergeableMetricBase.NoMergingIsDerived, MergeableMetricBase.NoMergingKeepsValue`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final int`
`coverageCap`
The maximum depth/coverage to consider.
`double`
`FOLD_80_BASE_PENALTY`
The fold over-coverage necessary to raise 80% of bases to the mean coverage level.
`double`
`FOLD_90_BASE_PENALTY`
The fold over-coverage necessary to raise 90% of bases to the mean coverage level.
`double`
`FOLD_95_BASE_PENALTY`
The fold over-coverage necessary to raise 95% of bases to the mean coverage level.
`long`
`GENOME_TERRITORY`
The number of non-N bases in the genome reference over which coverage will be evaluated.
`double`
`HET_SNP_Q`
The Phred Scaled Q Score of the theoretical HET SNP sensitivity.
`double`
`HET_SNP_SENSITIVITY`
The theoretical HET SNP sensitivity.
`protected final htsjdk.samtools.util.Histogram<Integer>`
`highQualityDepthHistogram`
Count of sites with a given depth of coverage.
`protected htsjdk.samtools.util.IntervalList`
`intervals`
The intervals over which this metric was computed.
`double`
`MAD_COVERAGE`
The median absolute deviation of coverage of the genome after all filters are applied.
`double`
`MEAN_COVERAGE`
The mean coverage in bases of the genome territory, after all filters are applied.
`double`
`MEDIAN_COVERAGE`
The median coverage in bases of the genome territory, after all filters are applied.
`double`
`PCT_100X`
The fraction of bases that attained at least 100X sequence coverage in post-filtering bases.
`double`
`PCT_10X`
The fraction of bases that attained at least 10X sequence coverage in post-filtering bases.
`double`
`PCT_15X`
The fraction of bases that attained at least 15X sequence coverage in post-filtering bases.
`double`
`PCT_1X`
The fraction of bases that attained at least 1X sequence coverage in post-filtering bases.
`double`
`PCT_20X`
The fraction of bases that attained at least 20X sequence coverage in post-filtering bases.
`double`
`PCT_25X`
The fraction of bases that attained at least 25X sequence coverage in post-filtering bases.
`double`
`PCT_30X`
The fraction of bases that attained at least 30X sequence coverage in post-filtering bases.
`double`
`PCT_40X`
The fraction of bases that attained at least 40X sequence coverage in post-filtering bases.
`double`
`PCT_50X`
The fraction of bases that attained at least 50X sequence coverage in post-filtering bases.
`double`
`PCT_5X`
The fraction of bases that attained at least 5X sequence coverage in post-filtering bases.
`double`
`PCT_60X`
The fraction of bases that attained at least 60X sequence coverage in post-filtering bases.
`double`
`PCT_70X`
The fraction of bases that attained at least 70X sequence coverage in post-filtering bases.
`double`
`PCT_80X`
The fraction of bases that attained at least 80X sequence coverage in post-filtering bases.
`double`
`PCT_90X`
The fraction of bases that attained at least 90X sequence coverage in post-filtering bases.
`double`
`PCT_EXC_ADAPTER`
The fraction of aligned bases that were filtered out because they were in reads with mapping quality 0 and the looked like adapter reads.
`double`
`PCT_EXC_BASEQ`
The fraction of aligned bases that were filtered out because they were of low base quality (lower than MIN_BASE_QUALITY).
`double`
`PCT_EXC_CAPPED`
The fraction of aligned bases that were filtered out because they would have raised coverage above COVERAGE_CAP.
`double`
`PCT_EXC_DUPE`
The fraction of aligned bases that were filtered out because they were in reads marked as duplicates.
`double`
`PCT_EXC_MAPQ`
The fraction of aligned bases that were filtered out because they were in reads with low mapping quality (lower than MIN_MAPPING_QUALITY).
`double`
`PCT_EXC_OVERLAP`
The fraction of aligned bases that were filtered out because they were the second observation from an insert with overlapping reads.
`double`
`PCT_EXC_TOTAL`
The total fraction of aligned bases excluded due to all filters.
`double`
`PCT_EXC_UNPAIRED`
The fraction of aligned bases that were filtered out because they were in reads without a mapped mate pair.
`double`
`SD_COVERAGE`
The standard deviation of coverage of the genome after all filters are applied.
`protected final int`
`theoreticalHetSensitivitySampleSize`
The sample size used for theoretical het sensitivity.
`protected final htsjdk.samtools.util.Histogram<Integer>`
`unfilteredBaseQHistogram`
The count of bases observed with a given base quality.
`protected final htsjdk.samtools.util.Histogram<Integer>`
`unfilteredDepthHistogram`
Count of sites with a given depth of coverage.

## Constructor Summary

Constructors
Constructor
Description
`WgsMetrics()`
Create an instance of this metric that is not mergeable.
`WgsMetrics(htsjdk.samtools.util.IntervalList intervals, htsjdk.samtools.util.Histogram<Integer> highQualityDepthHistogram, htsjdk.samtools.util.Histogram<Integer> unfilteredDepthHistogram, double pctExcludedByAdapter, double pctExcludedByMapq, double pctExcludedByDupes, double pctExcludedByPairing, double pctExcludedByBaseq, double pctExcludedByOverlap, double pctExcludedByCapping, double pctExcludeTotal, int coverageCap, htsjdk.samtools.util.Histogram<Integer> unfilteredBaseQHistogram, int theoreticalHetSensitivitySampleSize)`
Create an instance of this metric that is mergeable.

## Method Summary

Modifier and Type
Method
Description
`void`
`calculateDerivedFields()`
Placeholder method that will calculate the derived fields from the other ones.
`MergeableMetricBase`
`merge(MergeableMetricBase other)`
Merges the various PCT_EXC_* metrics.

### Methods inherited from class MergeableMetricBase

`canMerge, merge, mergeIfCan`

### Methods inherited from class htsjdk.samtools.metrics.MetricBase

`equals, hashCode, toString`

### Methods inherited from class Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### intervals

protected htsjdk.samtools.util.IntervalList intervals
The intervals over which this metric was computed.

### highQualityDepthHistogram

protected final htsjdk.samtools.util.Histogram<Integer> highQualityDepthHistogram
Count of sites with a given depth of coverage. Excludes bases with quality below MINIMUM_BASE_QUALITY

### unfilteredDepthHistogram

protected final htsjdk.samtools.util.Histogram<Integer> unfilteredDepthHistogram
Count of sites with a given depth of coverage. Includes all but quality 2 bases

### unfilteredBaseQHistogram

protected final htsjdk.samtools.util.Histogram<Integer> unfilteredBaseQHistogram
The count of bases observed with a given base quality.

### coverageCap

protected final int coverageCap
The maximum depth/coverage to consider.

### theoreticalHetSensitivitySampleSize

protected final int theoreticalHetSensitivitySampleSize
The sample size used for theoretical het sensitivity.

### GENOME_TERRITORY

public long GENOME_TERRITORY
The number of non-N bases in the genome reference over which coverage will be evaluated.

### MEAN_COVERAGE

public double MEAN_COVERAGE
The mean coverage in bases of the genome territory, after all filters are applied.

### SD_COVERAGE

public double SD_COVERAGE
The standard deviation of coverage of the genome after all filters are applied.

### MEDIAN_COVERAGE

public double MEDIAN_COVERAGE
The median coverage in bases of the genome territory, after all filters are applied.

### MAD_COVERAGE

public double MAD_COVERAGE
The median absolute deviation of coverage of the genome after all filters are applied.

### PCT_EXC_ADAPTER

public double PCT_EXC_ADAPTER
The fraction of aligned bases that were filtered out because they were in reads with mapping quality 0 and the looked like adapter reads.

### PCT_EXC_MAPQ

public double PCT_EXC_MAPQ
The fraction of aligned bases that were filtered out because they were in reads with low mapping quality (lower than MIN_MAPPING_QUALITY).

### PCT_EXC_DUPE

public double PCT_EXC_DUPE
The fraction of aligned bases that were filtered out because they were in reads marked as duplicates.

### PCT_EXC_UNPAIRED

public double PCT_EXC_UNPAIRED
The fraction of aligned bases that were filtered out because they were in reads without a mapped mate pair.

### PCT_EXC_BASEQ

public double PCT_EXC_BASEQ
The fraction of aligned bases that were filtered out because they were of low base quality (lower than MIN_BASE_QUALITY).

### PCT_EXC_OVERLAP

public double PCT_EXC_OVERLAP
The fraction of aligned bases that were filtered out because they were the second observation from an insert with overlapping reads.

### PCT_EXC_CAPPED

public double PCT_EXC_CAPPED
The fraction of aligned bases that were filtered out because they would have raised coverage above COVERAGE_CAP.

### PCT_EXC_TOTAL

public double PCT_EXC_TOTAL
The total fraction of aligned bases excluded due to all filters.

### PCT_1X

public double PCT_1X
The fraction of bases that attained at least 1X sequence coverage in post-filtering bases.

### PCT_5X

public double PCT_5X
The fraction of bases that attained at least 5X sequence coverage in post-filtering bases.

### PCT_10X

public double PCT_10X
The fraction of bases that attained at least 10X sequence coverage in post-filtering bases.

### PCT_15X

public double PCT_15X
The fraction of bases that attained at least 15X sequence coverage in post-filtering bases.

### PCT_20X

public double PCT_20X
The fraction of bases that attained at least 20X sequence coverage in post-filtering bases.

### PCT_25X

public double PCT_25X
The fraction of bases that attained at least 25X sequence coverage in post-filtering bases.

### PCT_30X

public double PCT_30X
The fraction of bases that attained at least 30X sequence coverage in post-filtering bases.

### PCT_40X

public double PCT_40X
The fraction of bases that attained at least 40X sequence coverage in post-filtering bases.

### PCT_50X

public double PCT_50X
The fraction of bases that attained at least 50X sequence coverage in post-filtering bases.

### PCT_60X

public double PCT_60X
The fraction of bases that attained at least 60X sequence coverage in post-filtering bases.

### PCT_70X

public double PCT_70X
The fraction of bases that attained at least 70X sequence coverage in post-filtering bases.

### PCT_80X

public double PCT_80X
The fraction of bases that attained at least 80X sequence coverage in post-filtering bases.

### PCT_90X

public double PCT_90X
The fraction of bases that attained at least 90X sequence coverage in post-filtering bases.

### PCT_100X

public double PCT_100X
The fraction of bases that attained at least 100X sequence coverage in post-filtering bases.

### FOLD_80_BASE_PENALTY

public double FOLD_80_BASE_PENALTY
The fold over-coverage necessary to raise 80% of bases to the mean coverage level.

### FOLD_90_BASE_PENALTY

public double FOLD_90_BASE_PENALTY
The fold over-coverage necessary to raise 90% of bases to the mean coverage level.

### FOLD_95_BASE_PENALTY

public double FOLD_95_BASE_PENALTY
The fold over-coverage necessary to raise 95% of bases to the mean coverage level.

### HET_SNP_SENSITIVITY

public double HET_SNP_SENSITIVITY
The theoretical HET SNP sensitivity.

### HET_SNP_Q

public double HET_SNP_Q
The Phred Scaled Q Score of the theoretical HET SNP sensitivity.

## Constructor Details

### WgsMetrics

public WgsMetrics()
Create an instance of this metric that is not mergeable.

### WgsMetrics

public WgsMetrics(htsjdk.samtools.util.IntervalList intervals, htsjdk.samtools.util.Histogram<Integer> highQualityDepthHistogram, htsjdk.samtools.util.Histogram<Integer> unfilteredDepthHistogram, double pctExcludedByAdapter, double pctExcludedByMapq, double pctExcludedByDupes, double pctExcludedByPairing, double pctExcludedByBaseq, double pctExcludedByOverlap, double pctExcludedByCapping, double pctExcludeTotal, int coverageCap, htsjdk.samtools.util.Histogram<Integer> unfilteredBaseQHistogram, int theoreticalHetSensitivitySampleSize)
Create an instance of this metric that is mergeable.

Parameters:
  `highQualityDepthHistogram` - the count of genomic positions observed for each observed depth. Excludes bases with quality below MINIMUM_BASE_QUALITY.
  `unfilteredDepthHistogram` - the depth histogram that includes all but quality 2 bases.
  `pctExcludedByAdapter` - the fraction of aligned bases that were filtered out because they were in reads with 0 mapping quality that looked like adapter sequence.
  `pctExcludedByMapq` - the fraction of aligned bases that were filtered out because they were in reads with low mapping quality.
  `pctExcludedByDupes` - the fraction of aligned bases that were filtered out because they were in reads marked as duplicates.
  `pctExcludedByPairing` - the fraction of bases that were filtered out because they were in reads without a mapped mate pair.
  `pctExcludedByBaseq` - the fraction of aligned bases that were filtered out because they were of low base quality.
  `pctExcludedByOverlap` - the fraction of aligned bases that were filtered out because they were the second observation from an insert with overlapping reads.
  `pctExcludedByCapping` - the fraction of aligned bases that were filtered out because they would have raised coverage above the capped value.
  `pctExcludeTotal` - the fraction of bases excluded across all filters.
  `coverageCap` - Treat positions with coverage exceeding this value as if they had coverage at this value.
  `unfilteredBaseQHistogram` - the count of bases observed with a given quality. Includes all but quality 2 bases.
  `theoreticalHetSensitivitySampleSize` - the sample size used for theoretical het sensitivity sampling.

## Method Details

### merge

public MergeableMetricBase merge(MergeableMetricBase other)
Merges the various PCT_EXC_* metrics.

Overrides:
  `merge` in class `MergeableMetricBase`
Parameters:
  `other` - metric to merge into this one.
Returns:
  result of merging, also known as "this"

### calculateDerivedFields

public void calculateDerivedFields()
Description copied from class: `MergeableMetricBase`
Placeholder method that will calculate the derived fields from the other ones. Classes that are derived from non-trivial derived classes should consider calling super.calculateDerivedFields() as well. Fields whose value will change due to this method should be annotated with `NoMergingKeepsValue`.

Overrides:
  `calculateDerivedFields` in class `MergeableMetricBase`