picard.analysis

## Class TheoreticalSensitivity

- java.lang.Object
- - picard.analysis.TheoreticalSensitivity

-     public class TheoreticalSensitivity
      extends Object

  Created by David Benjamin on 5/13/15.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TheoreticalSensitivity.RouletteWheel`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TheoreticalSensitivity()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static List<ArrayList<Double>>` | `hetAltDepthDistribution(int N)`
    `static double` | `hetSNPSensitivity(double[] depthDistribution, double[] qualityDistribution, int sampleSize, double logOddsThreshold)`
    `static double` | `hetSNPSensitivity(double[] depthDistribution, double[] qualityDistribution, int sampleSize, double logOddsThreshold, boolean withLogging)`
    `static double[]` | `normalizeHistogram(htsjdk.samtools.util.Histogram<Integer> histogram)`
    `static List<ArrayList<Double>>` | `proportionsAboveThresholds(List<ArrayList<Integer>> lists, List<Double> thresholds)`

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

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

- - ### Constructor Detail

    - #### TheoreticalSensitivity

          public TheoreticalSensitivity()

  - ### Method Detail

    - #### hetSNPSensitivity

          public static double hetSNPSensitivity(double[] depthDistribution,
                                                 double[] qualityDistribution,
                                                 int sampleSize,
                                                 double logOddsThreshold)

      Parameters:
        `depthDistribution` - the probability of depth n is depthDistribution[n] for n = 0, 1. . . N - 1
        `qualityDistribution` - the probability of quality q is qualityDistribution[q] for q = 0, 1. . . Q
        `sampleSize` - sample size is the number of random sums of quality scores for each m
        `logOddsThreshold` - is the log_10 of the likelihood ratio required to call a SNP, for example 5 if the variant likelihood must be 10^5 times greater

    - #### hetSNPSensitivity

          public static double hetSNPSensitivity(double[] depthDistribution,
                                                 double[] qualityDistribution,
                                                 int sampleSize,
                                                 double logOddsThreshold,
                                                 boolean withLogging)

      Parameters:
        `depthDistribution` - the probability of depth n is depthDistribution[n] for n = 0, 1. . . N - 1
        `qualityDistribution` - the probability of quality q is qualityDistribution[q] for q = 0, 1. . . Q
        `sampleSize` - sample size is the number of random sums of quality scores for each m
        `logOddsThreshold` - is the log_10 of the likelihood ratio required to call a SNP, for example 5 if the variant likelihood must be 10^5 times greater.
        `withLogging` - true to output log messages, false otherwise.

    - #### proportionsAboveThresholds

          public static List<ArrayList<Double>> proportionsAboveThresholds(List<ArrayList<Integer>> lists,
                                                                           List<Double> thresholds)

    - #### hetAltDepthDistribution

          public static List<ArrayList<Double>> hetAltDepthDistribution(int N)

    - #### normalizeHistogram

          public static double[] normalizeHistogram(htsjdk.samtools.util.Histogram<Integer> histogram)