【7.1】基因组相似性(ANI)计算--FastANI

平均核苷酸相似度(Average Nucleotide Identity,ANI)是在核苷酸水平比较两个基因组亲缘关系的指标。ANI被定义为两个微生物基因组同源片段之间平均的碱基相似度,他的特点是在近缘物种之间有较高的区分度。

FastANI( https://github.com/ParBLiSS/FastANI )是一个快速计算全基因组ANI的工具,其支持一对一、一对多、多对多基因组之间的两两比较。他将查询序列分割为短序列片段,使用基于MinHash的序列映射引擎Mashmap来计算同源映射并估计一致性。由于它使用了非比对的方法,因此计算速度大幅提升,但准确性与基于blast的方法相差不大。

在最近Nature communications的一篇研究中,作者使用fastANI对9万个基因组进行分析,发现大多数谱系种内与种间存在一个明显的ANI分界线,相同物种的基因组ANI大于95%,不同物种的基因组ANI小于95%,因此常以95%的ANI作为物种划分与物种聚类的标准[1]。

https://github.com/ParBLiSS/FastANI

一、安装

依赖的库:

- Autoconf ( http://www.gnu.org/software/autoconf/ )
- either...
   GNU Scientific Library ( http://www.gnu.org/software/gsl/ )
 or..
   Boost Library ( http://www.boost.org ) (see "-with-boost" below)
- Zlib ( included with OS X and most Linuxes, http://www.zlib.net ) *
- C++ compiler with C++11 and openmp support
   Note for macOS users: Use "libomp" to link openmp with Clang
   libomp is available through brew ( https://formulae.brew.sh/formula/libomp )

安装:

yum install libgs.x86_64

cd /home/sam/src
git clone https://github.com/ParBLiSS/FastANI.git

cd FastANI
./bootstrap.sh

 ./configure --prefix=/home/sam/software/FastANI
 make
 make install

安装路径: /home/sam/software/FastANI/bin/fastANI

二、使用

fastANI从GitHub下载软件包解压就可以使用,其使用方法如下所示:

fastANI -q genome1.fa -r genome2.fa -o output.txt

fastANI -q genome1.fa --rl genome_list.txt -o output.txt


-r, --ref:参考基因组核苷酸序列,可以试fasta/fastq及其gzip压缩文件

--rl, --refList:包含参考基因组列表的文件,从而允许多个参考基因组

-q, --query:查询基因组核苷酸序列,可以试fasta/fastq及其gzip压缩文件

--ql, --queryList:包含查询基因组列表的文件,从而允许多个查询基因组

-k, --kmer:比对的kmer大小,不能大于16,默认为16

-t, --threads:程序运行所使用的核数,默认为1

--fragLen:片段长度,默认为3000

--minFrag:最短匹配的片段,默认为50

--visualize:输出比对图像,只适用于一对一比对,默认关闭

--matrix:输出ANI值作为下三角矩阵,适用于多对多比对,默认关闭

-o, --output:输出文件名

由于细菌基因组大部分基因长度均为1000bp左右,因此通常设置片段长度为1000,对于病毒等小基因组,可以设置较小的片段长度。两个基因组一对一分析如下所示:

fastANI -q 951_armatimo.fasta -r 391_armatimo.fasta -o output1.txt --fragLen 1000

其ANI为74.7,2570为参考基因组的所有序列片段,981为查询基因组中比对上的同源片段,片段数过少的ANI值是没有意义的,可以去掉。

多个基因组互相比较如下所示:

fastANI --ql Armatimonadetes.txt --rl Armatimonadetes.txt -o output2.txt --fragLen 1000 -t 10 --matrix

三、讨论

参考资料

个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn

Sam avatar
About Sam
专注生物信息 专注转化医学