用途:使用 Biopython 的 Bio.SeqIO 模块在序列文件格式之间进行转换,例如把 GenBank 转为 FASTA、FASTQ 转为 FASTA 等。
主要能力:核心函数是 SeqIO.convert(),一次调用即可完成转换,并返回转换的记录数。需先导入:from Bio import SeqIO。
必要用法:直接转换写成 SeqIO.convert('input.gb', 'genbank', 'output.fasta', 'fasta')。若目标格式需要额外信息,则需先解析、修改记录再写出。例如 FASTA 转 GenBank 需为记录添加 molecule_type 注解;FASTA 转 FASTQ 需添加 phred_quality。批量转换可用 pathlib 遍历文件,对每个文件调用 SeqIO.convert()。比对格式转换用 Bio.AlignIO 的 AlignIO.convert()。
格式兼容性:GenBank 与 EMBL 通常可直接互转;任何格式转 FASTA 一般可行,但可能丢失数据,例如 GenBank 转 FASTA 会丢失注释与特征,FASTQ 转 FASTA 会丢失质量分数。
常见错误:FASTA 转 GenBank 缺少 molecule_type 会报 ValueError;FASTA 转 FASTQ 缺少质量分数会报 ValueError;FASTQ 变体不匹配可能出现 KeyError: 'phred_quality',可尝试 'fastq-sanger' 或 'fastq-illumina'。SAM/BAM/CRAM 转换不属于本技能,应使用 samtools view。
适用场景:需要更换序列文件格式,或在不同分析工具之间准备输入数据时。
限制:关键限制是信息丢失与目标格式的必填注解;安装方式、平台与费用等信息暂未提供。