转载: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. Linux中检查字符串是否为合法IP地址的shell脚本

    #!/bin/bash #判断IP地址是否为有效IP CHKECK_IP () { CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'` i ...

  2. SpringCloud 2020.0.4 系列之服务降级的其他用法与熔断

    1. 概述 老话说的好:控制好自己的情绪,才能控制好自己的人生.冲动是魔鬼,冷静才最重要. 言归正传,之前聊了在 Feign 调用时,如何给整个 Feign接口类 增加降级策略. 今天我们来聊一下 H ...

  3. 零基础入门C/C++实现你的浪漫表白:浪漫流星雨表白程序

    想要讨女朋友欢心也巩固自己所学的知识,各位小伙伴有自己的想法了吗?准备好想要怎样实施了吗?有什么美好的计划了吗?如果没有的话那么别慌,我知道,在座的各位肯定都是有自己的心仪的姑娘,那么今天就教大家一招 ...

  4. jquery正则表达式验证【是否带有小数、是否中文名称组成、是否全由8位数字组成、电话码格式、邮件地址】

    1 <form name="myform" action="" onsubmit="return fun1()"> 2 < ...

  5. Linux Ubuntu stty 使用

    stty(set tty)命令用于显示和修改当前注册的终端的属性. 该命令是一个用来改变并打印终端行设置的常用命令. stty -a #将所有选项设置的当前状态写到标准输出中 old_stty_set ...

  6. Linux 安装nacos

    1.已有mysql环境 2.解压文件 #tar -zxvf package/nacos-server-2.0.1.tar.gz 3.创建数据库nacos_config(confnacos-mysql. ...

  7. APP 自动化之手势操作appium提供API详解(四)

    一.手势操作1.上下左右滑屏 swipe---滑动 java-client 4.x 是有swipe方法的,可以通过传递坐标信息就可以完成滑动androidDriver.swipe(startx, st ...

  8. 【.NET 与树莓派】用 MPD 制作数字音乐播放器

    树莓派的日常家居玩法多多,制作一台属于自己的数字音乐播放机是其中的一种.严格上说,树莓派是没有声卡的,其板载的 3.5 mm 音频孔实际是通过 PWM 来实现音频输出的(通过算法让PWM信号变成模拟信 ...

  9. tabulate

    ValueError: headers for a list of dicts is not a dict or a keyword from: https://bitbucket.org/astan ...

  10. 第一课 Dubbo背景及原理

    1 . 技术背景 Dubbo每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于 ...