Rosalind第12题——ros_bio12_GRPH

如果第一次阅读,请查看写在前面

import re
#将fasta文件存为字典后转化为列表
fasta = {}
with open("../examples/ros_bio12_GRPH.txt") as f:
    file = f.readlines()
for line in file:
    line = re.sub("\n", "", line)
    m = re.match(r'^>.*', line)
    if m:
        name = m.group()
        fasta[name] = ''
    else:
        fasta[name] += line
name = list(fasta.keys())
sequence = list(fasta.values())

#通过双层循环遍历序列,判断序列后三位与其余序列前三位是否相等
adjacency = []
index = 0
i = 0
while i < len(sequence):
    j = 0
    while j < len(sequence):
        if name[i] == name[j]:
            j += 1
            continue
        if sequence[i][-3:] == sequence[j][:3]:
            adjacency.append(name[i] + ' ' + name[j])
            index += 1
        j += 1
    i += 1
for line in adjacency:
    print(line)
#print(adjacency)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值