DDH(DNA-DNA hybridization)DNA分子杂交-曾经作为基因组水平上的原核物种界定的黄金标准已经被使用了将近50年。它作为唯一的提供数字化和相对稳定物种界定的分类学方法,它对现在的分类方法有着重要的影响地位。但是,现在的基因组学时代,DDH显得有点过时了。两个基因组间ANI(average nucleotide identity)由于最能反映DDH,是一种不错的分类的方法。
物种的概念大概由2,400年前的 Aristotle(亚里士多德)提出来的,自此之后,各个学科的分类学家就想对自然界中的生物学单位进行分类。最早对原核生物的分类是基于表型的相似性,但在1960年后,一些基于基因组的方法被采用来衡量基因组的相关性。在这些方法中,DDH技术用于反应基因组的相似性被广泛接受。DDH值为70%以上的时候就能反映出基因组类型的一致性,不同方法的比较发现,70%不能作为分类的唯一指标,有的60%-70%就已经有很好的分类效果了。
尽管DDH已经被认为原核生物分类的黄金标准,但是由于它操作的复杂性和耗时性,往往被一些生物学家所诟病。同时,由于DDH的结果不能用于累积的数据库,这在生物信息学时代也是一个硬伤。所以,科学家们提出了要有一种方法来取代DDH,这种方法要能够跟DDH有相似的效果,同时也要能够建立一个数据库利于其他一些结果跟他的比较。
16srRNA基因作为一个标记基因用于物种的分类起到了很好的作用,但这个保守基因的方法在对如此大的分类学上的规模还是显得有点乏力。同时,基于housekeeping 基因的分类也在取代DDH起到了一定的效果,但是这个方法的硬伤在于基因选择性和扩增引物的普适性。ANI,基于俩俩基因组的所有直系同源蛋白编码基因的比较的一个平均值,得到的值的94%相当于DDH的值的70%。
ANI和percentage of covnserved DNA的算法:
平均核苷酸相似度(Average Nucleotide Identity,ANI)是在核苷酸水平比较两个基因组亲缘关系的指标, ANI被定义为两个微生物基因组同源片段之间平均的碱基相似度,他的特点是在近缘物种之间有较高的区分度。JSpecies是一个计算俩俩基因组间的ANI和四核苷酸多态性的工具。
选择1020nt是因为在DDH中以1000bp为一个单位进行杂交
covnserved DNA:那些比对的结果阈值达到90%的核苷酸相似度被保留,除了那些可以比对的拓展区域。比对上的序列的长度之和除以query序列的总长度,就算是query序列中有少比例的序列在refrence 序列中保守。
从上可以看出,ANI>95%可以明显的分出物种的“种”级别;而AAI在60%是“属”的分界线,90%为“种“的分界线。
A->B的ANI和B->A的ANI不一定是一致的,之间的差异甚至显著高于1%。为了解决这一问题,学者提出了OrthoANI。
分析流程分为以下三步,
然后,从中选择长度长于35%(1020bp35%)的比对。该比对中两片段(A’和B’)的平均核苷酸一致性:[A’<->B’=(A’->B’核苷酸一致性+B’->A’核苷酸一致性)/2]
基因组范围的核苷酸一致性 = 所有orthologous片段一致性的平均值。
两者的相关性非常高,R^2=0.9998
OrthoANI略高于ANI(大约0.1%)
species相关阈值均为:95%~96%
OrthoANI运行速度要高于ANI,可能更适合大规模比较分析
两者均不太适用远缘物种
FastANI(https://github.com/ParBLiSS/FastANI)是一个快速计算全基因组ANI的工具,其支持一对一、一对多、多对多基因组之间的两两比较。其将查询序列分割为短序列片段,使用基于MinHash的序列映射引擎Mashmap来计算同源映射并估计一致性。由于它使用了非比对的方法,因此计算速度大幅提升,但准确性与基于blast的方法相差不大。
在最近Nature communications的一篇[研究][Jain C, Rodriguez-R L M, Phillippy A M, et al.High throughput ANI analysis of 90K prokaryotic genomes reveals clear speciesboundaries[J]中,作者使用fastANI对9万个基因组进行分析,发现大多数谱系种内与种间存在一个明显的ANI分界线,相同物种的基因组ANI大于95%,不同物种的基因组ANI小于95%,因此常以==95%==的ANI作为物种划分与物种聚类的标准。
安装:使用python3.6 conda 环境
conda install fastANI
fastANI --help
使用方法如下所示:
fastANI -q genome1.fa -r genome2.fa -o output.txt # 单个基因组之间相互比对
fastANI -q genome1.fa --rl genome_list.txt -o output.txt# 多个基因组之间相互比对
参数:
由于细菌基因组大部分基因长度均为1000bp左右,因此通常设置片段长度为1000,对于病毒等小基因组,可以设置较小的片段长度。
结果
cat out.txt
genome/genome_A.fasta genome/genome_B2.fasta 96 986 4035
其ANI为96,4035为参考基因组的所有序列片段,986为查询基因组中比对上的同源片段(即查询基因组中有986条序列与参考基因组同源匹配),片段数过少的ANI值是没有意义的,可以去掉。
plot mapping
FastANI中能够可视化基因组之间序列相互比对信息的插件。
方法:https://github.com/ParBLiSS/FastANI
R脚本:https://github.com/ParBLiSS/FastANI/tree/master/scripts
使用方法如下:
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
资料来源:
https://qinqianshan.com/bioinformatics/bin/ani/
https://www.jianshu.com/p/9a8bdf141c27
https://zhuanlan.zhihu.com/p/126294648