Построчная обработка файловPython

Программы на Python
Ответить
Anonymous
 Построчная обработка файлов

Сообщение Anonymous »

Я обрабатываю большой файл BLAST вместе с большим файлом FASTA, и мне нужно загрузить несколько строк FASTA для одного блока BLAST (скажем, это одна строка).

Я ожидаю, что во втором цикле (строке) BLAST он продолжится на следующей строке от последней обработанной строки FASTA, но загружаются все те же строки FASTA.
Почему? И как мне загрузить следующую строку? Действительно ли необходимо добавлять индексацию?

Код: Выделить всё

with open(fastaname,'r') as fastafile:
with open(blastfilename,'r') as blastfile:
for line in blastfile:
while True:
fastaline = fastafile.readline()[:-1]
if fastaline[0]=='>':
break
fastaseq += fastaline
somefunction(line,fastaseq)
FASTA имеет типичный формат:

Код: Выделить всё

>name_of_seqence\n
ACGATCATCGTAGCTGCATGACTGCA\n
GATCGATCTGATCGATGCAGTCAGTA\n
>name_of_seqence\n
GCACGCGACCACGATCATTGACTGCA\n
CAAAAGATCTGATCGATGCAGTCAGT\n
CAGTCGATGCTAGTCGATGCTCGATA\n
etc.
Мне нужна каждая последовательность для каждой строки следующей последовательности BLAST.

Подробнее здесь: https://stackoverflow.com/questions/198 ... ne-by-line
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»