• 使用DBG2OLC对二、三代数据进行基因组混装


    使用DBG2OLC软件利用二代和三代数据混合的基因组组装:

    使用DBG2OLC找Contigs序列和Pacbio reads的Overlap并进行Layout

    DBG2OLC通过比较contigs和Pacbio reads之间的overlap,将contigs序列定位到Pacbio reads上,将DBG的contigs结果运用到OLC算法中。

    主要参数:
    LD 
      是否载入compressed reads information。第一次运行DBG2OLC命令的时候,该参数的值必须是0;若为了得到更好的结果,则需要调整其它参数;调整这些参数的时候,设置该参数为1来跳过这个步骤,从而节约很多时间。
    k 
      设置k-mer大小。k-mer用来比较contig和pacbio read之间的重叠,而不是用于基因组组装,推荐设置为 17 即可。
    
    KmerCovTh 
      若contig和pacbio read之间匹配k-mers的覆盖度 < KmerCovTh,则认为contig和pacbio read没有重叠。推荐设置为2-10。
    MinOverlap 
    两条Pacbio read之间匹配的k-mers数目 < MinOverlap,则认为它们之间没有重叠。推荐设置为10-150。

    AdaptiveTh 
      若contig和pacbio read之间匹配的k-mers数目 < AdaptiveTh * contig长度,则认为contig和pacbio read没有重叠。推荐设置为0.001-0.02。

    RemoveChimera 去除嵌合体Pacbio reads。若Pacbio数据覆盖度大于10x,推荐设置该参数为 1 。

    运行DBG2OLC的注意事项:

    1. 对50x-100x PacBio数据:KmerCovTh 2-10, MinOverlap 50-150, AdaptiveTh 0.01-0.02
    2. 不推荐对Pacbio数据修正后再运行DBG2OLC。可以比较使用修正前的数据用于DBG2OLC的结果,一般情况下使用未修正的Pacbio数据能获得更好的结果。


    DBG2OLC的结果文件很多,其主要结果文件是backbone_raw.fasta和DBG2OLC_Consensus_info.txt,是第三步的输入文件。

    
    
    参考来源:
    http://www.chenlianfu.com/?p=2436


    基因组组装一般分为三个层次,contig, scaffold和chromosomes.
    contig表示从大规模测序得到的短读(reads)中找到的一致性序列。
    组装的第一步就是从短片段(pair-end)文库中组装出contig
    进一步基于不同长度的大片段(mate-pair)文库,将原本孤立的contig按序前后连接,其中会调整contig方向以及contig可能会存在开口(gap,用N表示),这一步会得到scaffolds,就相当于supercontigs和meatacontigs。
    最后基于遗传图谱或光学图谱将scaffold合并调整,形成染色体级别的组装(chromosome).

    来源:https://zhuanlan.zhihu.com/p/38317398

    推论: 这里DBG2OLC通过比较contigs和Pacbio reads之间的overlap,将contigs序列定位到Pacbio reads上,就是一种基于不同长度的大片段,调整contig的方向和可能存在的开口,进一步得到scaffolds.


    基因组组装:基于读序之间的重叠序列(overlapped sequence)进行拼接的OLC(Overlap-Layout-Consensus)拼接方法

    基于德布鲁因图(de bruijn graph)的方法,这两种方法或多或少基于图论。

    OLC适用于一代测序产生长片段序列,可以称之为字符串图(string graph),
    de bruijn图是目前二代测序组装基因组的工具的核心基础.

    de bruijn图由两部分组成,节点(Nodes)和边(Edges),节点由k-mers组成,节点之间要想形成边就需要是两个k-mers存在K-1个完全匹配


    目前二代数据比较常用的工具有Velvet, ABySS, AllPaths/AllPaths-LG, Discovar, SOAPdenovo, Minia, spades,


    • ALLPaths-LG是公认比较优秀的组装工具,但消耗内存大,并且要提供至少两个不同大小文库的数据
    • SPAdes是小基因组(<100Mb)组装时的首选
    • SOAPdenovo是目前使用率最高的工具(华大组装了大量的动植物基因组),效率也挺好,就是错误率也高
    • Minia是内存资源最省的工具,组装人类基因组contig居然只要5.7G的RAM,运行23小时,简直难以相信。

    当然工具之间的差别并没有想象的那么大,也没有想象中那么小,可能在物种A表现一般的工具可能在物种B里就非常好用,因此要多用几个工具,选择其中最好的结果。

    不知道应该选择什么样的K,如果你的计算资源无限,那么穷举法最简单粗暴。如果穷举法不行,那么建议先用k=21, 55,77 组装一下contig, 对不同参数的contig N50有一个大致的了解,然后继续调整。

    理想条件下,我们希望一个物种有多少染色体,结果最好就只有多少个contig。

    contig的数量和大小和不同工具如何处理复杂节点有关。我们希望得到的contig文件中,每个contig都能足够的长,能够有一个完整的基因结构,归纳一下就是3C原则:

      • 连续性(Contiguity): 得到的contig要足够的长
      • 正确性(Correctness): 组装的contig错误率要低
      • 完整性(Completeness):尽可能包含整个原始序列

    但是这三条原则其实是相互矛盾的,连续性越高,就意味着要处理更多的模糊节点,会导致整体错误率上升,为了保证完全的正确,那么就会导致contig非常的零碎。

    N50的定义可以表述为"使得累加后长度超过组装总长度一半的contig的长度就是N50

    QUAST使用质量标准(quality metrics)来评估不同组装工具和不同参数的组装效果,无论是否有基因组都可以使用。可以以无参模式比较两种组装的运行结果

    # without reference
    quast.py -o compare idba_ud/contig.fa minia/minia.contigs.fa spades/contigs.fasta
    # with reference
    quast.py -R ../genome/Saureus.fna -o compare idba_ud/contig.fa minia/minia.contigs.fa spad


    来源:https://zhuanlan.zhihu.com/p/38317398
  • 相关阅读:
    (Redis基础教程之十) 如何在Redis中运行事务
    (Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例
    (Redis基础教程之六)如何使用Redis中的List
    (Redis基础教程之九) 如何在Redis中使用Sorted Sets
    (Python基础教程之十九)Python优先级队列示例
    (Python基础教程之十八)Python字典交集–比较两个字典
    (Python基础教程之十七)Python OrderedDict –有序字典
    Heap_Sort
    Quick_Sort
    Merge_Sort
  • 原文地址:https://www.cnblogs.com/bio-mary/p/11475061.html
Copyright © 2020-2023  润新知