用途:使用 Biopython 的 SeqIO 对目录中的多个序列文件进行批量操作,适用于文件数量多、需要合并、拆分、转换或统计的场景。
主要能力: 一、遍历与统计。用 Path.glob 遍历目录、rglob 递归查找,配合 SeqIO.parse 统计每个 FASTA 或 FASTQ 文件的记录数与 reads 数。 二、合并文件。通过生成器逐文件 yield 记录并写入合并文件,可在 record.description 中附加 [source=文件名] 以保留来源;也可传入指定文件列表合并。 三、拆分文件。用 itertools.islice 按每文件记录数分批输出;或按记录 ID 前缀(record.id.split('_')[0])分组写文件;也可每条序列单独写成一个文件。 四、批量格式转换。遍历目录后用 SeqIO.convert 在 GenBank 与 FASTA 等格式间转换,并可记录每个文件的转换记录数与总数。 五、并行处理。使用 multiprocessing.Pool 或 concurrent.futures.ThreadPoolExecutor 并行处理文件,也可返回每条序列长度之和。 六、汇总统计。跨文件累计序列数、总碱基数与平均长度,或用 csv.DictWriter 输出每文件 sequences、total_bp、min_len、max_len、avg_len 的报告。 七、文件归类。用 Bio.SeqUtils.gc_fraction 计算平均 GC 含量,并按阈值将文件写入不同目录。
必要用法:需导入 from pathlib import Path 与 from Bio import SeqIO;并行示例使用 from multiprocessing import Pool 或 from concurrent.futures import ThreadPoolExecutor;GC 分类需 from Bio.SeqUtils import gc_fraction。写入使用 SeqIO.write,转换使用 SeqIO.convert。
限制:资料未提供性能基准、支持的文件大小上限、错误处理要求或不同 Biopython 版本的差异;并行方式的实际效果暂未提供。相关技能包括 read-sequences、write-sequences、sequence-statistics、format-conversion、compressed-files、database-access。