def compare_with_source(source_fname, realigned_fname, seq1, seq2): d = DataLoader() src = d.getSequences(source_fname, [seq1+'$', seq2+'$']) realigned = d.getSequences(realigned_fname, [seq1+'$', seq2+'$']) src_f = create_alignemnt_function(src) realigned_f = create_alignemnt_function(realigned) l = max(len(src[0]), len(realigned[0])) s = 0 for i in range(min(len(src[0]), len(realigned[0]))): if src_f(i) == realigned_f(i): s += 1 return float(s)/l
def score(fname): sequence_names = ['sequence1', 'sequence2', 'sequence3'] sequences = [] # fname = 'data/sequences/simulated_alignment.{}_{}.realigned.fa' d = DataLoader() for x in range(len(sequence_names)-1): for y in range(x+1, len(sequence_names)): sX = sequence_names[x] sY = sequence_names[y] if sX != sY: sequences.append(d.getSequences( fname.format(sX, sY), [sX+'$', sY+'$']) ) return compare(*sequences)