0
我構建了一些代碼,用於從fastq文件中檢索PHRED得分,將它們全部放入單個列表中,然後將列表傳遞給另一個函數。它看起來像這樣:Biopython - 一次讀取固定數量的seq_records
def PHRED_get():
temp_scores = []
all_scores = []
fastq_location
print("Building PHRED score bins...")
for seq_record in SeqIO.parse(fastq_location, "fastq"):
temp_scores = seq_record.letter_annotations
temp_scores = temp_scores['phred_quality']
all_scores.append(temp_scores)
all_scores = list(itertools.chain(*all_scores))
score_bin_maker(all_scores)
的問題是,這個循環將繼續下去,直到所有seq_records已被搜索和相應的分數PHRED檢索。爲了更加保守內存,我希望有一些代碼能夠一次讀取較少數量的seq_records(比如100),然後將他們各自的質量分數彈出到我正在進行的uberlist中。然後它會從下一個100個seq_records獲取信息並再次執行循環。我無法理解如何完成這項工作。有任何想法嗎?