把文件中的序列分成3个并编号

2024-09-28 05:22:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含序列的文件:atgaagctagcattc。我想要一个简单的python代码 将此序列分成3个:ATG AAG GCT。。。。然后把它们的指数也分成3: 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

第一列是正确的,但第二列不是我想要的。你知道吗


Tags: 文件代码importstringsys序列atgttc
2条回答

而不是

print I[i:i+3], i+1; 

print I[i:i+3], i+1, i+2, i+3; 

您可以告诉read指令一次获取三个字符:

i=1
while True :
    v = o.read(3)
    print v, " ", i, i+1, i+2
    i+=3
    if len(v) < 3:
        break

相关问题 更多 >

    热门问题