示例#1
0
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
示例#2
0
def calculateBigPi(postTable, bigPi):
    col = normalizeColLog(postTable[0])
    for i in range(4):
        bigPi[i] = bigPi[i] + col[i]
    return bigPi