def grph(path):
def is_overlap(s, t, k=3):
return s[-k:] == t[:k]
with open(path) as fp:
seqs = []
names = []
current_seq = ""
for line in fp:
line = line.strip()
if line.startswith('>'):
if current_seq:
seqs.append(current_seq)
current_seq = ""
names.append(line[1:]) # 去掉 ">" 符号
else:
current_seq += line
# 处理最后一个序列
if current_seq:
seqs.append(current_seq)
res = []
for i in range(len(seqs)):
for j in range(len(seqs)):
if i != j and is_overlap(seqs[i], seqs[j]):
res.append(f"{names[i]} {names[j]}")
result = '\n'.join(res)
return result
print(grph(r'rosalind_grph.txt'))
Rosalind overlap graphs
发布于 2024-03-10 3 次阅读
Comments NOTHING