背景

Kmer是基因组组装算法中经常接触到的概念,简单来说,Kmer就是长度为k的核苷酸序列。一般长短为m的reads可以分成m-k+1个Kmer。Kmer的长度和阈值直接影响到组装的效果。

Denovo组装流程:原始数据——数据过滤——纠错——kmer分析——denovo组装

组装测序策略:根据基因组大小和具体情况选择个大概的k值,构建contig所需的数据量以及所需的构建的文库数量。对于植物基因组一般考虑的是大kmer(>31),动物一般在27左右,具体根据基因组情况调整。需要在短片段数据量达到20X左右的时候进行kmer分析。Kmer分析正常后,继续加测数据以达到最后期望的数据量。

编码

import os
import sys # convert command line arguments to variables
kmer_size = int(sys.argv[1])
count_cutoff = int(sys.argv[2]) # define the function to split dna
def split_dna(dna, kmer_size):
kmers = []
for start in range(0,len(dna)-(kmer_size-1),1):
kmer = dna[start:start+kmer_size]
kmers.append(kmer)
return kmers # create an empty dictionary to hold the counts
kmer_counts = {} # process each file with the right name
for file_name in os.listdir("."):
if file_name.endswith(".dna"):
dna_file = open(file_name) # process each DNA sequence in a file
for line in dna_file:
dna = line.rstrip("\n") # increase the count for each k-mer that we find
for kmer in split_dna(dna, kmer_size):
current_count = kmer_counts.get(kmer, 0)
new_count = current_count + 1
kmer_counts[kmer] = new_count # print k-mers whose counts are above the cutoff
for kmer, count in kmer_counts.items():
if count > count_cutoff:
print(kmer + " : " + str(count))

Ref: https://www.cnblogs.com/leezx/p/5577600.html

最新文章

  1. 【TortoiseGit】TortoiseGit将本地库push到远端
  2. Sublime Text2 Jsformat自定义使用之代码折叠方式修改
  3. iOS系统版本简介
  4. Scanner类的使用
  5. openfire插件开发入门1
  6. Rendering Transparent 3D Surfaces in WPF with C#(转载)
  7. MSDN中HttpWebRequest/HttpWebResponse用法
  8. js循环遍历
  9. [Tree]Binary Tree Inorder Traversal
  10. WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]
  11. CSU 1639 队长,我想进集训队!
  12. javascript模拟鼠标双击事件
  13. python服务器环境搭建(1)——本地服务器准备
  14. NOIP2000提高组 单词接龙
  15. webpack 将不同类型的文件输出到不同文件夹
  16. 深入了解Map
  17. BASE64编码原理分析脚本实现及逆向案例
  18. Python_tkinter(2)_常用控件
  19. phantomjs的安装和使用链接
  20. maven依赖查找方法

热门文章

  1. UltraSoft - Beta - Scrum Meeting 12
  2. 用python检查矩阵的计算
  3. 21.6.4 test
  4. SprinMvc快速入门
  5. python基础数据类型语法
  6. Java操作MongoDB之mongodb-driver(一)
  7. adb 安装与使用(一)
  8. idea关联数据库
  9. css盒模型简介
  10. windows 下 redis服务经常自动关闭