Как позволить Cytoscape.js автоматически создавать макет, подобный тому, что создает Cytoscape?

Перед использованием Cytoscape.js я использовал Cytoscape для визуализации биологических сетей.

Cytoscape может создать автоматический макет из нашего сетевого файла, используя свой внутренний алгоритм размещения. Расположение макета очень разумно - соединенные друг с другом узлы размещаются поблизости, а узлы хорошо разнесены, а центральные узлы размещены в центре каждой группы узлов, что действительно хорошо для биологических сетей, поскольку есть так много узлов и так много соединений между узлами.

Сейчас я использую Cytoscape.js. Я хочу, чтобы Cytoscape.js автоматически создавал макет, подобный тому, что создает Cytoscape. Я пытался использовать все различные варианты макета («случайный», «сетка», «cose», «круг», «в ширину»), но ни один из них не создает макета, подобного тому, что создает Cytoscape.

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

Но нам нужно использовать Cytoscape.js вместо Cytoscape, поскольку нам нужно разместить рабочий процесс молекулярной сети на веб-сайте (и визуализировать результаты сети на веб-сайте).

Итак, мой вопрос: как мы можем позволить Cytoscape.js автоматически создавать макет, подобный тому, что создает Cytoscape?

Заранее большое спасибо!


person qcx    schedule 04.03.2017    source источник
comment
пробовали ли вы также концентрический?   -  person CapelliC    schedule 04.03.2017
comment
Спасибо за ваше предложение! Но при «концентрической» компоновке узлы размещаются в концентрических кругах на основе показателя, который вы указываете для разделения узлов на уровни. Однако я не хочу, чтобы узлы располагались по кругу.   -  person qcx    schedule 05.03.2017


Ответы (1)


Рабочий стол Cytoscape может делать множество предположений, которые библиотека не может --- или не должна. Если вы используете такую ​​библиотеку, как Cytoscape.js, вам необходимо установить явные параметры для вещей, о которых рабочий стол Cytoscape может делать предположения.

Посмотрите на макеты с принудительной ориентацией. Они описаны в документации, но здесь я дам обзор:

  • cose: Встроенный, очень быстрый, мало влияет на размер файла, но для хороших результатов необходимо довольно точно установить параметры (например,)
  • cose-bilkent: Версия алгоритма CoSE с большим количеством улучшений, оптимизированная для хорошей работы в биосетях, немного медленнее, с большим размером файла, дает хорошие результаты без особых усилий (например,)
  • cola: хорошо работает для большинства графиков (например,)
  • spread: Быстрая кластеризация не требует включения второй фазы
  • springy и arbor: Базовые, обычно требуется много доработок, даже с поправками результаты могут быть плохими

Большинство макетов не встроены, поскольку Cytoscape.js - это библиотека. (Было бы несправедливо заставлять всех включать большие файлы, если они нужны не всем.)

Для получения дополнительной информации см.

person maxkfranz    schedule 09.03.2017