我有這個巨大的(61GB)FASTQ文件,我想創建一個隨機子集,但是我無法加載到內存中。 FASTQ的問題是每四行都屬於一起,否則我只會創建一個隨機整數列表,並只將這些整數的行寫入我的子集文件。轉到一個特定的行,並閱讀Python中的接下來的幾個
到目前爲止,我有這樣的:
import random
num = []
while len(num) < 50000000:
ran = random.randint(0,27000000)
if (ran%4 == 0) and (ran not in num):
num.append(ran)
num = sorted(num)
fastq = open("all.fastq", "r", 4)
subset = open("sub.fastq", "w")
for i,line in enumerate(fastq):
for ran in num:
if ran == i:
subset.append(line)
我不知道如何纔去到下一個隨機整數達到文件中下三行。有人能幫我嗎?
你可以用'random.sample'替換代碼的前半部分。 – katrielalex