Cytoscape - Установить nodeCustomGraphicsSizeSyn c и nodeSizeLocked from CyREST - PullRequest
1 голос
/ 15 января 2020

Есть ли способ программно установить nodeCustomGraphicsSizeSync и nodeSizeLocked в Cytoscape с API CyRest?

Они обычно устанавливаются в пользовательском интерфейсе с помощью двух флажков «Подгонять пользовательскую графику к узлу» и «Блокировать ширину и высоту узла» (см. Изображение).

options in cytoscape

Я попробовал это, но это не работает:

from py2cytoscape.data.cyrest_client import CyRestClient
cy = CyRestClient()
my_style = cy.style.create('custom_theme', original_style=cy.style.get('default'))
net = cy.network.create(name='My Network', collection='My network collection')
my_style.update_defaults({
                          'NODE_SIZE':200, #works
                          'NODE_CUSTOMGRAPHICS_SIZE_1':80, #works,
                          'NODE_CUSTOMGRAPHICS_POSITION_1':'N,S,c,0.00,0.00', #works
                          'nodeCustomGraphicsSizeSync' : 'false', # does not work
                          'nodeSizeLocked' : 'false' # does not work
                           })
cy.style.apply(my_style, net)

Я думаю, это потому, что это не VisualProperties но Visual Property Dependencies

Я обнаружил упоминание о связанной проблеме, но никаких других ссылок (красный минус кажется внизу):

3245 Создание копии VisualStyle - VisualPropertyDependencies нет скопировано

из https://cytoscape.org/cy3_welcome_letter_v14.pdf

Я использую Cytoscape 3.7.2 и py2cytoscape.

1 Ответ

1 голос
/ 16 января 2020

В CyREST есть способ, но я не уверен, что он доступен через py2cytoscape. По сути, вам нужно обновить зависимости, которые являются другой конечной точкой REST (/ {name} / dependencies), и вы хотите использовать «enabled» вместо «true». Возможно, вы захотите посмотреть, есть ли update_dependencies в py2cytoscape (я не вижу ни одного после быстрого просмотра документов). Если нет, добавьте вопрос в github: https://github.com/cytoscape/py2cytoscape

- scooter

...