def calculateETable(postTable, sequences, laplaceOffset): tableLength = len(postTable) results = [[0 +laplaceOffset,0 +laplaceOffset,0 +laplaceOffset,0 +laplaceOffset], [0 +laplaceOffset,0 +laplaceOffset,0 +laplaceOffset,0 +laplaceOffset] ] for t in range(tableLength): col = postTable[t] same = sameChars(sequences, t) iIndex = 0 if same == False: iIndex = 1 for i in range(4): if results[iIndex][i] == 0: results[iIndex][i] = col[i] else: results[iIndex][i] = logAdd(results[iIndex][i], col[i]) for i in range(4): row = [results[0][i], results[1][i]] rowNormal = normalizeColLog(row) results[0][i] = rowNormal[0] results[1][i] = rowNormal[1] return results
def calculateBigPi(postTable, bigPi): col = normalizeColLog(postTable[0]) for i in range(4): bigPi[i] = bigPi[i] + col[i] return bigPi