2017-08-30 8 views
0

大きなfastaファイルを分割するためのbiopythonコードを適用しようとしています。上記のコードは1です:私のために 、バッチ列挙中(batch_iterator(record_iter、93))::エラー '無効な構文'を与える​​biopythonスクリプト

def batch_iterator(): 
    entry=True # to make sure the loop run once 
    while entry: 
     batch=[] 
     while len(batch) < batch_size: 
      try: 
       entry=iterator.next() 
      except StopIteration: 
       entry=None 
      if entry is None: 
       #end of file 
       break 
      batch.append(entry) 
     if batch: 
      yield batch 
record_iter=SeqIO.parse(open('/home/to/file/sorted_sequence.fa', 'fasta') 
for i, batch in enumerate (batch_iterator(record_iter, 93)): 
    filename='gene_%i.fasta' % (i + 1) 
    with open('/home/path/files/', filename, 'w') as ouput_handle: 
     count=SeqIO.write(batch, ouput_handle, 'fasta') 
    print ('Wrote %i records to %s' % (count, filename)) 
この行で

無効な構文:は私 にSyntaxErrorを与えています。しかし、私はエラーを見ることができない、誰も私がそれを見つけるのを助けることができますか? 私はこのコードを取ったhttp://biopython.org/wiki/Split_large_file ありがとう。

答えて

2

あなたは、この行に括弧が欠落している

record_iter = SeqIO.parse(open('/home/to/file/sorted_sequence.fa', 'fasta') 

試してみるこの

record_iter = SeqIO.parse(open('/home/to/file/sorted_sequence.fa'), 'fasta') 
+1

Yeapのようなものを追加して、私は不足しているかっこがあったが、適切な場所にあるファイル名の後に: 'record_iter = SeqIO .parse(open( 'home/to/file/sorted_sequences.fa')、 'fasta') ' – Ana

関連する問題