Flye — 长读段从头组装工具¶
一句话说明¶
Flye 是专为 ONT 和 PacBio 长读段设计的从头组装工具,能直接从含错误的原始长读段组装出连续性很高的基因组,支持细菌到中等大小基因组(几百 Mb),也支持宏基因组模式。
安装与配置¶
# 方法1:conda 安装(推荐)
conda install -c bioconda flye # 从 bioconda 安装
# 方法2:pip 安装
pip install flye # 从 PyPI 安装
# 验证安装
flye --version # 当前最新 2.9.5(2024年)
内存需求¶
- 细菌基因组(~5Mb):约 2-4GB
- 中等基因组(~200Mb):约 32-64GB
- 速度快,细菌基因组通常 10-30 分钟完成
核心用法¶
基本组装¶
# ONT 原始读段组装
flye \
--nano-raw ont_reads.fq.gz \ # ONT 原始读段(含较高错误率)
--out-dir flye_output \ # 输出目录
--threads 16 \ # 16 线程
--genome-size 5m # 预估基因组大小(细菌约 5Mb)
# ONT 高质量读段组装(Q20+ / SUP basecalling)
flye \
--nano-hq ont_hq.fq.gz \ # ONT 高质量读段
--out-dir flye_hq_output \
--threads 16 \
--genome-size 5m
# PacBio HiFi 读段组装
flye \
--pacbio-hifi hifi.fq.gz \ # PacBio HiFi 读段
--out-dir flye_hifi_output \
--threads 16 \
--genome-size 5m
# PacBio CLR 读段组装
flye \
--pacbio-raw clr.fq.gz \ # PacBio CLR 原始读段
--out-dir flye_clr_output \
--threads 16 \
--genome-size 5m
进阶用法¶
# 宏基因组模式(处理不均匀覆盖度)
flye \
--nano-raw metagenome_reads.fq.gz \
--out-dir meta_output \
--threads 32 \
--meta # 宏基因组模式(不需要指定 genome-size)
# 增加 polishing 轮次(提高准确度)
flye \
--nano-raw reads.fq.gz \
--out-dir polished_output \
--threads 16 \
--genome-size 5m \
--iterations 3 # polishing 迭代 3 次(默认 1 次)
# 从检查点恢复
flye \
--nano-raw reads.fq.gz \
--out-dir flye_output \
--threads 16 \
--genome-size 5m \
--resume # 从上次中断处恢复
# 组装后用短读段 polishing(提高准确度)
# 先用 Flye 组装
flye --nano-raw reads.fq.gz --out-dir flye_out --threads 16 --genome-size 5m
# 再用 Medaka(ONT polishing)
medaka_polish -i ont_reads.fq.gz -d flye_out/assembly.fasta -o medaka_out -t 16
# 可选:再用 Pilon + Illumina 短读段进一步 polish
输出文件¶
ls flye_output/
# assembly.fasta — 最终组装序列(主要结果)
# assembly_graph.gfa — 组装图(Bandage 可视化)
# assembly_info.txt — 每条 contig 的长度、覆盖度、是否环形
# flye.log — 运行日志
常见问题与踩坑¶
问题1:--nano-raw vs --nano-hq 怎么选¶
说明:--nano-raw 用于传统 ONT 读段(错误率 ~5-15%);--nano-hq 用于 SUP basecalling 或 Q20+ 读段(错误率 <5%)
建议:Guppy SUP / Dorado SUP 模型产出的用 --nano-hq
问题2:基因组大小不知道怎么填¶
解决:用 k 表示千,m 表示百万,g 表示十亿。不确定可以估大一点,影响不大。宏基因组模式(--meta)不需要填
问题3:组装结果中 contig 标记为 circular¶
说明:assembly_info.txt 中 circular 列标为 Y 表示该 contig 可能是环形(如细菌染色体、质粒)
注意:需人工验证,有时是组装伪影
问题4:覆盖度不够导致组装碎片化¶
建议:细菌至少 30x 覆盖度,推荐 50x 以上;宏基因组中低丰度物种可能组装不好
速查卡片¶
| 命令/参数 | 用途 |
|---|---|
--nano-raw | ONT 原始读段 |
--nano-hq | ONT 高质量读段 |
--pacbio-raw | PacBio CLR 读段 |
--pacbio-hifi | PacBio HiFi 读段 |
--meta | 宏基因组模式 |
--genome-size 5m | 预估基因组大小 |
--iterations 3 | polishing 迭代次数 |
--resume | 从断点恢复 |
--min-overlap 3000 | 最小重叠长度 |
assembly.fasta | 最终组装结果 |