Обновлено 22.03.2011
Автор: Administrator
При анализе результатов крупномасштабных экспериментов часто необходимо посмотреть на результаты иерархического кластерного анализа - дендрограммы. Однако с помощью только средств R анализировать дендрограммы с сотнями объектов и длинными подписями очень неудобно. Предлагаю альтернативное решение.
Конечно, ничто не мешает рисовать дерево на растровой картинке с размерами тысячи на тысячи пикселей. Однако, при работе c 32-разрядной Windows, графическая подсистема R не даст вам создать картинку большого размера (например, 10000х10000 пикселей). Можно использовать векторные форматы и экспортировать графику в SVG или PDF. Но все равно, работать с дендрограммой только как с картинкой неудобно.
Еще одной альтернативой может быть использование функции identify.hclust(), которая вносит некоторую интерактивность в работу с дендрограммами. Ее поведение схоже со стандартной функцией identify() и позволяет определять поддерево, по которому щелкнул пользователь. Выделенное под-дерево передается как параметр другой функции, определяемой пользователем чтобы, например, напечатать состав под-дерева. Правда, для действительно больших деревьев нужен действительно большой монитор :)
Я использую следущий способ. Объект класса hclust экспортируется в текстовый файл в скобочном формате (или newick-формате, подробнее на можно почитать в
статье на Wiki):
> hc = hclust(dist(dat), method = "complete")
> library(ape);
> write.tree(as.phylo(hc), file="hcdat.complete.tree")
После этого можно использовать многочисленные программы для работы с филогенетическими деревьями. Обновляемый список таких программ с описанием можно посмотреть
здесь.
Для моих задач вполне хватает бесплатной Java-программы
Archaeopteryx (хотя я не являюсь знатоком софта по работе с филогенией и вполне может быть что есть что-то получше).
Нашел в сети упоминание о программе TreeDyn (
www.treedyn.org ). Среди плюсов - возможность визуализации нескольких деревьев, а также аннотирование деревьев дополнительной информацией. Программа бесплатна и открыта. Среди минусов - последние новости датируются 2007 годом.
Если вы знаете какие-нибудь другие подходы для работы с большими деревьями в R, будет интересно услышать ваше мнение в комментариях.
Добавить комментарий