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})])