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. linux centos 访问根目录 not accessable

    chmod 777 root 即可 或  chmod a+x root https://blog.csdn.net/CSDN_GYG/article/details/73276310

  2. 初识Elasticsearch,bulk 操作的遇到的那些事

    bulk api可以在单个请求中一次执行多个文档的 create . index . update 或 delete 操作 批量操作的行为(action)必须是以下几种: 行为 解释 create 当 ...

  3. flex-direction

    [flex-direction] The flex-direction CSS property specifies how flex items are placed in the flex con ...

  4. redis做消息列队

    #encoding:utf8 import time import redis conn = redis.Redis('localhost',db=1) #连接诶数据库并使用数据库1 def inse ...

  5. day17 正则表达式 re模块和hashlib模块

    今日内容 1. re&正则表达式(*****) 注:不要将自定义文件命名为re import re re.findall(正则表达式,被匹配的字符串) 拿着正则表达式去字符串中找,返回一个列表 ...

  6. 【C++】预处理过程与语句总结

    转载请保留: http://www.cnscn.org(CNS电脑与英语学习网) Author: cnscn http://www.cnscn.org 1)预处理 根据已放置在文件中的预处理指令来修改 ...

  7. 两种创建Observable的方法(转)

    转自:http://blog.csdn.net/nicolelili1/article/details/52038211 Observable.create() create()方法使开发者有能力从头 ...

  8. java面试题:基础知识

    类和对象 Q:讲一下面向对象OOP思想. 面向对象主要是抽象,封装,继承,多态. 多态又分为重载和重写.重载主要是方法参数类型不一样,重写则是方法内容不一样. Q:抽象类和接口有什么区别? 抽象类中可 ...

  9. Mac上安装Git

    转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/53214933 Git安装 下载Git有两种方法 直接下载安装包,Git下载地址 用ho ...

  10. no module named cv2

    运行python脚本时报错: ImportError: No module named cv2 第一想法: 使用命令: pip install cv2 会报错找不到请求的版本 解决方法: 使用命令 p ...