生物信息学名词解释 | K-mer (长度为k的短序列)
何谓K-mer
所谓Kmer,即为一段长度为k的DNA片段,是由测序reads剪切一部分得到的。k为一个奇数,k=几,就为几mer。
比如:我的测序reads长度为100bp,我将这100bp打断成17bp的短片段,打断后的17bp段片段就叫17mer,可以获得(100-17+1)条k-mer序列。
Table1 k-mers for GTAGAGCTGT.
k | k-mers |
---|---|
1 | G,T,A,G,A,G,C,T,G,T |
3 | GTA,TAG,AGA,GAG,AGC,GCT,CTG,TGT |
5 | GTAGA,TAGAG,AGAGC,GAGCT,AGCTG,GCTGT |
7 | GTAGAGC,TAGAGCT,AGAGCTG,GAGCTGT |
9 | GTAGAGCTG,TAGAGCTGT |
不同reads间的重叠长度不均匀,而相邻k-mers有且仅有一个碱基差异。
K-mer的作用
- 利用k-mer拼接出Contig。
Contig的长度与k值的大小密切相关。k值越大,k-mers能跨过更多长度较短的重复序列,有利于Contig的组装,何事都有两面,k值越大,得到的k-mers的数量会越少,k-mers彼此相连,建立感情的机会就越少,反而不利于Contig的组装。在实际的分析中,需要根据物种基因组特征、测序数据的大小等等因素综合考虑,反复尝试。
Figure1 General workflow of the de novo assembly of a whole genome.
上图展示的是全基因组de nove组装的流程。
- 识别测序错误、杂合等位基因和重复序列的reads。
Figure2 K-mer histogram.
上图称为K-mer直方图,横轴是指K-mer深度,D(k);纵轴是指D(k)的频率,f(D(k))。怎么来理解这张图呢?
举个例子,一组K-mers由K={ATT,ATA,GTG,GCA,GCA,CAT,CAT,TAT,TAT,TAT,TAT}组成,f(D(k))的计算为:f(1)=3 {ATT,ATA,GTG}, f(2)=4 {GCA,GCA}和{CAT,CAT} , f(3)=0, f(4)=4 {TAT,TAT,TAT,TAT}。
在测序深度足够的情况下,理想的K-mer直方图呈现正态分布(蓝色曲线)。存在测序错误的reads,在直方图中呈指数递减的曲线(红色曲线)。杂合等位基因产生的小峰出现在主峰下方(黄色曲线)。由于重复结构(repetitive structures)和拷贝获得区域(copy-gained regions )的存在,会在主峰的右侧出现小峰(绿色、紫色曲线)。
- 通过K-mer估计基因组大小及杂合度。
可以通过测序深度,reads长度以及K-mer的深度和大小来估计基因组大小。
D=D’lDk−mer=D′ll−k+1D={{D’l}\over{D_{k-mer}}}={{{D'l}\over{l-k+1}}} D=Dk−merD’l=l−k+1D′l
G=NbaseD=Nread(l−k+1)D′G={{N_{base}}\over{D}}={{{N_{read}}(l-k+1)}\over{D'}} G=DNbase=D′Nread(l−k+1)
其中D和G分别是reads的测序深度和基因组大小;l是reads平均长度;k是K-mer大小;D‘是K-mer直方图中峰值处的K-mer的深度;Nk-mer=(l-k+1) 是一个read中k-mers的数量;Nbase是测序碱基的数量,其中Nread=Nbase/l 是测序reads的数量。
利用上方的公式就可以在全基因组从头组装之前评估基因组的大小。
参考资料:
[1] Sohn Jang-Il,Nam Jin-Wu. The present and future of de novo whole-genome assembly.[J]. Briefings in bioinformatics,2018,19(1):
[2] https://bioinformatics.uconn.edu/genome-size-estimation-tutorial/#
生物信息学名词解释 | K-mer (长度为k的短序列)相关推荐
- LeetCode 2138. 将字符串拆分为若干长度为 k 的组
文章目录 1. 题目 2. 解题 1. 题目 字符串 s 可以按下述步骤划分为若干长度为 k 的组: 第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推.每个字符都能够 ...
- LeetCode 2099. 找到和最大的长度为 K 的子序列
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums 和一个整数 k . 你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一个长度为 ...
- LeetCode 1708. 长度为 K 的最大子数组
文章目录 1. 题目 2. 解题 1. 题目 在数组 A 和数组 B 中,对于第一个满足 A[i] != B[i] 的索引 i ,当 A[i] > B[i] 时,数组 A 大于数组 B. 例如, ...
- LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)
文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 S,找出所有长度为 K 且不含重复字符的子串,请你返回全部满足要求的子串的 数目. 示例 1: 输入:S = "havefuno ...
- 2099 找到和最大的长度为 K 的子序列
题目描述: 给你一个整数数组 nums 和一个整数 k .你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一个长度为 k 的整数子序列. 子序列 定义为从 ...
- 生物信息学常用名词解释
学习笔记,仅供参考 参考自:生物信息学常用名词解释1; 生物信息学常用名词解释2; 生物信息学常用名词解释3; 生物信息学常用名词解释5; 生物信息学常用名词解释6 名词解释 生物信息学(bioinf ...
- Leetcode-2099. 找到和最大的长度为 K 的子序列
链接 2099. 找到和最大的长度为 K 的子序列 题目 给你一个整数数组 nums 和一个整数 k .你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一 ...
- leetcode周赛第二题6230. 长度为 K 子数组中的最大和
题目: 给你一个整数数组 nums 和一个整数 k .请你从 nums 中满足下述条件的全部子数组中找出最大子数组和: 子数组的长度是 k,且 子数组中的所有元素 各不相同 . 返回满足题面要求的最大 ...
- R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个
R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录
- 图中长度为k的路径的计数
Problem Description 题目给出一个有n个节点的有向图,求该有向图中长度为k的路径条数.方便起见,节点编号为1,2,-,n,用邻接矩阵表示该有向图.该有向图的节点数不少于2并且不超过5 ...
最新文章
- Python 词云玩一下
- MATLAB的图像文件怎么标字母,用matlab对图片进行字符识别,只要能识别字母就行…十万火急!!请各位大侠们多多帮忙…...
- 扫盲行动之九:Vi编辑器的基本使用方法!
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
- python 统计组合用什么库_Python数据科学,用这些库就够了
- C++11 - sizeof用于类成员
- 快速掌握:大型分布式系统中的缓存架构
- 深度学习Dubbo系列(入门开篇)
- tomcat源码分析_CVE-2020-9484 tomcat session反序列化漏洞分析
- zend新建php文件夹,php - 对于Zend的项目模块基于一步一步转化成文件夹结构 - SO中文参考 - www.soinside.com...
- linux系统信息 命令,Linux_Linux系统信息查看命令大全,系统 # uname -a # - phpStudy...
- Unity中文博主频道列表
- 如何将php网页打印成pdf,新技能!如何把网页打印成pdf文件?
- Simulink子系统
- shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
- Excel转PDF 一百行代码超简单
- 剑指Offer_46 把数字翻译成字符串
- bzoj 2075: [POI2004]KAG
- NORDIC Thing:52 Android App 学习之二:手机 App 蓝牙服务发现及数据读取
- 地理坐标系和投影坐标系的联系_收藏| 地图投影系列介绍(二)——地理坐标系...