0

大きな FASTA ファイルと一緒に大きな BLAST ファイルを処理していますが、BLAST の 1 ブロック (1 行としましょう) に対して複数行の FASTA をロードする必要があります。

BLAST の 2 番目のループ (行) では、最後に処理された 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 シーケンスのすべての行に各シーケンスが必要です。

4

2 に答える 2