Zeilenweise Verarbeitung von DateienPython

Python-Programme
Anonymous
 Zeilenweise Verarbeitung von Dateien

Post by Anonymous »

Ich verarbeite eine große BLAST-Datei zusammen mit einer großen FASTA-Datei und muss mehrere FASTA-Zeilen für einen BLAST-Block laden (sagen wir, es ist eine Zeile).

Ich würde erwarten, dass in der zweiten Schleife (Zeile) von BLAST mit der nächsten Zeile der zuletzt verarbeiteten FASTA-Zeile fortgefahren wird, aber es werden alle gleichen FASTA-Zeilen geladen.
Warum? Und wie kann ich die nächste Zeile laden? Ist es wirklich notwendig, eine Indizierung hinzuzufügen?

Code: Select all

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 hat das typische Format:

Code: Select all

>name_of_seqence\n
ACGATCATCGTAGCTGCATGACTGCA\n
GATCGATCTGATCGATGCAGTCAGTA\n
>name_of_seqence\n
GCACGCGACCACGATCATTGACTGCA\n
CAAAAGATCTGATCGATGCAGTCAGT\n
CAGTCGATGCTAGTCGATGCTCGATA\n
etc.
Ich benötige jede Sequenz für jede Zeile der nächsten BLAST-Sequenz.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post