Нахождение суммы длин ветвей в объекте Phylo / Phylo4 в R - PullRequest
1 голос
/ 07 августа 2011

Проблема, над которой я сейчас работаю, требует, чтобы, учитывая объект филогенетического дерева в R и конкретную вершину этого дерева, мне нужно было найти сумму всех длин ветвей до этой вершины. Найти это для объекта phylo или phylo4 было бы эквивалентно, так как я могу свободно конвертировать между двумя типами объектов.

Я полагаю, что это не должно быть сложным. Пакет " phylobase " предоставляет функцию для поиска всех предков предварительно заданного узла, и мы можем получить доступ к длинам ребер в дереве, используя @ edge.lengths для объекта phylo4.

Однако у меня возникают проблемы с доступом к нужным ребрам, не прибегая к манипуляции со строками на метках ребер. Кто-нибудь знает более прямой способ решения этой проблемы?

1 Ответ

0 голосов
/ 07 августа 2011

Я думаю, distRoot() с опцией "patristic" из пакета adephylo сделает то, что вы хотите.Только немного изменено из примера:

library(ape)
library(phylobase)
library(adephylo)

## make a tree
x <- as(rtree(50),"phylo4")
D <- distRoot(x, method = "patristic")
D <- as.data.frame(D)

## plot these distances along with the tree
temp <- phylo4d(x, D)
table.phylo4d(temp, show.node=FALSE, cex.lab=.6)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...