def __init__(self, seq1: str = "", seq2: str = ""): # 序列A,序列B if seq1 == "" and seq2 == "": pair = Data.Read_Two_Seq() self.sequence_A: str = pair[0] self.sequence_B: str = pair[1] elif seq1 != "" and seq2 != "": self.sequence_A = seq1 self.sequence_B = seq2 # 统计结果 self.gap_count = 0 self.identity = 0 self.similarity = 0 self.final_length = 0
align_j = ''.join(align_j[::-1]) seq_result_str = ''.join(seq_result[::-1]) if flip: aln = AlignmentResult(align_i, align_j, seq_result_str , i, j, end_i, end_j, n_gaps_i, n_gaps_j, n_mmatch, score) else: aln = AlignmentResult(align_j, align_i, seq_result_str , j, i, end_j, end_i, n_gaps_j, n_gaps_i, n_mmatch, score) results.append(aln) return results # ----------------- test ------------------------------------------- mat, ind = rd.Read_BLO_Matrix(file_name="BLOSUM62.txt") alg = aligner(rd.Read_Two_Seq(), mat, ind, gap_open=-10, gap_extend=-0.5,gap_double=-10,max_hits=2) for i in alg: print(i) alg=[] alg = aligner(['ARAAV','ARAVVVARAV'], mat, ind, method='local', gap_open=-10,gap_extend=-0.5,gap_double=-10,max_hits=2) for i in alg: print(i) alg = [] alg = aligner(rd.Read_Two_Seq(), mat, ind, method="local", gap_open=-10,gap_extend=-0.5,gap_double=-10,max_hits=5) for i in alg: print(i) #print(len(i.seq1)) print("----------------")