Кладограмма, древо жизни, кладистика, таксономия в JS или холст? - PullRequest
6 голосов
/ 17 ноября 2011

Хорошие люди - мне нужна помощь, чтобы найти способ создать интерактивную кладограмму или филогенетическое дерево (да, я прочитал все связанные посты и не могу найти то, что ищу).Дело в том, что мне нужно, чтобы узлы были в состоянии именоваться.Примером может быть что-то вроде этого enter image description here

Большинство сценариев, которые я нахожу, являются либо апплетами, либо flash, либо просто не показывают классификацию узлов, то есть в этом примере пропускается «feliformia».Это бесполезно для меня, так как я бы потом получил плотоядное животное - анонимный узел - анонимный узел - анонимный узел - тигр, и это не хорошо.

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

Итак: без вспышки, без апплетов.Он должен быть горизонтальным, без поддеревьев (круглым).Я прошел через это http://bioinfo.unice.fr/biodiv/Tree_editors.html, но большинство из них, похоже, либо старые, не отображают уровни подузлов, апплеты, либо слишком сложные.

Я полагаю, это будет восхитительная работа для canvas / jQuery ..?И есть вероятность, что кто-то добрался до меня?

Любые указатели очень ценятся.

Примечание: если кто-то захочет сделать что-то подобное в качестве проекта, я буду рад помочь, хотя это не принесло бы мне пользы для этого проекта. Этот тип таксономии не так прост, как может показаться, и я был бы счастлив увидеть это.

Правка: прошел год;Я все еще думаю, что это очень интересный вопрос.Я был вне технологического мира для заклинания;так что если кто-то нашел что-то, что выглядит многообещающим для крупномасштабного проекта ... Я все уши.

Ответы [ 4 ]

9 голосов
/ 19 марта 2012

Я сам изучал этот же вопрос уже почти год.Лучшая библиотека, которую я нашел на сегодняшний день, это d3.js, преемник protovis.js.Хорошей новостью является то, что дендрограмма d3.js и дерево узловых связей должны быть достаточно гибкими для любых / всех ваших потребностей;но плохая новость заключается в том, что вам, вероятно, придется написать собственную логику таксономии и логику интерактивности.

http://mbostock.github.com/d3/ex/cluster.html

http://mbostock.github.com/d3/ex/tree.html

Для решения этой проблемы библиотеки d3.js фактически используют встроенный SVG-код HTML5.
Abigail

ps. Нашел учебник по использованию интерактивной дендрограммы и методам построения логики таксономии.http://blog.pixelingene.com/2011/07/building-a-tree-diagram-in-d3-js/

1 голос
/ 28 февраля 2019

Phylotree.js - хорошая библиотека для этого в SVG с использованием d3. Он может читать строки Newick и рисовать их с помощью внутренних меток и складных узлов.

1 голос
/ 20 июня 2016

Я на самом деле собрал скрипт d3, который делает именно это, найдите его здесь: https://github.com/ConstantinoSchillebeeckx/phylogram_d3

1 голос
/ 01 июня 2012

Вы смотрели на Ваканду?Я думаю, что модель источника данных может обеспечить подходящую структуру ... http://www.wakanda.org/

...