@parameterized.parameters([0, 0, 0.01, 100, [(- 0.477121), (- 0.477121), (- 0.477121)], 1], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [10, 1, 0.01, 100, [(- 0.044109), (- 1.015126), (- 16.00919)], 10], [10, 2, 0.01, 100, [(- 1.06383), (- 0.039211), (- 13.037641)], 0], [10, 3, 0.01, 100, [(- 3.020668), (- 0.000414), (- 11.003209)], 0], [10, 4, 0.01, 100, [(- 5.015893), (- 4e-06), (- 9.007163)], 0], [10, 5, 0.01, 100, [(- 7.011524), (- 0.0), (- 7.011524)], 0], [10, 6, 0.01, 100, [(- 9.007163), (- 4e-06), (- 5.015893)], 0], [10, 7, 0.01, 100, [(- 11.003209), (- 0.000414), (- 3.020668)], 0], [10, 8, 0.01, 100, [(- 13.037641), (- 0.039211), (- 1.06383)], 0], [10, 9, 0.01, 100, [(- 16.00919), (- 1.015126), (- 0.044109)], 0], [10, 10, 0.01, 100, [(- 19.956821), (- 2.967121), (- 0.000469)], 0], [20, 0, 0.01, 100, [(- 1e-06), (- 5.933304), (- 39.912704)], 59], [20, 1, 0.01, 100, [(- 5e-05), (- 3.937719), (- 35.921484)], 39], [20, 2, 0.01, 100, [(- 0.004935), (- 1.946968), (- 31.935098)], 19], [20, 3, 0.01, 100, [(- 0.328657), (- 0.275056), (- 28.26755)], 2], [20, 4, 0.01, 100, [(- 2.053097), (- 0.00386), (- 26.00072)], 0], [20, 5, 0.01, 100, [(- 4.044911), (- 3.9e-05), (- 24.001263)], 0], [20, 6, 0.01, 100, [(- 6.040508), (- 0.0), (- 22.005589)], 0], [20, 7, 0.01, 100, [(- 8.036143), (- 0.0), (- 20.009954)], 0], [20, 8, 0.01, 100, [(- 10.031778), (- 0.0), (- 18.014319)], 0], [20, 9, 0.01, 100, [(- 12.027413), (- 0.0), (- 16.018683)], 0], [20, 10, 0.01, 100, [(- 14.023048), (- 0.0), (- 14.023048)], 0], [20, 11, 0.01, 100, [(- 16.018683), (- 0.0), (- 12.027413)], 0], [20, 12, 0.01, 100, [(- 18.014319), (- 0.0), (- 10.031778)], 0], [20, 13, 0.01, 100, [(- 20.009954), (- 0.0), (- 8.036143)], 0], [20, 14, 0.01, 100, [(- 22.005589), (- 0.0), (- 6.040508)], 0], [20, 15, 0.01, 100, [(- 24.001263), (- 3.9e-05), (- 4.044911)], 0], [20, 16, 0.01, 100, [(- 26.00072), (- 0.00386), (- 2.053097)], 0], [20, 17, 0.01, 100, [(- 28.26755), (- 0.275056), (- 0.328657)], 0], [20, 18, 0.01, 100, [(- 31.935098), (- 1.946968), (- 0.004935)], 0], [20, 19, 0.01, 100, [(- 35.921484), (- 3.937719), (- 5e-05)], 0], [20, 20, 0.01, 100, [(- 39.912704), (- 5.933304), (- 1e-06)], 0], [10, 0, 0.1, 100, [(- 0.001215), (- 2.55394), (- 9.54364)], 25], [10, 1, 0.1, 100, [(- 0.010811), (- 1.609294), (- 7.644752)], 16], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [10, 1, 0.01, 100, [(- 0.044109), (- 1.015126), (- 16.00919)], 10], [10, 0, 0.001, 100, [(- 0.000428), (- 3.006383), (- 29.996083)], 30], [10, 1, 0.001, 100, [(- 0.297847), (- 0.304236), (- 24.294371)], 3], [10, 0, 0.0001, 100, [(- 0.000424), (- 3.01029), (- 39.99999)], 30], [10, 1, 0.0001, 100, [(- 1.032394), (- 0.042303), (- 33.032046)], 0], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [20, 0, 0.01, 100, [(- 1e-06), (- 5.933304), (- 39.912704)], 59], [30, 0, 0.01, 100, [(- 0.0), (- 8.899956), (- 59.869056)], 88], [40, 0, 0.01, 100, [(- 0.0), (- 11.866608), (- 79.825408)], 100], [50, 0, 0.01, 100, [(- 0.0), (- 14.83326), (- 99.78176)], 100], [60, 0, 0.01, 100, [0.0, (- 17.799911), (- 119.738112)], 100], [70, 0, 0.01, 100, [0.0, (- 20.766563), (- 139.694464)], 100], [80, 0, 0.01, 100, [0.0, (- 23.733215), (- 159.650816)], 100], [90, 0, 0.01, 100, [0.0, (- 26.699867), (- 179.607168)], 100], [100, 0, 0.01, 100, [0.0, (- 29.666519), (- 199.563519)], 100])
def test_ref_calc(self, total_n, alt_n, p_error, max_gq, expected_likelihoods, expected_gq):
    caller = PlaceholderVariantCaller(p_error, max_gq)
    (gq, likelihoods) = caller.reference_confidence((total_n - alt_n), total_n)
    npt.assert_allclose(expected_likelihoods, likelihoods, atol=1e-06)
    self.assertEqual(expected_gq, gq)
