Flye是用于单分子组装数据的denovo基因组装的软件。这个软件可以用于各种数据集,从小的细菌到大的哺乳动物。
输入是原始的PacBio或者ONT的序列文件,输出是polished的contig。Flye同时也有针对微生物组装的模式。
1.conda安装
conda install flye
2.编译安装
#官网下载
wget https://github.com/fenderglass/Flye/archive/refs/heads/flye.zip
#解压文件
unzip flye.zip
#安装软件
cd Flye-flye
make
#将软件添加到环境变量(根据自己的安装路径进行添加)
vim ~/.bashrc
PATH=/opt/biosoft/GENOME/Flye-flye/bin/:$PATH
source ~/.bashrc
Flye常用选项参数:
--pacbio-raw:设置 pacbio 原始数据所在路径
--pacbio-corr:设置纠错后 pacbio 数据所在路径
--nano-raw:设置 nanopore 原始数据所在路径
--nano-corr:设置纠错后的 nanopore 数据所在路径genome-size:预估基因组大小,评估覆盖深度
--out-dir:输出结果文件路径
--threads:线程数
--min-overlap:最小 overlap 连接大小
使用的话,输入文件是FASTA或者FASTQ格式的,可以是gz压缩或者普通文本。对于raw的话,期望的错误率低于30%,校正之后序列的错误率低于3%,HiFi序列的低于1%。不过要记住,Flye最开始是基于raw reads开发的。
已经不需要提供基因组的大小,但是如果使用 --asm-coverage 则需要提供。
为了减少内存的消耗,可以使用最长的reads来进行初始化的disjointig的组装,使用--asm-coverage和--genome-size就可以了。一般而言,40x的深度已经足够了。
可以单独使用--polish-target进行结果打磨。
常用命令
#针对pacbio数据
flye --pacbio-raw E.coli_PacBio_40x.fasta --out-dir out_pacbio --threads 4
#针对ont数据
flye --nano-raw Loman_E.coli_MAP006-1_2D_50x.fasta --out-dir out_nano --threads 4
最小overlap长度
这个参数默认是reads N90,一般不需要设置。如果要设置,可以设置到3-5k。建议设置的越高越好,这样repeat graph就更少会纠缠,但是这样会产生更多的gap。
Metagenome mode
这个模式用于高度不均匀覆盖度的序列, 对于低至2x的覆盖度的区域也可以进行组装。在一些简单的metagenome中,使用普通的模式,会获得更多的长的序列,而用meta模式,序列会更加的片段化一些。对于复杂的metagenome,建议使用--meta模式。
Haplotype模式
默认的,Flye会合并graph中各种结构(bubbles、superbubbles、roundabout)等,来产生更长的一致性contig。使用--keep-haplotypes来保留更多的path,产生更细节的组装结果。
Trestle
Trestle是一个额外的模块,用于解析没有被read桥接的重复度是2的简单重复。根据数据集,它可能解析一些额外的重复,这对小的(细菌基因组)是有帮助的。使用--trestle选项来启用该模块。在大型基因组上,改善通常是最小的,但计算可能会花费大量时间。
覆盖度的降低
对于大基因组,当深度过高的时候,需要较高的RAM。因此可以使用--asm-coverage来选择特定的深度,一般而言使用30x比较合适。
打磨的迭代次数
程序的最后会进行polish。默认的只进行一次polish,进行多次polish会矫正更多的错误,如果设置为0,那么就不会进行polish。
00-assembly #构建基因组草图
10-consensus #基于基因组草图对数据进行纠错
20-repeat #对重复序列进行处理
30-contigger #构建contig
40-polishing #对结果进行校准
assembly.fasta #最终组装结果文件,用于下游分析
assembly_graph.gfa #最终的repeat graph,不过edge序列会和contig的序列不一样,因为contig可能会包含额外的多个边。
assembly_info.txt #contig的额外的信息
每个contig就是图里一个唯一的边,同时这个唯一的contig也会进行两边延伸,来解决repeat区域。
因此,具有相同id的contig,会比相应的edge要长。这个同OLC算法的软件相似。
有时候,也会将contig基于repeat graph结构拼接成scaffolds。这些结果会输出成以scaffold_为前缀的文件。
尽管很难估计可靠的gap大小,一般默认是100个Ns。并且assembly_info.txt文件也会输出这些scaffold是怎么构建的信息。
assembly_info.txt示例如下:
每列信息如下:
contig/scaffold id长度
覆盖度
是否是圈
是否是重复
重复度
Alternative group图的路径
用??来代表scaffold的gaps,用*代表一个终止node。
参考:https://www.jianshu.com/p/efbd1998db69
https://github.com/fenderglass/Flye/blob/flye/docs/USAGE.md
Kolmogorov, M., Yuan, J., Lin, Y. et al. Assembly of long, error-prone reads using repeat graphs. Nat Biotechnol 37, 540–546 (2019). https://doi.org/10.1038/s41587-019-0072-8
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!