卖萌哥

V1

2022/10/14阅读:107主题:橙心

用Flye组装基因组

背景介绍

之前找文章的时候看到 20 年发表在 nature 上的人类的 X 染色体的 T2T 基因组使用了这个软件(https://www.nature.com/articles/s41586-020-2547-7)所以准备试一试。

Github 地址:https://github.com/fenderglass/Flye/blob/flye/docs/USAGE.md

软件安装

感谢万能的 conda,一键安装省去烦恼~

conda install flye

软件运行

使用起来也非常简单明了,写得好的软件的一大特点就是使用起来很简单,作者把该想的都给你想到了,把需要加的参数加一加就可以了。


flye \
--pacbio-hifi \
/path/to/pacbio/test1.hifi_reads.fastq.gz \
/path/to/pacbio/test2.hifi_reads.fastq.gz \
/path/to/pacbio/test3.hifi_reads.fastq.gz \
-g x.xg \
-o $(pwd) \
-t 24 \
--scaffold \
--asm-coverage 21

这里解释一下用到的参数:

--pacbio-hifi 是选定数据的类型,不同类型的数据记得选别选错了。flye 支持两大三代测序平台的六种测序数据类型(普通的 pacbio 的纠错/未纠错数据还有 pacbio HiFi 数据;Nanopore 的纠错/未纠错数据和高质量的 nano-hq 数据)

-g 是设置基因组的大小,这个依据自己的基因组的 survey 结果填写就好。另外,flye 是能识别 m 和 g 等单位的表示的,比如基因组 3 个 Gb 就可以写 3g,12Mb 的基因组就可以写 12m。

-o 就比较简单了,就是输出到哪儿。我上面写的是输出到当前目录。

-t 在绝大多数的软件中都代表的是 threads,也就是线程数。可以把线程理解成服务器里的搬货工人,一个活儿参与来干的越多,那速度也相对是越快的。当然速度和 thread 的数量不是线性的,有的时候甚至不是 thread 设置得越多速度就会越快。“欲速则不达”就是这个道理。设置一个差不多的大小就可以了,留点线程给你的师兄师弟师姐师妹们吧~

--scaffold 是允许基于图的 scaffolding。从 2.9 版本的 flye 开始就不默认开启这个参数了。不设置这个参数,输出的结果里是不带 N 的,就是纯粹的 contig 水平。

--asm-coverage 如果你的基因组比较大,可以通过设置--asm-coverage 和 genome-size 去减少内存的使用,一般而言 40x 的数据量就足够生成一个合格的基因组了。

所有以上的这些参数,只有

  1. 数据类型(--pacbio-hifi)
  2. 输入文件 和
  3. 输出文件夹(--out-dir, 即-o)

这三个是必须的,其他的参数都可留空。

私货时间

  1. flye 还有个参数叫--keep-haplotypes是可以将单倍体保留下来而不进行塌缩(collapse)的参数,如果你想要组装一个单倍体级别(haplotype aware)的基因组的话,那这个参数的设置是很有必要的。
  2. 不同类型数据的混装是不被允许的。比如一个 pacbio 平台的数据和一个 ONT 平台的,不能同时输入给 flye。
  3. Flye 还提供了一个自己的 polisher 工具,可以指定一个路径,flye 会使用这个路径里的测序文件(也可以是 bam 文件)去进行组装后的 polish。

分类:

工具介绍

标签:

开源软件

作者介绍

卖萌哥
V1