我正在处理一个大的 BLAST 文件和一个大的 FASTA 文件,我需要为一个 BLAST 块加载几行 FASTA(假设它是一行)。
我希望在 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 序列的每一行的每个序列。