@Override
	public double[] computeValue(final char refBase, FastaWindow window, AlignmentColumn col) {
		values[ref] = 0.0;
		values[alt] = 0.0;
		counts[0] = 0.0;
		counts[1] = 0.0;
		
		if (col.getDepth() > 0) {
			Iterator<MappedRead> it = col.getIterator();
			while(it.hasNext()) {
				MappedRead read = it.next();
				if (read.hasBaseAtReferencePos(col.getCurrentPosition())) {
					byte b = read.getBaseAtReferencePos(col.getCurrentPosition());
					if (b == 'N') 
						continue;
					
					int q = read.getRecord().getMappingQuality();
					int index = 0;
					if ( b != refBase)
						index = 1;
					values[index] += q;
					counts[index]++;
					
					
				}
			}
		}
		
		if (counts[0] > 0)
			values[0] /= counts[0];
		if (counts[1] > 0) 
			values[1] /= counts[1];
		
		values[ref] = values[ref] / 80.0 * 2.0 -1.0;
		values[alt] = values[alt] / 80.0 * 2.0 -1.0;
		return values;
	}