美文网首页基因组mummer学习R
MUMMER 两个基因组间比较

MUMMER 两个基因组间比较

作者: 生信要进步 | 来源:发表于2018-04-13 11:15 被阅读3006次

    最近在看泛基因组学,学习了下MUMMER软件(http://mummer.sourceforge.net/manual/):适用于两个全基因组(基因草图or完整基因组)的快速比对。

    那么其比对就分为以下几种情况:1)完整基因组→完成基因组;2)草图→完成基因组;3)草图→草图。

    而常见的就是第二种,Mapping a draft sequence to a finished sequence。常用于在草图的结尾工作中将其比对到完整基因组参考序列上,帮助确定每条contig的位置和方向。同时,通过检查这些保守区域,可以提高草图注释结果的准确性。

    软件安装

    安装简单,MUMmer已有第四版,但是还在测试中,一般使用3.23。

    wget https://jaist.dl.sourceforge.net/project/mummer/mummer/3.23/MUMmer3.23.tar.gz
    tar -vcxf MUMmer3.23.tar.gz
    cd  MUMmer3.23
    make check
    make install
    #再添加值环境变量即可
    
    软件原理

    具体原理可见作者hoptop的文章[应该是最新最详细的MUMmer中文使用说明]: https://www.jianshu.com/p/2e184e5c15b7


    核心是基于Maximal exact matching算法开发的mummer

    其流程分为三步:

    1. mummer在两个输入中找给定长度的极大唯一匹配( Maximal exact matching )
    2. 然后将这些匹配区域聚类成较大不完全联配区域, 作为锚定点(anchor)
    3. 最后它从每个匹配外部扩展联配, 形成有gap的联配。

    mummer: 基于后缀树(suffix tree)数据结构,能够在两条序列中有效定位极大唯一匹配(maximal unique matches),因此它比较适用于产生一组准确匹配(exact matches)以点图形式展示,或者用来锚定从而产生逐对联配(pair-wise alignments)。

    聚类:能够比较智能地把几个独立地匹配按照顺序聚成一块。分为两种模式gapsmgaps。这两者差别在于是否允许重排,分别用于run-mummer1,run-mummer3

    以上两个是主要的工具,还有4个工作流程:

    1. nucmer: 由Perl写的流程,用于联配很相近(closely related)核酸序列。它比较适合定位和展示高度保守的DNA序列。注意,为了提高nucmer的精确性,最好把输入序列先做遮盖(mask)避免不感兴趣的序列的联配,或者修改单一性限制降低重复导致的联配数。
    2. promer:也是Perl写的流程,它以翻译后的氨基酸序列进行联配,工作原理同nucmer.
    3. run-mummer1,run-mummer3: 两者是基于cshell写的流程,用于两个序列的常规联配,和promer,nucmer类似,只不过能够自动识别序列类型。它们擅长联配相似度高的DNA序列,找到它们的不同,也就是适合找SNP或者纠错。前者用于1v1无重排,后者1v多有重排
    软件使用

    下面介绍的是基因组草图比对上完整基因组的情况。

    1. 比对

    ref.fasta :完成图序列;

    qry.fasta:接近完成图的contig序列。

    nucmer --prefix=ref_qry ref.fasta qry.fasta #比对
    
    delta-filter -q ref_qry.delta > ref_qry.filter #过滤,除去不太适合的部分,但结果不适合读
    
    show-coords -rcl ref_qry.delta > ref_qry.coords #将结果转换为以人类可读的格式显示匹配的坐标
    
    show-aligns ref_qry.delta refname qryname > ref_qry.aligns #查看某一个匹配的序列的比对情况
    
    show-tiling ref_qry.delta > ref_qry.tiling #将contig回帖到ref上
    
    1. SNP检测

    将几个MUMMER组件联合起来还能用于snp的检测。

    nucmer --prefix=ref_qry ref.fasta qry.fasta
    
    show-snps -Clr ref_qry.delta > ref_qry.snps #-C指输出唯一匹配的snp -l 输出结果中包括序列的长度 -r 按照 ref的ID和snp位置信息进行排序
    

    每次学习软件上手都比较简单,但是想要深入原理的话,就比较困难了。

    继续学习~~~~


    参考:
    [MUMmer官网]: http://mummer.sourceforge.net/manual/
    [ 应该是最新最详细的MUMmer中文使用说明 ] : https://www.jianshu.com/p/2e184e5c15b7

    相关文章

      网友评论

        本文标题:MUMMER 两个基因组间比较

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