4.NGS中的reads mapping

顾名思义,就是将测序的得到的DNA定位在基因组上。

因为二代测序的得到的序列是较短的,reads mapping很好地解决了这个问题。

本质上reads mapping是一个双序列比对问题,但和之前讲的NW和SW的不一样,后者适用于两者长度相差不大的。

现在问题有几个特征:

1.reads和ref的长度有着跨数量级的差异,reads长度通常不超过100bp,而ref基因组通常在上百Mb。

2.数据量,NGS测序产生的数据量达到几百Gb,相当于几十个人的人类基因组。

3.数据质量。在双序列比对中通常假定序列本身不会出错,但是NGS所产生的reads质量参差不齐。

reads可以说是镶嵌到基因组序列中的,对于基因组来说是局部比对,对于reads来说是全局比对,是一个混合型的alignment。

首先对基因组建立索引,也就是index,

将每一个基因根据key映射到一个index,从而存储在不同的数据块中,尽量减少比对时间。

哈希可以来完成,以下例子:

先给ACGT分别确定一个值,那么将求和作为哈希函数,将基因组中分段,然后进行映射存储。这样有一个reads之后就可以以O(1)时间内寻找位置。

通常有一定的容错性

数据压缩中的前缀树和后缀树被应用于reads mapping。 这里也提到了bowtie和BTW(Burruws Wheeler transform),提高了内存利用效率和比对速度。

在对短序列对比时,将所有的SQ都算出来,read中每个碱基都有一个测序质量,假定错配都是由测序错误引起的,从而计算出SQ。

在实际对read mapping的比对中,通常不使用序列比对分数,而使用mapping Quality(也就是最后一行的E),来筛选Read在Ref中的位置。

//这个415是如何得到的呢?是所有SQ的和。

当将reads正确映射到基因组之后,就可以来判断遗传变异。

根据遗传变异的尺寸,可以分为单个碱基水平的单核苷酸变异和多个:

//这个图说的简直十分清晰。

SNV是最常见的遗传变异分析方法:包括替换碱基,或者插入删除碱基。

SV:包括大规模删除插入、倒转、易位、拷贝数变异。

SNP calling是确定哪个基因位点存在变异,不涉及到对应位点的基因型。

Genotype calling是进一步确定变异位点的基因型是纯合的还是杂合的。

测序深度(sequencing depth):测序得到的碱基总量基因组大小的比值。 它与基因组覆盖度是一个正相关的关系。测序错误率和假阳性结果会随测序深度的提高而下降。

//这张图它在说什么,我完全听不懂啊。什么就是纯和了,怎么就杂合了?

这里给出了一个简单的概率模型。

一个生物体的基因型,有三种情况,那么假设在基因测序中测到的有k个A,有n-k个a。

如果是AA,那么概率就是n-k个a错误概率的乘积,杂合子由1-二者之和。

那么如果知道生物体中三种基因型出现了概率作为先验概率,那么可以推算出,后验概率。

//其实这里不太明白D是什么?

ngs中reads mapping-pku的生信课程的更多相关文章

  1. 生信基础知识【04】GO和pathway分析

    非原创 参考资料: 一文掌握GO和pathway分析 - 生物信息学讨论版 -丁香园论坛http://www.dxy.cn/bbs/thread/34904124#34904124 GO富集 GO是G ...

  2. 生信-使用NCBI进行目的基因的引物设计

    使用NCBI进行目的基因的引物设计 全文概述 利用生信工具进行目的基因的引物设计,使用了NCBI进行筛选与设计引物,使用 idtdna对筛选出的DNA进行检查.本文分享了如何筛选出高质量的基因引物,帮 ...

  3. knockoutjs中使用mapping插件绑定数据列表

    使用KO绑定数据列表示例:   1.先申请V,T,T2三个辅助方法,方便调试.声明viewModel和加载数据时的映射条件mapping    2.先使用ko.mapping.fromJS()将原来的 ...

  4. elasticsearch中的mapping映射配置与查询典型案例

    elasticsearch中的mapping映射配置与查询典型案例 elasticsearch中的mapping映射配置示例比如要搭建个中文新闻信息的搜索引擎,新闻有"标题".&q ...

  5. 生信工具汇总--OMICtools

    各种生信工具: https://omictools.com/

  6. 生信软件的好帮手-bioconda--转载

    http://mp.weixin.qq.com/s/nK1Kkf9lfZStoX25Y7SzHQ 这篇文章主要适用于Linux平台,当然MacOS也行,不过它有更好安装方法. 此外网上也会许多更好的关 ...

  7. 精心整理(含图版)|你要的全拿走!(R数据分析,可视化,生信实战)

    本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/ZEjaxDifNATeV8fO4krOIQ更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. 为 ...

  8. ElasticSearch 中的 Mapping

    公号:码农充电站pro 主页:https://codeshellme.github.io 1,ES 中的 Mapping ES 中的 Mapping 相当于传统数据库中的表定义,它有以下作用: 定义索 ...

  9. 生信基础概念之unique reads VS multi-mapping reads

    unique reads:在参考组上只有一个匹配点 multi-mapping reads:在参考组上有多个匹配点 下面是tophat的一个结果案例: Reads: Input : Mapped : ...

随机推荐

  1. ext树菜单实体类

    package cn.edu.hbcf.common.vo; import java.util.ArrayList; import java.util.List; /** * ext树菜单 * * @ ...

  2. 在oschina添加了x3dom的索引

    http://www.x3dom.org/ http://www.oschina.net/p/x3dom x3dom的思路非常优秀并且可行,借助于WebGL的春风,将X3D带到了死而复生的境地.

  3. Golang并发原理及GPM调度策略(一)

    其实从一开始了解到go的goroutine概念就应该想到,其实go应该就是在内核级线程的基础上做了一层逻辑上的虚拟线程(用户级线程)+ 线程调度系统,如此分析以后,goroutine也就不再那么神秘了 ...

  4. poj2987 Firing 最大权闭合子图 边权有正有负

    /** 题目:poj2987 Firing 最大权闭合子图 边权有正有负 链接:http://poj.org/problem?id=2987 题意:由于金融危机,公司要裁员,如果裁了员工x,那么x的下 ...

  5. Tuning 07 Optimizing Sort Operations

  6. Flash AS 2.0右键菜单问题

    这几天都在忙这个右键菜单,因为之前的右键菜单都不能用了,必须做新的. 可是又必须使用原来2.0的接口和方法,真是忙的焦头烂额. 之前2.0的东西太多又太杂. 我头一个右键菜单和二级菜单没有问题了,做第 ...

  7. IOS 分节表视图

    分节表视图 简单的表视图仅仅有一个节,它实际上是分节表视图的一个特例.一个表能够有多个节,节也有头有脚,分节是加入索引和分组的前提. 索引的正确使用原则如所看到的: 1.索引标题不能与显示的标题全然一 ...

  8. poj 1815(最小割、割集)

    题目链接:http://poj.org/problem?id=1815 思路:题目要求是剔除多少个点,可以将其转化为剔除多少条边,因此需要拆点,将点i拆成i,i+n,便容量为1,表示每个人起的传递作用 ...

  9. 拦截器(Inteceptor),过滤器(Filter),切面(Aspect)处理HttpServiceReqeust请求

    1.拦截器 java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可 ...

  10. <转>RestKit在iOS项目中的使用,包含xcode配置说明

    本文转载至 http://www.cnblogs.com/visen-0/archive/2012/05/03/2480693.html 最近在iPhone工程中添加RestKit并编译,但是由于之前 ...