exponenta event banner

объект-биограф

Структура данных, содержащая общие взаимосвязанные данные, используемые для реализации направленного графика

Описание

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

Создание объекта-биографа с помощью функции конструктора объекта biograph. Можно просмотреть графическое представление объекта-биографа с помощью view способ.

Сводка по методу

Ниже приведены методы объекта-биографа:

allshortestpaths (биография)Найти все самые короткие пути в объекте-биографе
conncomp (биограф)Найти сильно или слабо связанные компоненты в объекте-биографе
dolayout (биограф)Расчет положений узлов и траекторий кромок
получить (биограф)Получение информации об объекте-биографе
getancestors (биограф)Поиск предков узла в объекте-биографе
getdescendants (биография)Поиск потомков узла в объекте-биографе
getedgesbynodeid (биограф)Получить маркеры перемещения к краям в объекте-биографе
getmatrix (биограф)Получение матрицы соединения из объекта-биографа
getnasebyid (биограф)Получить дескрипторы для узлов
getrelatives (биограф)Найти родственников узла в объекте-биографе
getweightmatrix (биограф)Получение матрицы соединения с весами из объекта-биографа
isdag (биограф)Испытание на циклы в биографическом объекте
изоморфизм (биография)Найти изоморфизм между двумя биографическими объектами
исспантре (биограф)Определить, является ли дерево, созданное из объекта-биографа, покрывающим деревом
maxflow (биограф)Рассчитать максимальный поток в объекте-биографе
minspantree (биограф)Найти минимальное связующее дерево в объекте-биографе
набор (биограф)Задать свойство объекта-биографа
одномоментная дорожка (биограф)Решение проблемы кратчайшего пути в объекте-биографе
топоордер (биограф)Выполнить топологический вид направленного ациклического графа, извлеченного из объекта-биографа
траверс (биограф)Теодолитный объект-биограф путем следования за соседними узлами
вид (биограф)Рисование фигуры из объекта-биографа

Ниже приведены методы объекта узла:

getancestors (биограф)Поиск предков узла в объекте-биографе
getdescendants (биография)Поиск потомков узла в объекте-биографе
getrelatives (биограф)Найти родственников узла в объекте-биографе

Сводка по свойствам

Объект-биограф содержит два вида объектов, объекты-узлы и объекты-кромки, которые имеют свои собственные свойства. Список свойств объектов-узлов и объектов-кромок см. в следующих таблицах.

Свойства объекта-биографа

СобственностьОписание
ID Вектор символов для идентификации объекта-биографа. По умолчанию: ''.
LabelВектор символов для маркировки объекта-биографа. По умолчанию: ''.
DescriptionВектор символов, описывающий объект-биограф. По умолчанию: ''.
LayoutType

Символьный вектор, определяющий алгоритм механизма макета. Возможны следующие варианты:

  • 'hierarchical' (по умолчанию) - использует топологический порядок графика для назначения уровней, а затем упорядочивает узлы сверху вниз, минимизируя при этом пересекающиеся ребра.

  • 'radial' - использует топологический порядок графика для назначения уровней, а затем упорядочивает узлы изнутри за пределами окружности, минимизируя при этом пересекающиеся ребра.

  • 'equilibrium' - расчет компоновки путем минимизации энергии в системе динамических пружин.

EdgeType

Вектор символов, определяющий способ отображения ребер. Возможны следующие варианты:

  • 'straight'

  • 'curved' (по умолчанию)

  • 'segmented'

Примечание

Изогнутые или сегментированные кромки возникают только тогда, когда это необходимо, чтобы избежать препятствий для узлов. Объекты-биографы с LayoutType равно 'equilibrium' или 'radial' невозможно создать изогнутые или сегментированные кромки.

Scale Положительное число после масштабирования координат узла. По умолчанию: 1.
LayoutScaleПоложительное число, которое масштабирует размер узлов перед вызовом модуля компоновки. По умолчанию: 1.
EdgeTextColorТрехэлементный числовой вектор значений RGB. По умолчанию: [0, 0, 0], которая определяет черный цвет.
EdgeFontSizeПоложительное число, устанавливающее размер шрифта кромки в точках. По умолчанию: 8.
ShowArrowsУправление отображением стрелок с ребрами. Варианты: 'on' (по умолчанию) или 'off'.
ArrowSizeПоложительное число, задающее размер стрелок в точках. По умолчанию: 8.
ShowWeightsУправляет отображением текста, указывающего вес краев. Варианты: 'on' или 'off' (по умолчанию).
ShowTextInNodes

