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)
Code: Select all
>name_of_seqence\n
ACGATCATCGTAGCTGCATGACTGCA\n
GATCGATCTGATCGATGCAGTCAGTA\n
>name_of_seqence\n
GCACGCGACCACGATCATTGACTGCA\n
CAAAAGATCTGATCGATGCAGTCAGT\n
CAGTCGATGCTAGTCGATGCTCGATA\n
etc.
Mobile version