De novo RNA-Seq Assembly Using De Bruijn Graphs
 2017-06-12 09:42:47     59     0     0

在说基因组的拼接之前,可以考虑如下的一个问题:

假设有一摞报纸被炸成了碎片,如何利用这些碎片拼接成一份完整的信息了解那天发生的大事?

这个问题的难点在于:必定有一部分的信息因为爆炸而消失不见,也不能简单的把报纸粘起来,因为报纸不止一份,所以我们必须从大量包含了重复内容的碎片来重构一份完整的报纸。

传统的基因租测序流程大致如下:

取目标样本的一些组织(其中包含了数百万的细胞,具有相同的基因组) -> 将这些dna打断成一定长度的碎片(获得的片段成为read) -> 使用测序仪测得read的碱基序列

所以,在我们要进行后续的分析前,我们需要先要将这些 reads 拼接以还原我们需要的基因组信息。

与刚才的报纸问题相似,但是基因组拼接的增加了以下难点:

  • DNA是双链,所以对于一个给定的read 我们无法知道他是来于DNA的其中一链,还是来自于它的互补链
  • 测序仪测序错误
  • 获得的reads中可能没有覆盖到基因组的所有片段,所以无法重构该片段

这个问题看起来很复杂,显得无从入手,我们可以将其分解为一个个的小问题,并且将其抽象成一个可以明确表达的问题,逐个解决。

从k-mers重构字符串

我们假设测序获得的read长度相等,而且没有测序错误,也不用考虑重复问题,就简单的考虑如何将 k-mers (k为read长度,)拼接成一个原始的字符串

模拟k-mer的生成

输入:整数k,字符串                           

输出:k-mers(经过排序)                  

在了解了k-mer是什么后,我们反过来利用k-mers来还原一个字符串

很明显这个字符串应该以TAA开头,因为没有3-mers以TA结尾

以AA开头的3-mers只有AAT

而以AT开头的 3-mers只有ATG

重复以上过程,我们还原了原始的字符串

下面考虑一个更复杂的例子

我们还是从TAA开始

到此为止一切顺利,但是以ATG后面以TG开头的 3-mers 共有3个 TGC, TGG, TGT

换成TGC后似乎已经还原了原始字符串,但是到此为止只使用了14个 3-mers,忽略了GGG,使得这个字符串比原始字符串少了一个字符G

上面的例子中ATG重复了3次,导致了我们有三个选择TGC,TGG,TGT来延续ATG。当有数百万个reads时,因为重复带来的计算困难将更为严重。

可以将基因组的拼接类比为Triazzle(Triazzle是一种拼图游戏,虽然只有16块拼图,但是并没有看起来那么容易)

回到刚才的问题

De novo RNA-Seq Assembly Using De Bruijn Graphs的更多相关文章

  1. (转)8 reviews about de novo genome assembly

    转自:http://dskernel.blogspot.com/2012/04/8-reviews-about-de-novo-genome-assembly.html 8 reviews about ...

  2. chromosome interaction mapping|cis- and trans-regulation|de novo|SRS|LRS|Haplotype blocks|linkage disequilibrium

    Dissecting evolution and disease using comparative vertebrate genomics-The sequencing revolution   s ...

  3. De novo 测序基础知识

    名词解释 De novo:拉丁文,从头开始的意思,de nove测序则是指在不需要任何参考序列的情况下对某一物种进行基因组测序,然后将测得的序列进行拼接.组装,从而绘制该物种的全基因组序列图谱. 重测 ...

  4. DISCOVAR de novo

    海宝建议用这个拼接软件 http://www.broadinstitute.org/software/discovar/blog/?page_id=98 DISCOVAR – variant call ...

  5. HHP|HPLC-MS/MS|PMT|PST|de novo|

    生物医学大数据 Protein 应用 人类蛋白质组计划 Gene的存在要依靠在蛋白水平确认基因真实存在. 蛋白质组是确定时间地点的研究单元的蛋白质总体,因为时间.地点和研究单元的相互组合存在多种变化, ...

  6. Uncovering thousands of new peptides with sequence-mask-search hybrid de novo peptide sequencing framework (使用序列掩码搜索结合肽段从头测序框架发现了数千个新肽段)-解读人:刘佳维

    期刊名:Molecular & Cellular Proteomics 发表时间:(2019年12月) IF:4.828 单位: 朱拉隆功大学 费城威斯塔研究所 物种:人 技术:de novo ...

  7. 全基因组测序 从头测序(de novo sequencing) 重测序(re-sequencing)

    全基因组测序 全基因组测序分为从头测序(de novo sequencing)和重测序(re-sequencing). 从头测序(de novo)不需要任何参考基因组信息即可对某个物种的基因组进行测序 ...

  8. MCP|ZWT|Precision de novo peptide sequencing using mirror proteases of Ac-LysargiNase and trypsin for large-scale proteomics(基于Ac-LysargiNase和胰蛋白酶的蛋白组镜像de novo测序)

    一.概述 由于难以获得100%的蛋白氨基酸序列覆盖率,蛋白组de novo测序成为了蛋白测序的难点,由Ac-LysargiNase(N端蛋白酶)和胰蛋白酶构成的镜像酶组合可以解决这个问题并具有稳定性, ...

  9. RNA seq 两种计算基因表达量方法

    两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...

随机推荐

  1. centos 下安装redis

    一.安装redis 第一步:下载redis安装包 redis下载地址 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 第二步:解压压 ...

  2. SAP 优缺点

    1.优点: SAP是全球所有ERP产品中对企业构架和财务控制考虑得最细致的系统,也是整体控制逻辑和整体系统结构是最严谨的系统,可以让企业引进先进的管理理念: 对产品在各种行业的适用性考虑得最多的系统, ...

  3. mongo副本集设置主库权重,永远为主

    mongo副本集设置主库权重,即使主库宕机了再重启也还是主库. cfg = rs.conf()     ------->(查看序列)cfg.members[0].priority = 1 (设置 ...

  4. 从源码安装Node

    [从源码安装Node] Nodejs官网未并提供i686架构的bin,为了在i686架构cpu下使用Nodejs,需要从源码编译. 1../configure 2.make 3.make instal ...

  5. 大数据入门到精通3-SPARK RDD filter 以及 filter 函数

    一.如何处理RDD的filter 1. 把第一行的行头去掉 scala> val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigat ...

  6. php判断文件夹是不是存在

    function MkFolder($path){   if(!is_readable($path)){     MkFolder( dirname($path) );     if(!is_file ...

  7. 最小生成树 prime算法 UVALive - 6437

    题目链接:https://vjudge.net/contest/241341#problem/D 这里有多个发电站,需要求出所有点都和发电站直接或间接相连的最小代价,那么就是求出最小生成树的问题了,有 ...

  8. ora-12899解决方法

    在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案 ...

  9. c++笔试题贪吃蛇问题

    贪吃蛇 现在有一个N*M(N,M=100)的方形矩形,在这个矩形的每一个方格上都放有一个随机值,一条可爱的小蛇从矩形的 左上角开始出发,每次移动都只能移动一格,向右或向下,而每到达一格贪吃的小蛇都会吧 ...

  10. android的四种线程池

    使用线程池的好处: 首先通过线程池中线程的重用,减少创建和销毁线程的性能开销.其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞.最后,线程池能够对线程进行管理,比如使用Sche ...