ANI

作者: 扇子和杯子 | 来源:发表于2020-11-05 16:00 被阅读0次

    随着全基因组测序成本的不断下降,细菌分类相关方法也从DNA-DNA hybridization(DDH)这类实验性方法转移到基于基因组序列的相似性值(overall genome relatedness indices, ORGI)计算上。

    平均核苷酸一致性(average nucleotide identity, ANI)是一种与DDH相似的ORGI。

    1. ANI(Goris et al., 2007)

    如何通过ANI衡量两个菌株的相关性呢?
    假设现在有两个菌株A和B,对应基因组为genome A和genome B。


    鬼画符般的ANI流程

    A->B的ANI和B->A的ANI不一定是一致的,一般取两者的平均值作为A-B的最终ANI。

    相关软件JSpeciesPYANI

    2.OrthoANI(Lee et al., 2016)

    A->B的ANI和B->A的ANI不一定是一致的,之间的差异甚至显著高于1%。为了解决这一问题,学者提出了OrthoANI。其中,考虑了orthology。

    具体流程分为三步:
    1⃣️将两个基因组序列都切成长1020bp的连续性片段。短于1020bp的片段会被舍弃。
    2⃣️用BLASTn程序搜索这些片段的相似性片段。
    3⃣️只有互为最佳best hit的片段才能成为orthologous fragments。
    a. 从中选择长度长于35%(1020bp*35%)的比对。
    该比对中两片段(A'和B')的平均核苷酸一致性:A'<->B'=(A'->B'核苷酸一致性+B'->A'match核苷酸一致性)/2
    b. 基因组范围的核苷酸一致性 = 所有orthologous片段一致性的平均值。

    OrthoANI流程

    相关软件OrthoANIu tool

    3. ANI和OrthoANI的比较

    • 两者的相关性非常高,R^2=0.9998
    • OrthoANI略高于ANI(大约0.1%)
    • species相关阈值均为:95%~96%
    • OrthoANI运行速度要高于ANI,可能更适合大规模比较分析
    • 两者均不太适用远缘物种

    4. 相关信息

    • 1020bp的来源:DDH实验中,DNA片段约长1000bp,为了取一个近似,选择1020bp。那为什么不选1000bp呢?🤦‍♀️
    • BLASTn和MUMMER都可以计算ANI。当物种亲缘关系比较近时,ANIb和ANIm有很好的相关性,ANIm会更快。但当亲缘关系比较远时,ANIb具有更好的效果(Li et al., 2015)。

    相关软件介绍链接

    参考文献

    1. Goris, J., Konstantinidis, K.T., Klappenbach, J.A., Coenye, T., Vandamme, P., and Tiedje, J.M. (2007). DNA-DNA hybridization values and their relationship to whole-genome sequence similarities. Int J Syst Evol Micr 57, 81-91.
    2. Lee, I., Kim, Y.O., Park, S.C., and Chun, J. (2016). OrthoANI: An improved algorithm and software for calculating average nucleotide identity. Int J Syst Evol Micr 66, 1100-1103.
    3. Li, X., Huang, Y.J., and Whitman, W.B. (2015). The relationship of the whole genome sequence identity to DNA hybridization varies between genera of prokaryotes. Anton Leeuw Int J G 107, 241-249.

    5. pyani使用

    我下载的是0.2版本的,所以参看0.2版本教程

    # 1. 创建并进入一个新的conda环境
    conda create -n pyani python=3.8
    source activate pyani
    # 2. 安装pyani
    pip3 install pyani
    # 3. 使用
    average_nucleotide_identity.py -i test/ -o testout/ -m ANIm -g #  mummer,仅使用近缘物种
    average_nucleotide_identity.py -i test/ -o testout/ -m ANIb -g #  blast
    

    ANIm有时候会报错,还没找到原因。个人比较偏向使用ANIb。

    相关文章

      网友评论

        本文标题:ANI

        本文链接:https://www.haomeiwen.com/subject/kfoovktx.html