跳转至

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.txtcircular 列标为 Y 表示该 contig 可能是环形(如细菌染色体、质粒)
注意:需人工验证,有时是组装伪影

问题4:覆盖度不够导致组装碎片化

建议:细菌至少 30x 覆盖度,推荐 50x 以上;宏基因组中低丰度物种可能组装不好


速查卡片

命令/参数用途
--nano-rawONT 原始读段
--nano-hqONT 高质量读段
--pacbio-rawPacBio CLR 读段
--pacbio-hifiPacBio HiFi 读段
--meta宏基因组模式
--genome-size 5m预估基因组大小
--iterations 3polishing 迭代次数
--resume从断点恢复
--min-overlap 3000最小重叠长度
assembly.fasta最终组装结果