@parameterized.parameters([0, 0, 0.01, 100, [(- 0.477121), (- 0.477121), (- 0.477121)], 1], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [10, 1, 0.01, 100, [(- 0.044109), (- 1.015126), (- 16.00919)], 10], [10, 2, 0.01, 100, [(- 1.06383), (- 0.039211), (- 13.037641)], 0], [10, 3, 0.01, 100, [(- 3.020668), (- 0.000414), (- 11.003209)], 0], [10, 4, 0.01, 100, [(- 5.015893), (- 4e-06), (- 9.007163)], 0], [10, 5, 0.01, 100, [(- 7.011524), (- 0.0), (- 7.011524)], 0], [10, 6, 0.01, 100, [(- 9.007163), (- 4e-06), (- 5.015893)], 0], [10, 7, 0.01, 100, [(- 11.003209), (- 0.000414), (- 3.020668)], 0], [10, 8, 0.01, 100, [(- 13.037641), (- 0.039211), (- 1.06383)], 0], [10, 9, 0.01, 100, [(- 16.00919), (- 1.015126), (- 0.044109)], 0], [10, 10, 0.01, 100, [(- 19.956821), (- 2.967121), (- 0.000469)], 0], [20, 0, 0.01, 100, [(- 1e-06), (- 5.933304), (- 39.912704)], 59], [20, 1, 0.01, 100, [(- 5e-05), (- 3.937719), (- 35.921484)], 39], [20, 2, 0.01, 100, [(- 0.004935), (- 1.946968), (- 31.935098)], 19], [20, 3, 0.01, 100, [(- 0.328657), (- 0.275056), (- 28.26755)], 2], [20, 4, 0.01, 100, [(- 2.053097), (- 0.00386), (- 26.00072)], 0], [20, 5, 0.01, 100, [(- 4.044911), (- 3.9e-05), (- 24.001263)], 0], [20, 6, 0.01, 100, [(- 6.040508), (- 0.0), (- 22.005589)], 0], [20, 7, 0.01, 100, [(- 8.036143), (- 0.0), (- 20.009954)], 0], [20, 8, 0.01, 100, [(- 10.031778), (- 0.0), (- 18.014319)], 0], [20, 9, 0.01, 100, [(- 12.027413), (- 0.0), (- 16.018683)], 0], [20, 10, 0.01, 100, [(- 14.023048), (- 0.0), (- 14.023048)], 0], [20, 11, 0.01, 100, [(- 16.018683), (- 0.0), (- 12.027413)], 0], [20, 12, 0.01, 100, [(- 18.014319), (- 0.0), (- 10.031778)], 0], [20, 13, 0.01, 100, [(- 20.009954), (- 0.0), (- 8.036143)], 0], [20, 14, 0.01, 100, [(- 22.005589), (- 0.0), (- 6.040508)], 0], [20, 15, 0.01, 100, [(- 24.001263), (- 3.9e-05), (- 4.044911)], 0], [20, 16, 0.01, 100, [(- 26.00072), (- 0.00386), (- 2.053097)], 0], [20, 17, 0.01, 100, [(- 28.26755), (- 0.275056), (- 0.328657)], 0], [20, 18, 0.01, 100, [(- 31.935098), (- 1.946968), (- 0.004935)], 0], [20, 19, 0.01, 100, [(- 35.921484), (- 3.937719), (- 5e-05)], 0], [20, 20, 0.01, 100, [(- 39.912704), (- 5.933304), (- 1e-06)], 0], [10, 0, 0.1, 100, [(- 0.001215), (- 2.55394), (- 9.54364)], 25], [10, 1, 0.1, 100, [(- 0.010811), (- 1.609294), (- 7.644752)], 16], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [10, 1, 0.01, 100, [(- 0.044109), (- 1.015126), (- 16.00919)], 10], [10, 0, 0.001, 100, [(- 0.000428), (- 3.006383), (- 29.996083)], 30], [10, 1, 0.001, 100, [(- 0.297847), (- 0.304236), (- 24.294371)], 3], [10, 0, 0.0001, 100, [(- 0.000424), (- 3.01029), (- 39.99999)], 30], [10, 1, 0.0001, 100, [(- 1.032394), (- 0.042303), (- 33.032046)], 0], [10, 0, 0.01, 100, [(- 0.000469), (- 2.967121), (- 19.956821)], 29], [20, 0, 0.01, 100, [(- 1e-06), (- 5.933304), (- 39.912704)], 59], [30, 0, 0.01, 100, [(- 0.0), (- 8.899956), (- 59.869056)], 88], [40, 0, 0.01, 100, [(- 0.0), (- 11.866608), (- 79.825408)], 100], [50, 0, 0.01, 100, [(- 0.0), (- 14.83326), (- 99.78176)], 100], [60, 0, 0.01, 100, [0.0, (- 17.799911), (- 119.738112)], 100], [70, 0, 0.01, 100, [0.0, (- 20.766563), (- 139.694464)], 100], [80, 0, 0.01, 100, [0.0, (- 23.733215), (- 159.650816)], 100], [90, 0, 0.01, 100, [0.0, (- 26.699867), (- 179.607168)], 100], [100, 0, 0.01, 100, [0.0, (- 29.666519), (- 199.563519)], 100])
def test_ref_calc(self, total_n, alt_n, p_error, max_gq, expected_likelihoods, expected_gq):
    caller = PlaceholderVariantCaller(p_error, max_gq)
    (gq, likelihoods) = caller.reference_confidence((total_n - alt_n), total_n)
    npt.assert_allclose(expected_likelihoods, likelihoods, atol=1e-06)
    self.assertEqual(expected_gq, gq)