De novo RNA-Seq Assembly Using De Bruijn Graphs
在说基因组的拼接之前,可以考虑如下的一个问题:
假设有一摞报纸被炸成了碎片,如何利用这些碎片拼接成一份完整的信息了解那天发生的大事?
这个问题的难点在于:必定有一部分的信息因为爆炸而消失不见,也不能简单的把报纸粘起来,因为报纸不止一份,所以我们必须从大量包含了重复内容的碎片来重构一份完整的报纸。
传统的基因租测序流程大致如下:
取目标样本的一些组织(其中包含了数百万的细胞,具有相同的基因组) -> 将这些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的更多相关文章
- (转)8 reviews about de novo genome assembly
转自:http://dskernel.blogspot.com/2012/04/8-reviews-about-de-novo-genome-assembly.html 8 reviews about ...
- 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 ...
- De novo 测序基础知识
名词解释 De novo:拉丁文,从头开始的意思,de nove测序则是指在不需要任何参考序列的情况下对某一物种进行基因组测序,然后将测得的序列进行拼接.组装,从而绘制该物种的全基因组序列图谱. 重测 ...
- DISCOVAR de novo
海宝建议用这个拼接软件 http://www.broadinstitute.org/software/discovar/blog/?page_id=98 DISCOVAR – variant call ...
- HHP|HPLC-MS/MS|PMT|PST|de novo|
生物医学大数据 Protein 应用 人类蛋白质组计划 Gene的存在要依靠在蛋白水平确认基因真实存在. 蛋白质组是确定时间地点的研究单元的蛋白质总体,因为时间.地点和研究单元的相互组合存在多种变化, ...
- 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 ...
- 全基因组测序 从头测序(de novo sequencing) 重测序(re-sequencing)
全基因组测序 全基因组测序分为从头测序(de novo sequencing)和重测序(re-sequencing). 从头测序(de novo)不需要任何参考基因组信息即可对某个物种的基因组进行测序 ...
- 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端蛋白酶)和胰蛋白酶构成的镜像酶组合可以解决这个问题并具有稳定性, ...
- RNA seq 两种计算基因表达量方法
两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...
随机推荐
- git 先建立本地分支,再传给线上库
cd 进入本地一个文件夹 git clone 文件下来 进入右下角 develop分支(remote braches) 新建分支 (check out) a 把新分支 a 传上线上 新建一个对立 ...
- python中的全局变量和局部变量(转)
python中,对于变量作用域的规定有些不一样. 在诸如C/C++.java等编程语言中,默认在函数的内部是能够直接訪问在函数外定义的全局变量的,可是这一点在python中就会有问题.以下是一个样例. ...
- mui-webview-子页面调用父页面的js方法
子页面// 获取当前webviewvar self = plus.webview.currentWebview();var opener = self.opener();//此句调用父页面jsopen ...
- depth: working copy\infinity\immediates\files\empty
depth: working copy\infinity\immediates\files\empty 有时间,需要整理下,svn 合并深度这四项:具体的意思.
- python-ceilometerclient命令行(1)
1.导入模块,可以动态获取模块中方法并调用,其功能与from...import...一致 2. callback = getattr(actions_module, attr) 从模块中获取方法. 调 ...
- mysql 连表查询
现有tablea: tableb: ...
- ssh动态端口转发
ssh本地和远程端口转发都需要固定的应用服务器IP和端口,但是很多情况下,应用的端口繁多逐个转发效率不高,而且一些应用使用不固定的端口,经常跳着使用端口,一些网站还不支持IP直接访问,这导致ssh本地 ...
- 解题3(CoordinateCalculate)
题目描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动.从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面. 输入: 合 ...
- php中in_array一些问题
var_dump(in_array(1,['s','1fsdf',12])); // true var_dump(in_array(0,[4,'erdd'])); // true 因为是要用值与数组 ...
- STL::map/multimap
map: 默认根据 key 排序(从小到大),能够通过 backet operator(operator [ ]) 来获取元素,内部由二叉搜索树来实现(binary search trees). mu ...