def smax(s1, s2): a1 = pa.alignment(s1, s1) a2 = pa.alignment(s2, s2) return float(a1[2] + a2[2]) / 2
def smax(s1, s2): a1 = pa.alignment(s1, s1) a2 = pa.alignment(s2, s2) return float(a1[2] + a2[2]) / 2 def dij(s_ij, s_rand, s_max): return -np.log(float(s_ij - s_rand) / (s_max - s_rand)) if __name__ == "__main__": seqs = [ "GCAAAGC", "GTAGAATC", "GCCTG", "CCATC" ] for i in range(len(seqs)): for j in range(i + 1, len(seqs)): a1, a2, score = pa.alignment(seqs[i], seqs[j]) print str(i+1) + ": " + a1 print str(j+1) + ": " + a2 print "score: " + str(score) s_max = smax(seqs[i], seqs[j]) print "smax: " + str(s_max) s_rand = srand(a1, a2) print "srand: " + str(s_rand) print "D" + str(i+1) + str(j+1) + ": " +\ str(dij(score, s_rand, s_max)) + "\n"