我有一个包含序列的文件:ATGAAGCTAGGCATATTC。我想要一个简单的python代码 将这个序列分成3个:ATG AAG GCT ....然后将它们的指数分成3s: 123 456 789 ........
最终的打印输出应如下所示:
ATG 123
AAG 456
CTA 789
GGC 101112
ATA 131415
TTC 161718
这是我到目前为止所做的:
#!/usr/bin/python
import string
import sys
fileName1=sys.argv[1];
o=open(fileName1);
I=o.readlines();
I=map(string.strip,I);
I=''.join(I);
for i in range(0,len(I),3):
print I[i:i+3], i+1;
我得到了这个输出:
ATG 1
AAG 4
CTA 7
GGC 10
ATA 13
TTC 16
第一列是正确的,但第二列不是我想要的。
答案 0 :(得分:1)
您可以告诉读取指令一次获得三个字符:
i=1
while True :
v = o.read(3)
print v, " ", i, i+1, i+2
i+=3
if len(v) < 3:
break
答案 1 :(得分:0)
而不是
print I[i:i+3], i+1;
待办事项
print I[i:i+3], i+1, i+2, i+3;