我目前有一个300,000多个FASTQ标识符代码列表,用于解析文件。
我的文件结构目前设置如下:
@ [FASTQ标识符] [随机文本]
[DNA序列]
+
[DNA序列质量评分]
在整个文件中重复这4行结构。我当前脚本的设置方式是从FASTQ文件中提取FASTQ标识符,看它是否存在于FASTQ标识符列表中。如果是,则将其写入输出文件。但是,解析这些文件所需的时间非常慢(特别是如果列表包含1E6 +标识符或FASTQ文件特别大)。有没有办法让我的脚本更快地处理FASTQ文件?
这是我解析代码的部分:
with open (input_r1_file,'r') as input_file:
while True:
title = input_file.readline()
sequence = input_file.readline()
extra = input_file.readline()
quality = input_file.readline()
input_identifier = title.split(' ')[0][1:]
if input_identifier in alpha_identifier_list:
output_file_r1a.write(title)
output_file_r1a.write(sequence)
output_file_r1a.write(extra)
output_file_r1a.write(quality)
alpha_identifier.remove(input_identifier)
else:
pass
if len(title) == 0:
break