短序列组装Sequence Assembly(转载)
转载:http://blog.sina.com.cn/s/blog_4af3f0d20100fq5i.html
短序列组装(Sequence assembly)几乎是近年来next-generation sequencing最热门的话题。简单来说,就是把基因组长长的序列打断(shotgun sequencing),因为我们不知道基因组整条序列是如何排列(成一条链,最后成为一条染色体)组合(如何区分不同染色体)的,而我们又无法实现一次 把整条长序列完整测序(现在有单子测序可能是一个新的sunlight)。然后,我们通过算法,计算机的帮助,把这些短的序列组装起来成为一条完整有序的序列。
就好比我们有这样一句话:
it
is just a hypothesis, so don't be seriously!
假设,我们现在不知道这句话到底是什么,就像我们有一个box,我们抽到一张纸,但没打开,我们把这张纸撕成pieces,当然可能还发生了变化,所有的空格和标点都消失了(魔术!)我们得到:
itis ypo stah the sodo eriou siss ju ntbes sly……
因为我们测了几次,为了增加覆盖度,这样我们能通过高覆盖度而提高置信度:
itis ypo stah the sodo eriou siss ju ntbes sly tis yopth sodon
beser beser ssod iti sju……
另外,我们又发明了一种称作为paired-ends的序列测序方法,即两头定长,中间插入片段一定的序列,像这样:
iti*****ahyp
sju*****pot the*****don sod*****ser bes*****sly ……
这样我们根据如下图的方法,我们可以把这句话拼回来:
itisjustahypothesissodontbeseriously
但它不是最终结果,我们根据我们的现有的语法习惯,我们给它们加上空格(gap)和标点(遗漏的关键东西),我们能够还原原话!
第一:介绍一下组装的方法:
方法一:对序列进行组装,如果是重测序,可以用MAQ进行组装:Map to reference genome
方法二:如果是对新物种进行(de novo)测序,用velvet进行组装:De novo
assembly
第二:组装的原理和流程图:
方法一和方法二的区别是有无参考基因组(reference genome):下面是有参考基因组的一个结果显示
Mapping short reads to a reference
Eland
aligner for Illumina data
alignment policies:
• allows up to 2 mismatches/alignment
• non-unique alignments are discarded
Maq
• quality aware - takes seq quality into
account
• allows non-unique alignments
Index methods
• reference genome is loaded into active
memory as k-mers
• very fast alignments
• SOAP
• Bowtie
SNP detection, paired-end mapping, RNA-seq, ChIP-seq, etc.
Analysis depends on application
Mapping to reference genome
• useful for interrogating the “known” genome
• RNA sequencing
• ChIP sequencing
• SNP detection (targeted and whole-genome)
• methyl-seq
• CNV detection (sometimes)
De novo assembly
• no genome sequence
• unbiased ascertainment of variation in
known genome by whole-genome reseq
第三:short reads alignment by MAQ
第四:velvet示意图:
通过上述两种方法可以完成高通量短序列数据的组装,但事实它并不简单,因为基因组中含有大量的重复序列(Repeats),多态性变异(Polymorphism),测序错误(Sequencing
error),这三个方面就是组装过程中出现组装错误的主要来源.
参考资料:http://blog.sina.com.cn/s/blog_4860086b0100dnos.html
http://seqanswers.com/forums/showthread.php?t=1024
短序列组装Sequence Assembly(转载)的更多相关文章
- 组装技术的新进展 New advances in sequence assembly.
组装技术的新进展 1.测序和组装 很难想象今天距离提出测序和组装已经有40年啦.我们回头来看一下这个问题. “With modern fast sequencing techniques and su ...
- 简单DNA序列组装(非循环子图)
生物信息学原理作业第四弹:DNA序列组装(非循环子图) 原理:生物信息学(孙啸) 大致思想: 1. 这个算法理解细节理解比较困难,建议看孙啸的生物信息学相关章节. 2. 算法要求所有序列覆盖整个目标D ...
- DNA序列组装(贪婪算法)
生物信息学原理作业第四弹:DNA序列组装(贪婪算法) 原理:生物信息学(孙啸) 大致思想: 1. 找到权值最大的边: 2. 除去以最大权值边的起始顶点为起始顶点的边: 3. 除去以最大权值边为终点为终 ...
- BZOJ1345: [Baltic2007]序列问题Sequence
1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 556 Solved: 274[Submi ...
- bowtie:短序列比对的新工具
bowtie:短序列比对的新工具(转) (2014-11-17 22:15:24) 转载▼ 标签: 转载 原文地址:bowtie:短序列比对的新工具(转)作者:玉琪星兆 Bowtie是一个超级快速 ...
- BZOJ1345 Baltic2007 序列问题Sequence 【思维题】*
BZOJ1345 Baltic2007 序列问题Sequence Description 对于一个给定的序列a1,…,an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用 ...
- 【BZOJ1345】[Baltic2007]序列问题Sequence 贪心+单调栈
[BZOJ1345][Baltic2007]序列问题Sequence Description 对于一个给定的序列a1, …, an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和a ...
- BZOJ 1345: [Baltic2007]序列问题Sequence
1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 1180 Solved: 633[Subm ...
- PostgreSql 使用自定义序列(Sequence)向表插入数据
最近公司使用到了PostgreSql,哈哈,这个SQL之前基本上没有用过,既然公司使用到了,那就学习一下吧,记一篇小笔记: 什么是PostgreSql:https://www.postgresql.o ...
随机推荐
- 【二食堂】Alpha - Scrum Meeting 2
Scrum Meeting 2 例会时间:4.11 20:00 - 20:30 进度情况 组员 今日进度 明日任务4.12不开会 李健 1. 学习并成功搭建简单的网页issue2. 学习JS基础知识i ...
- STM32中断编程三步曲教你弄会中断设置以及中断优先级设置
中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本. 所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工.问题是什么呢?项目中我用到了一个触摸键盘TTP229 ...
- 深入理解和运用Pandas的GroupBy机制——理解篇
GroupBy是Pandas提供的强大的数据聚合处理机制,可以对大量级的多维数据进行透视,同时GroupBy还提供强大的apply函数,使得在多维数据中应用复杂函数得到复杂结果成为可能(这也是个人认为 ...
- vim实用插件
转载:Vim 实用插件推荐(2017) - 知乎 (zhihu.com) 1.插件管理器 ----------------------------------------- Vundle.vim - ...
- OpenWrt编译问题记录
错误一.config.status: error: cannot find input file: `xmetadataretriever/Makefile.in' configure: creati ...
- fd定时器--timerfd学习
定时器 可以用系统定时器信号SIGALARM 最近工作需要于是又发现了一个新玩意timerfd配合epoll使用. man 手册看一下 TIMERFD_CREATE(2) Linux Programm ...
- Ubuntu Python2 和 Python3 共存 切换
例如 你写了代码 创建一个文件 在终端 vim test.py 然后写入代码 print "hello world" 接着运行代码 python test.py 会输出 hello ...
- Lambda-让人又爱又恨的“->"
写在前边 聊到Java8新特性,我们第一反应想到的肯定是Lambda表达式和函数式接口的出现.要说ta到底有没有在一定程度上"优化"了代码的简洁性呢?抑或是ta在一定程度上给程序员 ...
- 【java+selenium3】自动化处理文件上传 (十三)
一.文件上传 文件上传是自动化中棘手的部分,目前selenium并没有提供上传的实现api,所以知道借助外力来完成,如AutoIt.sikuli. AutoIt , 这是一个使用类似BASIC脚本语言 ...
- Rancher 下图形界面 搭建 K8S 集群
首先我们准备4台 2核3G 的 centos 7 温馨提示:先安装好一台 CentOS 的虚拟机,并且安装好 docker,永久关闭防火墙. 再这个基础上我们分别克隆出四台 Rancher.K8S1. ...