我如何在R中重写这个(基因组)覆盖函数的预期深度?

atmip9wb  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(167)

我需要绘制随机位置的概率密度,片段长度= 600,基因组大小= 3 × 109,读取次数= 1000万次读取

depth_of_coverage <- function(genome = 3E9, fragment_length = 600, reads = 10E6) {
  depth <- 0
  for(i in 1:reads){
    random_position <- sample(1:genome, 1)
    coverage <- sample(1:genome, fragment_length)
    depth <- depth + sum(coverage == random_position)
  }
  return(depth)
}

覆盖深度()
这需要很长的时间来运行...

yqkkidmi

yqkkidmi1#

使用rbinom()对二项分布进行抽样:

depth_of_coverage <- function(genome = 3E9, fragment_length = 600, reads = 10E6, sims = 1) {
  rbinom(sims, reads, fragment_length/genome)
}

这将比您当前的方法快许多个数量级。

相关问题