我有两条这样的序列文件,现在我想处理的是:将两条序列,合并为一条序列,其中,相同字符的就保留输出,不相同的就以密码子表代替(R=A/G,Y=C/T,M=A/C,K=G/T,S=G/C,W=A/T等形式替换)并输出,如:
原始数据:
A01415
cttatcaattgagcaccggtctcaact
A01416
cttgtccactgagctccggtctcaact
预期结果:
cttrtcmaytgagcwccggtctcaact
我有两条这样的序列文件,现在我想处理的是:将两条序列,合并为一条序列,其中,相同字符的就保留输出,不相同的就以密码子表代替(R=A/G,Y=C/T,M=A/C,K=G/T,S=G/C,W=A/T等形式替换)并输出,如:
原始数据:
A01415
cttatcaattgagcaccggtctcaact
A01416
cttgtccactgagctccggtctcaact
预期结果:
cttrtcmaytgagcwccggtctcaact
区分大小写吗?
d = {'AG':'R','CT':'Y','AC':'M','GT':'K','GC':'S','AT':'W'}
s1 = 'cttatcaattgagcaccggtctcaact'
s2 = 'cttgtccactgagctccggtctcaact'
res = []
for i in range(len(s1)):
if s1[i]!=s2[i]:
key = (s1[i]+s2[i]).upper()
if not d.get(key): key=(s2[i]+s1[i]).upper()
res.append(d.get(key).lower())
else:
res.append(s1[i])
print(''.join(res))