Визуализация больших деревьев в R

При анализе результатов крупномасштабных экспериментов часто необходимо посмотреть на результаты иерархического кластерного анализа - дендрограммы. Однако с помощью только средств 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, будет интересно услышать ваше мнение в комментариях.

Добавить комментарий


Защитный код
Обновить