def match_both_pairs_filter(self):
self.logger.warning("Extracting read names from FASTQ file where both reads must match")
regex = re.compile(r'/[12]$')
base_read_names = {}
with open(self.fastq_file, "r") as fastq_file_input:
for record in SeqIO.parse(fastq_file_input, "fastq"):
base_read_name = regex.sub('', record.id)
if base_read_name in base_read_names:
base_read_names[base_read_name] = record.id
else:
base_read_names[base_read_name] = 1
with open(self.output_readnames_file, "w") as readnames_output:
for base_name, read_name in base_read_names.items():
if read_name== 1:
continue
readnames_output.write(read_name + '\n')
评论列表
文章目录