何谓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的作用

  1. 利用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组装的流程。

  1. 识别测序错误、杂合等位基因和重复序列的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 )的存在,会在主峰的右侧出现小峰(绿色、紫色曲线)。

  1. 通过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−mer​D’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的短序列)相关推荐

  1. LeetCode 2138. 将字符串拆分为若干长度为 k 的组

    文章目录 1. 题目 2. 解题 1. 题目 字符串 s 可以按下述步骤划分为若干长度为 k 的组: 第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推.每个字符都能够 ...

  2. LeetCode 2099. 找到和最大的长度为 K 的子序列

    文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 nums 和一个整数 k . 你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一个长度为 ...

  3. LeetCode 1708. 长度为 K 的最大子数组

    文章目录 1. 题目 2. 解题 1. 题目 在数组 A 和数组 B 中,对于第一个满足 A[i] != B[i] 的索引 i ,当 A[i] > B[i] 时,数组 A 大于数组 B. 例如, ...

  4. LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个字符串 S,找出所有长度为 K 且不含重复字符的子串,请你返回全部满足要求的子串的 数目. 示例 1: 输入:S = "havefuno ...

  5. 2099 找到和最大的长度为 K 的子序列

    题目描述: 给你一个整数数组 nums 和一个整数 k .你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一个长度为 k 的整数子序列. 子序列 定义为从 ...

  6. 生物信息学常用名词解释

    学习笔记,仅供参考 参考自:生物信息学常用名词解释1; 生物信息学常用名词解释2; 生物信息学常用名词解释3; 生物信息学常用名词解释5; 生物信息学常用名词解释6 名词解释 生物信息学(bioinf ...

  7. Leetcode-2099. 找到和最大的长度为 K 的子序列

    链接 2099. 找到和最大的长度为 K 的子序列 题目 给你一个整数数组 nums 和一个整数 k .你需要找到 nums 中长度为 k 的 子序列 ,且这个子序列的 和最大 . 请你返回 任意 一 ...

  8. leetcode周赛第二题6230. 长度为 K 子数组中的最大和

    题目: 给你一个整数数组 nums 和一个整数 k .请你从 nums 中满足下述条件的全部子数组中找出最大子数组和: 子数组的长度是 k,且 子数组中的所有元素 各不相同 . 返回满足题面要求的最大 ...

  9. R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个

    R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录

  10. 图中长度为k的路径的计数

    Problem Description 题目给出一个有n个节点的有向图,求该有向图中长度为k的路径条数.方便起见,节点编号为1,2,-,n,用邻接矩阵表示该有向图.该有向图的节点数不少于2并且不超过5 ...

最新文章

  1. Python 词云玩一下
  2. MATLAB的图像文件怎么标字母,用matlab对图片进行字符识别,只要能识别字母就行…十万火急!!请各位大侠们多多帮忙…...
  3. 扫盲行动之九:Vi编辑器的基本使用方法!
  4. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
  5. python 统计组合用什么库_Python数据科学,用这些库就够了
  6. C++11 - sizeof用于类成员
  7. 快速掌握:大型分布式系统中的缓存架构
  8. 深度学习Dubbo系列(入门开篇)
  9. tomcat源码分析_CVE-2020-9484 tomcat session反序列化漏洞分析
  10. zend新建php文件夹,php - 对于Zend的项目模块基于一步一步转化成文件夹结构 - SO中文参考 - www.soinside.com...
  11. linux系统信息 命令,Linux_Linux系统信息查看命令大全,系统    # uname -a # - phpStudy...
  12. Unity中文博主频道列表
  13. 如何将php网页打印成pdf,新技能!如何把网页打印成pdf文件?
  14. Simulink子系统
  15. shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
  16. Excel转PDF 一百行代码超简单
  17. 剑指Offer_46 把数字翻译成字符串
  18. bzoj 2075: [POI2004]KAG
  19. NORDIC Thing:52 Android App 学习之二:手机 App 蓝牙服务发现及数据读取
  20. 地理坐标系和投影坐标系的联系_收藏| 地图投影系列介绍(二)——地理坐标系...

热门文章

  1. 针对百度的常规网页优化策略
  2. 用Dim搭建轻量级媒体服务器
  3. Python-字符串的判断、拆分和拼接
  4. 检查日期是否为节假日api
  5. 计算机机箱最新推出的是什么架构,独特三舱位结构:LIANLI 联力 推出 PC-O12 E-ATX 全塔机箱...
  6. C ++ primer
  7. 联想win7无法连接无线网络连接服务器,联想笔记本连不上wifi该怎么处理
  8. 组织架构与中台建设,回顾阿里小米京东美团四大商业巨头的战略变迁
  9. 关于梅花雪 MzTreeView2.0 checkbox 的用法
  10. Sue Shallow