R.系统发育重建中的混合数据分区



让我们有两个矩阵,一个DNA序列比对,另一个由二进制字符组成。

dna <- matrix(c("a", "a", "a", "t", "a", "a", 
"t", "t", "a", "g", "c", "c"), 
ncol = 4, dimnames = list(LETTERS[1:3], NULL))
bi <- matrix(c(0,0,1,0,1,1,1,0,0,1,0,0), 
ncol = 4, dimnames = list(LETTERS[1:3], NULL))

我们可以用phangorn包重建系统发育关系:

library(phangorn)
dnatr <- optim.pml(pml(tree = rtree(3, tip.label = LETTERS[1:3]), 
data = phyDat(dna)), 
optNni = TRUE)
bitr <- optim.pml(pml(tree = rtree(3, tip.label = LETTERS[1:3]), 
data = phyDat(bi, type= "USER", levels = c(0,1))),
optNni = TRUE)

函数phangorn::pmlPart应该运行分区分析,但它没有结合分区中的系统发育信息来重建单个系统发育。

tr = pmlPart(~ edge + nni, object = list(dnatr, bitr))

如何设置使用混合数据类型(DNA序列和二进制字符)的分区分析?

差不多完成了,下面的代码应该可以工作了:

tr = pmlPart(edge + nni ~ . , object = list(dnatr, bitr))

不幸的是,CRAN的文档有点过时。请确保您已经安装了来自github(remotes::install_github("KlausVigo/phangorn"))的最新开发版本phangorn

PS:对于树的重新排列,你至少需要4个技巧,所以在你的例子中,将忽略nni项。

相关内容

  • 没有找到相关文章

最新更新