相关疑难解决方法(0)

加速模拟

我有以下情况:

如果该马尔可夫链从位置 = 5 开始,则变量在 prob=0.5 时移动 +1,在 prob=-0.5 时移动 -1

  • 情况 1:变量首次达到位置 = 0 的预期时间是多少?
  • 情况 2:变量在至少一次达到position=10 后首次达到position=0 的预期时间是多少?

我尝试按如下方式执行此操作(我创建了一个跟踪变量来查看模拟卡在哪里):

# the simulations can take a long time to run, I interrupted them

library(ggplot2)
library(gridExtra)

n_sims <- 100
times_to_end_0 <- numeric(n_sims)
times_to_end_0_after_10 <- numeric(n_sims)
paths_0 <- vector("list", n_sims)
paths_0_after_10 <- vector("list", n_sims)

for (i in 1:n_sims) {
    print(paste("Running simulation", i, "for situation 1..."))
    y <- 5
    time <- 0
    path_0 <- c(y)

    while(y > 0) {
        step <- sample(c(-1, …
Run Code Online (Sandbox Code Playgroud)

algorithm performance r random-walk

9
推荐指数
3
解决办法
326
查看次数

如何通过节点或叶子中的标签折叠系统发育树中的分支?

我为一个蛋白质家族构建了一个系统发育树,可以将其分成不同的组,按照受体类型或反应类型对每个蛋白质进行分类.树中的节点被标记为受体类型.

在系统发育树中,我可以看到属于相同组或受体类型的蛋白质在同一分支中聚集在一起.所以我想折叠这些具有共同标签的分支,按给定的关键字列表对它们进行分组.

命令将是这样的:

./collapse_tree_by_label -f phylogenetic_tree.newick -l list_of_labels_to_collapse.txt -o collapsed_tree.eps(或pdf)

我的list_of_labels_to_collapse.txt将是这样的:A B C D

我的纽约树将是这样的:(A_1:0.05,A_2:0.03,A_3:0.2,A_4:0.1):0.9,(((B_1:0.05,B_2:0.02,B_3:0.04):0.6,(C_1:0.6) ,C_2:0.08):0.7):0.5,(D_1:0.3,D_2:0.4,D_3:0.5,D_4:0.7,D_5:0.4):1.2)

没有折叠的输出图像是这样的:http: //i.stack.imgur.com/pHkoQ.png

输出图像折叠应该是这样的(collapsed_tree.eps):http: //i.stack.imgur.com/TLXd0.png

三角形的宽度应表示分支长度,三角形的高度必须表示分支中的节点数.

我一直在玩R.中的"猿"包.我能够绘制一个系统发育树,但我仍然无法弄清楚如何通过标签中的关键字来折叠分支:

require("ape")
Run Code Online (Sandbox Code Playgroud)

这将加载树:

cat("((A_1:0.05,A_2:0.03,A_3:0.2,A_4:0.1):0.9,(((B_1:0.05,B_2:0.02,B_3:0.04):0.6,(C_1:0.6,C_2:0.08):0.7):0.5,(D_1:0.3,D_2:0.4,D_3:0.5,D_4:0.7,D_5:0.4):1.2):0.5);", file = "ex.tre", sep = "\n")
tree.test <- read.tree("ex.tre")
Run Code Online (Sandbox Code Playgroud)

这应该是崩溃的代码

这将绘制树:

plot(tree.test)
Run Code Online (Sandbox Code Playgroud)

plot r phylogeny ape-phylo

6
推荐指数
1
解决办法
3319
查看次数

标签 统计

r ×2

algorithm ×1

ape-phylo ×1

performance ×1

phylogeny ×1

plot ×1

random-walk ×1