Cytoscape - 从 CyREST 设置 nodeCustomGraphicsSizeSync 和 nodeSizeLocked

Cytoscape - Set nodeCustomGraphicsSizeSync and nodeSizeLocked from CyREST

有没有一种方法可以使用 CyRest api 在 Cytoscape 中以编程方式设置 nodeCustomGraphicsSizeSyncnodeSizeLocked

它们通常在 UI 中通过两个复选框 "Fit Custom Graphics to node" 和 "Lock node width and height" 设置(见图)。

我试过这个,但不起作用:

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

我发现了一个相关问题的提及,但没有其他参考(redmine 似乎已关闭):

3245 Creating a copy of a VisualStyle--VisualPropertyDependencies not copied

from https://cytoscape.org/cy3_welcome_letter_v14.pdf

我正在使用 Cytoscape 3.7.2 和 py2cytoscape。

CyREST 中有一种方法,但我不确定它是否已通过 py2cytoscape 提供。基本上,您需要更新依赖项,这是一个不同的 REST 端点 (/{name}/dependencies),并且您希望使用 "enabled" 而不是 "true"。您可能想看看 py2cytoscape 中是否有 update_dependencies(我快速查看文档后没有看到)。如果不是,请在 github 中添加问题:https://github.com/cytoscape/py2cytoscape

-- 滑板车