@Override
    public double[] computeValue(char refBase, FastaWindow window, AlignmentColumn col) {

        values[major] = 0.0;
        values[minor] = 0.0;

        int maxQualMajor = 0;
        int maxQualMinor = 0;

        if (col.getDepth() > 0) {

            calculateAlleles(col.getBases(), col.getDepth(), refBase);
            Iterator<MappedRead> it = col.getIterator();

            while(it.hasNext()) {
                MappedRead read = it.next();
                if (read.hasBaseAtReferencePos(col.getCurrentPosition())) {
                    byte b = read.getBaseAtReferencePos(col.getCurrentPosition());
                    byte q = read.getQualityAtReferencePos(col.getCurrentPosition());

                    if (isPhred33) q += 31;

                    if ((char) b == getMajorAllele()) {
                        if (q > maxQualMajor) maxQualMajor = q;
                    } else if ((char) b == getMinorAllele()) {
                        if (q > maxQualMinor) maxQualMinor = q;
                    }
                }
            }
        }

        values[major] = maxQualMajor;
        values[minor] = maxQualMinor;

        return values;
    }