деление последовательности в файле на 3 с и нумерация их - PullRequest
0 голосов
/ 09 июня 2011

У меня есть файл, содержащий последовательность: ATGAAGCTAGGCATATTC. Я хочу простой код 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

Первый столбец правильный, но второй столбец не тот, который я хочу.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Вы можете сказать инструкции чтения, чтобы получить три символа одновременно:

i=1
while True :
    v = o.read(3)
    print v, " ", i, i+1, i+2
    i+=3
    if len(v) < 3:
        break
0 голосов
/ 02 сентября 2011

Вместо

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

До

print I[i:i+3], i+1, i+2, i+3; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...