def CalculateDistanceJC69(info, do_gamma=False, alpha=None):
    try:
        p = float(info.mNDifferent) / info.mNAligned

        if do_gamma:
            # not done yet
            distance = 0.75 * alpha * (pow(1 - 4 * p / 3, -1 / alpha) - 1)
            variance = p * (1 - p) / (pow(1 - 4 * p / 3, -2 / (alpha + 1)) * L)
        else:
            distance = -0.75 * math.log(1.0 - 4.0 * p / 3.0)
            variance = p * (1.0 - p) / \
                (math.pow(1.0 - 4.0 * p / 3, 2.0) * info.mNAligned)
    except:
        raise ValueError

    return distance, variance

# ------------------------------------------------------------------------
Use L{assertContainsFields} instead.
dataset/ETHPy150Open CGATOxford/cgat/scripts/fasta2distances.py/CalculateDistanceJC69--crossover with--dataset/ETHPy150Open ClusterHQ/eliot/eliot/testing.py/issuperset