cytoscape_graph#

cytoscape_graph(data, name='name', ident='id')[source]#

Create a NetworkX graph from a dictionary in cytoscape JSON format.

Parameters:
datadict

A dictionary of data conforming to cytoscape JSON format.

namestring

A string which is mapped to the ‘name’ node element in cyjs format. Must not have the same value as ident.

identstring

A string which is mapped to the ‘id’ node element in cyjs format. Must not have the same value as name.

Returns:
grapha NetworkX graph instance

The graph can be an instance of Graph, DiGraph, MultiGraph, or MultiDiGraph depending on the input data.

Raises:
NetworkXError

If the name and ident attributes are identical.

See also

cytoscape_data

convert a NetworkX graph to a dict in cyjs format

References

[1]

Cytoscape user’s manual: http://manual.cytoscape.org/en/stable/index.html

Examples

>>> data_dict = {
...     'data': [],
...     'directed': False,
...     'multigraph': False,
...     'elements': {'nodes': [{'data': {'id': '0', 'value': 0, 'name': '0'}},
...       {'data': {'id': '1', 'value': 1, 'name': '1'}}],
...      'edges': [{'data': {'source': 0, 'target': 1}}]}
... }
>>> G = nx.cytoscape_graph(data_dict)
>>> G.name
''
>>> G.nodes()
NodeView((0, 1))
>>> G.nodes(data=True)[0]
{'id': '0', 'value': 0, 'name': '0'}
>>> G.edges(data=True)
EdgeDataView([(0, 1, {'source': 0, 'target': 1})])