R中系统发育重建中的混合数据分区
Mixed data partitions in phylogeny reconstruction in 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 项。
让我们有两个矩阵,一个 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 项。