FastANI专为全基因组平均核苷酸身份(ANI)的快速无比对计算而开发。ANI被定义为两个微生物基因组之间共享的直系同源基因对的平均核苷酸身份。FastANI支持完整基因组组装体和草图基因组组装体的成对比较。其基本过程遵循与 Goris 等人 2007 年描述的类似工作流程。但是,它避免了昂贵的序列比对,并使用Mashmap作为其基于MinHash的序列映射引擎来计算直系同源映射和比对身份估计。根据我们对完整和草稿基因组的实验,其准确性与基于BLAST的ANI求解器相当,并实现了两到三个数量级的加速。因此,它对于大量基因组对的成对ANI计算很有用。
我是用conda进行安装的
安装链接:https://anaconda.org/bioconda/fastani
conda install -c bioconda fastani
conda install -c "bioconda/label/cf201901" fastani
其中有报错:python的版本过高
解决办法:用conda创建一个python3.6 版本的环境
然后用conda进行安装
原网站写可以直接下载,然后解压直接使用
fastANI -h
帮助界面一目了然
分不同情况来使用:
1、单条序列与单条序列比对
终端输入:
fastANI -q genome1.fa -r genome2.fa -o output.txt
-q: query genome (fasta/fastq)[.gz]
-r: reference genome (fasta/fastq)[.gz]
-o: output file name
-q参数后面的是查询的序列,格式可为fasta或者fastq,压不压缩都可以。
-r参数后面的是参考的序列,格式可为fasta或者fastq,压不压缩都可以。
-o参数后的是对比结果的输出路径
输出的日志
$ ./fastANI -q data/Shigella_flexneri_2a_01.fna -r data/Escherichia_coli_str_K12_MG1655.fna -o fastani.out
>>>>>>>>>>>>>>>>>>
Reference = [data/Escherichia_coli_str_K12_MG1655.fna]
Query = [data/Shigella_flexneri_2a_01.fna]
Kmer size = 16
Fragment length = 3000
Threads = 1
ANI output file = fastani.out
>>>>>>>>>>>>>>>>>>
....
....
INFO, skch::main, Time spent post mapping : 0.00310319 sec
生成的文件
$ cat fastani.out
data/Shigella_flexneri_2a_01.fna data/Escherichia_coli_str_K12_MG1655.fna 97.7507 1303 1608
上述输出意味着弗氏链球菌和大肠杆菌基因组之间的ANI估计值为97.7507。在来自弗氏链球菌基因组的总共1608个序列片段中,有1303个被排列为直系同源匹配。
FastANI支持两个基因组之间计算的倒数映射的可视化。 如上所述,获取此可视化需要使用 FastANI 进行一对一比较,但应提供其他标志。 此标志强制 FastANI 输出一个映射文件(带扩展名),其中包含所有倒数映射的信息。 最后,存储库中提供了一个 R 脚本,该脚本使用 genoPlotR 包来绘制这些映射。 在这里,我们展示了使用两个基因组的示例运行:五日巴尔通体(GenBank:CP003784.1)和汉赛巴尔通体(NCBI参考序列:NC_005956.1)
$ ./fastANI -q B_quintana.fna -r B_henselae.fna --visualize -o fastani.out
$ Rscript scripts/visualize.R B_quintana.fna B_henselae.fna fastani.out.visual
得到图像