Символьный вектор, определяющий свойство узла, используемое для маркировки узлов при отображении объекта-биографа с помощью view способ. Возможны следующие варианты:

  • 'Label' - Использует Label свойство объекта узла (по умолчанию).

  • 'ID' - Использует ID свойства объекта узла.

  • 'None'

NodeAutoSize

Управляет предварительным расчетом размера узла перед вызовом модуля компоновки. Варианты: 'on' (по умолчанию) или 'off'.

Примечание

Установить для него значение off если вы хотите применить различные размеры узлов, изменив Size собственность.

NodeCallbackПользовательский обратный вызов для всех узлов. Введите имя функции, дескриптор функции или массив ячеек с несколькими дескрипторами функций. После использования view для отображения объекта-биографа в средстве просмотра биографов можно дважды щелкнуть узел для активации первого обратного вызова или щелкнуть правой кнопкой мыши и выбрать обратный вызов для активации. По умолчанию используется анонимная функция, @(node) inspect(node), в котором отображается диалоговое окно «Инспектор свойств».
EdgeCallbackПользовательский обратный вызов для всех краев. Введите имя функции, дескриптор функции или массив ячеек с несколькими дескрипторами функций. После использования view для отображения объекта-биографа в средстве просмотра биографов можно щелкнуть правой кнопкой мыши и выбрать обратный вызов для активации. По умолчанию используется анонимная функция, @(edge) inspect(edge), в котором отображается диалоговое окно «Инспектор свойств».
CustomNodeDrawFcnДескриптор функции настраиваемой функции для рисования узлов. По умолчанию: [].
NodesВектор столбца только для чтения с дескрипторами для узловых объектов объекта-биографа. Размер вектора - это количество узлов. Свойства узловых объектов см. в разделе Свойства узлового объекта.
EdgesВектор столбца только для чтения с маркерами перемещения к краевым объектам объекта-биографа. Размер вектора - это количество ребер. Свойства объектов-кромок см. в разделе Свойства объекта-кромки.

Свойства объекта узла

СобственностьОписание
IDВектор символов, определенный при создании объекта-биографа NodeIDs входной аргумент или внутренний по biograph функция конструктора. Это свойство можно изменить с помощью set метод, но каждый объект узла ID должен быть уникальным.
LabelСимвольный вектор для маркировки узла при отображении объекта-биографа с помощью view способ. По умолчанию: ''.
DescriptionСимвольный вектор, описывающий узел. По умолчанию: ''.
PositionДвухэлементный числовой вектор x- и y-координаты, например, [150, 150]. Если это свойство не указано, по умолчанию используется значение по умолчанию. [], то при выполнении алгоритмов компоновки он становится двухэлементным числовым вектором x- и y- координаты, вычисленные механизмом компоновки.
Shape

Символьный вектор, определяющий форму узлов. Возможны следующие варианты:

  • 'box'(по умолчанию)

  • 'ellipse'

  • 'circle'

  • 'rect' или 'rectangle'

  • 'diamond'

  • 'trapezium'

  • 'invtrapezium'

  • 'house'

  • 'invhouse'

  • 'parallelogram'

Size Двухэлементный числовой вектор, рассчитанный перед вызовом механизма макета с использованием фактического размера шрифта и формы узла. По умолчанию: [10, 10].
Color Трехэлементный числовой вектор значений RGB, указывающий цвет заливки узла. По умолчанию: [1, 1, 0.7], которая определяет желтый цвет.
LineWidth Положительное число. По умолчанию: 1.
LineColor Трехэлементный числовой вектор значений RGB, указывающий цвет контура узла. По умолчанию: [0.3, 0.3, 1], которая определяет синий.
FontSize Положительное число, устанавливающее размер шрифта узла в точках. По умолчанию: 8.
TextColor Трехэлементный числовой вектор значений RGB, указывающий цвет меток узлов. По умолчанию: [0, 0, 0], которая определяет черный цвет.
UserDataПрочие пользовательские данные, которые необходимо связать с узлом. Узел не использует это свойство, но его можно получить доступ и указать с помощью get и set функции. По умолчанию: [].

