用途:使用 Biopython 处理 Illumina 双端测序数据(R1/R2 文件),适用于配对读取的同步、过滤、交错/解交错与统计。
主要能力:
- 配对迭代:用 SeqIO.parse 分别解析 R1/R2,通过 zip 同步遍历,并可校验 ID 配对(去除 /1、/2 或 .1、.2 后缀比较)。
- 同步过滤:按平均质量(phred_quality)或长度过滤,要求两条读段同时通过;提供流式(生成器)版本以降低内存占用。
- 交错与解交错:将 R1/R2 合并为交错文件,或从交错文件拆分为 R1/R2;支持为 ID 添加 /1、/2 后缀,并提供流式解交错。
- 配对统计:统计读段数并检测数量不一致,输出 R1/R2 平均质量。
- 配对文件查找:依据 _R1/_R2、_1/_2、R1/R2、.R1./.R2. 等命名模式从 R1 自动推断 R2,并可扫描目录查找所有配对。
- 压缩文件:用 gzip.open 以文本模式读取 .fastq.gz 配对文件。
使用方式:需导入 from Bio import SeqIO;按需调用上述函数,例如 iterate_pairs、filter_pairs_by_quality、interleave_pairs、deinterleave、paired_stats、find_r2 等。
适用场景:双端测序数据的预处理、质量/长度过滤、格式转换与配对完整性检查。
限制:资料未提供安装命令、性能基准、支持的文件格式范围及错误处理之外的细节;配对数量不一致或 ID 不匹配时需重新下载或修复文件,大文件应使用流式方法避免内存错误。