Я импортировал дерево ClustalW2 в R, используя функцию ape и функцию read.tree
пакета ape. Я оцениваю молекулярный возраст, используя функцию хронопл, в результате получается ультраметрическое бинарное дерево Из которого я хочу создать R build в объекте дендрограммы.
Дерево хорошо выглядит и является настоящим филологическим объектом. Однако, я сталкиваюсь с проблемами при попытке преобразовать его:
Пример минимальной работы:
require(ape)
test.tree <- read.tree(file = "testree.phylip", text = NULL, tree.names = NULL, skip = 0,
comment.char = "#", keep.multi = FALSE)
test.tree.nu <- chronopl(test.tree, 0, age.min = 1, age.max = NULL,
node = "root", S = 1, tol = 1e-8,
CV = FALSE, eval.max = 500, iter.max = 500)
is.ultrametric(test.tree.nu)
is.binary.tree(test.tree.nu)
treeclust <- as.hclust.phylo(test.tree.nu)
Полученное дерево "выглядит" нормально,
Я проверяю, чтобы убедиться, что дерево не является ультраметрическим и двоичным, и хочу преобразовать его в объект hclust, чтобы в конечном итоге сделать его объектом дендрограммы.
> is.binary.tree(test.tree.nu)
[1] TRUE
> is.ultrametric(test.tree.nu)
[1] TRUE
После попытки сделать объект hclust из дерева я получаю ошибку:
> tree.phylo <- as.hclust.phylo(test.tree.nu)
Error in if (tmp <= n) -tmp else nm[tmp] :
missing value where TRUE/FALSE needed
In addition: Warning message:
In nm[inode] <- 1:N :
number of items to replace is not a multiple of replacement length
Я понимаю, что это очень подробный вопрос, и, возможно, такие вопросы, которые конкретно относятся к определенным пакетам, лучше задать где-нибудь еще, но я надеюсь, что кто-то сможет мне помочь.
Вся помощь очень ценится,
С уважением,
Загрузка файла
Файл Phylip можно скачать здесь
http://www.box.net/shared/rnbdk973ja