卖萌哥
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 的数据量就足够生成一个合格的基因组了。
所有以上的这些参数,只有
数据类型(--pacbio-hifi) 输入文件 和 输出文件夹(--out-dir, 即-o) 这三个是必须的,其他的参数都可留空。
私货时间
-
flye 还有个参数叫 --keep-haplotypes
是可以将单倍体保留下来而不进行塌缩(collapse
)的参数,如果你想要组装一个单倍体级别(haplotype aware
)的基因组的话,那这个参数的设置是很有必要的。 -
不同类型数据的混装是不被允许的。比如一个 pacbio 平台的数据和一个 ONT 平台的,不能同时输入给 flye。 -
Flye 还提供了一个自己的 polisher 工具,可以指定一个路径,flye 会使用这个路径里的测序文件(也可以是 bam 文件)去进行组装后的 polish。
作者介绍