转载: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(转载)的更多相关文章

  1. 组装技术的新进展 New advances in sequence assembly.

    组装技术的新进展 1.测序和组装 很难想象今天距离提出测序和组装已经有40年啦.我们回头来看一下这个问题. “With modern fast sequencing techniques and su ...

  2. 简单DNA序列组装(非循环子图)

    生物信息学原理作业第四弹:DNA序列组装(非循环子图) 原理:生物信息学(孙啸) 大致思想: 1. 这个算法理解细节理解比较困难,建议看孙啸的生物信息学相关章节. 2. 算法要求所有序列覆盖整个目标D ...

  3. DNA序列组装(贪婪算法)

    生物信息学原理作业第四弹:DNA序列组装(贪婪算法) 原理:生物信息学(孙啸) 大致思想: 1. 找到权值最大的边: 2. 除去以最大权值边的起始顶点为起始顶点的边: 3. 除去以最大权值边为终点为终 ...

  4. BZOJ1345: [Baltic2007]序列问题Sequence

    1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 556  Solved: 274[Submi ...

  5. bowtie:短序列比对的新工具

    bowtie:短序列比对的新工具(转) (2014-11-17 22:15:24) 转载▼ 标签: 转载   原文地址:bowtie:短序列比对的新工具(转)作者:玉琪星兆 Bowtie是一个超级快速 ...

  6. BZOJ1345 Baltic2007 序列问题Sequence 【思维题】*

    BZOJ1345 Baltic2007 序列问题Sequence Description 对于一个给定的序列a1,…,an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用 ...

  7. 【BZOJ1345】[Baltic2007]序列问题Sequence 贪心+单调栈

    [BZOJ1345][Baltic2007]序列问题Sequence Description 对于一个给定的序列a1, …, an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和a ...

  8. BZOJ 1345: [Baltic2007]序列问题Sequence

    1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1180  Solved: 633[Subm ...

  9. PostgreSql 使用自定义序列(Sequence)向表插入数据

    最近公司使用到了PostgreSql,哈哈,这个SQL之前基本上没有用过,既然公司使用到了,那就学习一下吧,记一篇小笔记: 什么是PostgreSql:https://www.postgresql.o ...

随机推荐

  1. 需求存在,功能存在——Alpha阶段性总结

    0.Alpha开发成果 题士Alpha发布报告 题士开发记录 1.任务划分 Alpha阶段大致将任务划分为Design,Develop和Test三类 Design型任务包含页面UI设计和接口API设计 ...

  2. [no_code团队]项目介绍 & 需求分析 & 发布预测

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 团队项目选择 我们在这个课程的目标是 在团队合作中提升软件开发水平 这个作业在哪个具体方面帮助我们实现目标 进行项目 ...

  3. (六)、Docker 之 Dockerfile

    1.什么是Dockerfile Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 2.Dockerfile解析过程 前提认知: 每条保留字指令都必须为大写字母 ...

  4. vs2017和Qt5的字符编码问题

    默认vs2017的源文件字符编码是gbk的格式,Qt5的内部字符编码为utf8的格式,Qt5又去掉了设置字符串的接口,这样在源文件中使用了字符串之后,就会出现乱码问题,对原有代码逐个修改字符串是不可能 ...

  5. 大神教零基础入门如何快速高效的学习c语言开发

    零基础如果更快更好的入门C语言,如何在枯燥的学习中找到属于自己的兴趣,如果把学习当成一种事务性的那以后的学习将会很难有更深入的进步,如果带着乐趣来完成学习那将越学越有意思这样才会让你有想要更深入学习的 ...

  6. Maven还停留在导jar包?快来探索Nexus私服的新世界

    写在前面 Maven,学习框架之前我们都会接触到的一个工具,感觉他的定位,似乎就跟git一样,只是方便我们开发?于是自然而然的,很多小猿对于Maven都只是停留在会用的阶段,利用他来构建,打包,引入j ...

  7. 『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用

    目录 1.什么是克隆 2.克隆的两种类型 (1)完整克隆 (2)链接克隆 3.克隆操作 步骤一:克隆虚拟机 步骤二:进行克隆导向 3.快照与克隆的区别 4.镜像的管理 快照和克隆是VMware中两个非 ...

  8. NOIP模拟86(多校19)

    T1 特殊字符串 解题思路 \(f_{i,j}\) 表示前 \(i\) 个字符中结尾为 \(j\) 的最大贡献. 转移枚举当前位置于之前位置结尾的组合加上贡献即可. 对于边界问题,容易发现选择 1 一 ...

  9. 结束的NULL

    最近同学叫我帮忙看个问题,为啥这个循环没有退出, 代码如下,原本是想拿到最后的NULL指针就可以结束循环 #include <stdio.h> #include <stdlib.h& ...

  10. CSS学习笔记:浮动属性

    目录 一.浮动流是什么 二.通过代码实例了解浮动特点 1. 搭建测试框架 2. 添加浮动 3. 浮动元素的排布 4. 给行内元素添加浮动效果 5. 子元素浮动后对父元素的影响 5.1 在父元素中添加o ...