예제 #1
0
 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
예제 #2
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("----------------")