github看了业界大神li heng序列解析的脚本readfq,智商着急啊,没看懂,倒是新学了一个新功能,python生成器yield
。
readfq.py适用于fasta或者单端fastq文件,但是目前测序主要以双端数据为主,现学现卖,实现了一个paried-end数据解析器,代码如下:
1 | #!/usr/bin/env python |
通过while
循环遍历双端文件,四行为一个单元进行数据读取,每四行作为一个完整单元返回(yeild
),进行其他操作(# filter, stat, split
), 一个操作结束后迭代器(parse_pe_fastq
)继续解析测序数据,for循环中qua1作为一个numpy.ndarray
对象,可进行其他一些q20统计、过滤等操作。