Свойства объекта-кромки

СобственностьОписание
ID Вектор символов, автоматически сгенерированный из узла IDs при создании объекта-биографа biograph функция конструктора. Это свойство можно изменить с помощью set метод, но каждый объект ребра ID должен быть уникальным.
Label Символьный вектор для маркировки ребра. По умолчанию: ''.
Description Вектор символов, описывающий край. По умолчанию: ''.
WeightЗначение, представляющее вес (стоимость, расстояние, длину или емкость), связанный с кромкой. По умолчанию: 1.
LineWidth Положительное число. По умолчанию: 0.5.
LineColor Трехэлементный числовой вектор значений RGB, указывающий цвет кромки. По умолчанию: [0.5, 0.5, 0.5], которая определяет серый цвет.
UserDataПрочие пользовательские данные, которые необходимо связать с кромкой. Ребро не использует это свойство, но его можно получить доступ и указать с помощью get и set функции. По умолчанию: [].

Примеры

свернуть все

В этом примере показано, как создать объект-биограф, получить доступ к нему и обновить его свойства.

Создайте объект-биограф с пользовательскими идентификаторами узлов.

cm = [0 1 1 0 0;1 0 0 1 1;1 0 0 0 0;0 0 0 0 1;1 0 1 0 0];
ids = {'M30931','L07625','K03454','M27323','M15390'};
bg1 = biograph(cm,ids)
Biograph object with 5 nodes and 9 edges.

Укажите ID свойства объекта.

bg1.ID = 'mybg';

Используйте get для отображения идентификаторов узлов.

get(bg1.nodes,'ID')
ans = 5x1 cell
    {'M30931'}
    {'L07625'}
    {'K03454'}
    {'M27323'}
    {'M15390'}

Отображение всех свойств и их текущих значений 5-го узла и 5-го края объекта.

bg1.nodes(5)
             ID: 'M15390'
          Label: ''
    Description: ''
       Position: []
          Shape: 'box'
           Size: [10 10]
          Color: [1 1 0.7000]
      LineWidth: 1
      LineColor: [0.3000 0.3000 1]
       FontSize: 9
      TextColor: [0 0 0]
       UserData: []
bg1.edges(5)
             ID: 'L07625 -> M15390'
          Label: ''
    Description: ''
         Weight: 1
      LineWidth: 0.5000
      LineColor: [0.5000 0.5000 0.5000]
       UserData: []

Установите LineWidth свойства 5-го узла к 2.

bg1.nodes(5).LineWidth = 2.0;
bg1.nodes(5)
             ID: 'M15390'
          Label: ''
    Description: ''
       Position: []
          Shape: 'box'
           Size: [10 10]
          Color: [1 1 0.7000]
      LineWidth: 2
      LineColor: [0.3000 0.3000 1]
       FontSize: 9
      TextColor: [0 0 0]
       UserData: []

В качестве альтернативы используйте getnodesbyid для создания дескриптора для 5-го узла и установки его Shape свойство «» circle «».

nh1 = getnodesbyid(bg1,'M15390')
             ID: 'M15390'
          Label: ''
    Description: ''
       Position: []
          Shape: 'box'
           Size: [10 10]
          Color: [1 1 0.7000]
      LineWidth: 2
      LineColor: [0.3000 0.3000 1]
       FontSize: 9
      TextColor: [0 0 0]
       UserData: []
nh1.Shape = 'circle';

Укажите LineColor свойство 5-го края.

bg1.edges(5).LineColor = [0.7 0.0 0.1];

В качестве альтернативы используйте getedgesbynodeid для извлечения дескриптора к краю путем предоставления идентификатора исходного узла и идентификатора узла получателя.

eh1 = getedgesbynodeid(bg1,'L07625','M15390')
             ID: 'L07625 -> M15390'
          Label: ''
    Description: ''
         Weight: 1
      LineWidth: 0.5000
      LineColor: [0.7000 0 0.1000]
       UserData: []

Используйте маркер перемещения для указания LineWidth или любые другие свойства кромки.

eh1.LineWidth = 2.0;

Просмотрите объект-биограф.

view(bg1)

Figure Biograph Viewer 1 contains an axes. The axes contains 28 objects of type line, patch, text.

Представлен в R2006b