# ``igraph`.`drawing`.`graph`.`CytoscapeGraphDrawer``

class documentation

`class CytoscapeGraphDrawer(AbstractXMLRPCDrawer, AbstractGraphDrawer): (source)`

Constructor: `CytoscapeGraphDrawer(url)`

View In Hierarchy

Graph drawer that sends/receives graphs to/from Cytoscape using CytoscapeRPC.

This graph drawer cooperates with Cytoscape using CytoscapeRPC. You need to install the CytoscapeRPC plugin first and start the XML-RPC server on a given port (port 9000 by default) from the appropriate Plugins submenu in Cytoscape.

Graph, vertex and edge attributes are transferred to Cytoscape whenever possible (i.e. when a suitable mapping exists between a Python type and a Cytoscape type). If there is no suitable Cytoscape type for a Python type, the drawer will use a string attribute on the Cytoscape side and invoke `str()` on the Python attributes.

If an attribute to be created on the Cytoscape side already exists with a different type, an underscore will be appended to the attribute name to resolve the type conflict.

You can use the `network_id` attribute of this class to figure out the network ID of the last graph drawn with this drawer.

Static Method | `infer_cytoscape_type` | Returns a Cytoscape type that can be used to represent all the values in `values` and an appropriately converted copy of `values` that is suitable for an XML-RPC call. Note that the string type in Cytoscape is used as a catch-all type; if no other type fits, attribute values will be converted to string and then posted to Cytoscape.
Method | `__init__` | Constructs a Cytoscape graph drawer using the XML-RPC interface of Cytoscape at the given URL.
Method | `draw` | Sends the given graph to Cytoscape as a new network.
Method | `fetch` | Fetches the network with the given name from Cytoscape.
Instance Variable | `network_id` | Undocumented

Inherited from `AbstractXMLRPCDrawer`:

Instance Variable | `server` | Undocumented
Instance Variable | `service` | Undocumented
Static Method | `_resolve_hostname` | Parses the given URL, resolves the hostname to an IP address and returns a new URL with the resolved IP address. This speeds up things big time on Mac OS X where an IP lookup would be performed for every XML-RPC call otherwise.

Inherited from `AbstractGraphDrawer` (via `AbstractXMLRPCDrawer`):

Static Method | `ensure_layout` | Helper method that ensures that layout is an instance of `Layout`. If it is not, the method will try to convert it to a `Layout` according to the following rules:
Static Method | `_determine_edge_order` | Returns the order in which the edge of the given graph have to be drawn, assuming that the relevant keyword arguments (`edge_order` and `edge_order_by`) are given in `kwds` as a dictionary. If neither `edge_order`...
Static Method | `_determine_vertex_order` | Returns the order in which the vertices of the given graph have to be drawn, assuming that the relevant keyword arguments (`vertex_order` and `vertex_order_by`) are given in `kwds` as a dictionary. If neither ...

@staticmethod
def infer_cytoscape_type(values): (source)

Returns a Cytoscape type that can be used to represent all the values in `values` and an appropriately converted copy of `values` that is suitable for an XML-RPC call. Note that the string type in Cytoscape is used as a catch-all type; if no other type fits, attribute values will be converted to string and then posted to Cytoscape.

`None` entries are allowed in `values`, they will be ignored on the Cytoscape side.

def __init__(self, url='http://localhost:9000/Cytoscape'): (source)
overrides `igraph.drawing.baseclasses.AbstractXMLRPCDrawer.__init__`

Constructs a Cytoscape graph drawer using the XML-RPC interface of Cytoscape at the given URL.

def draw(self, graph, name='Network from igraph', create_view=True, *args, **kwds): (source)
overrides `igraph.drawing.baseclasses.AbstractGraphDrawer.draw`

Sends the given graph to Cytoscape as a new network.

Parameters
graph | Undocumented
name | the name of the network in Cytoscape.
create_view | whether to create a view for the network in Cytoscape.The default is `True`.
*args | Undocumented
node_ids | specifies the identifiers of the nodes to be used in Cytoscape. This must either be the name of a vertex attribute or a list specifying the identifiers, one for each node in the graph. The default is `None`, which simply uses the vertex index for each vertex.

def fetch(self, name=None, directed=False, keep_canonical_names=False): (source)

Fetches the network with the given name from Cytoscape.

When fetching networks from Cytoscape, the `canonicalName` attributes of vertices and edges are not converted by default. Use the `keep_canonical_names` parameter to retrieve these attributes as well.

Parameters
name | the name of the network in Cytoscape.
directed | whether the network is directed.
keep_canonical_names | whether to keep the `canonicalName` vertex/edge attributes that are added automatically by Cytoscape

Returns
an appropriately constructed igraph `Graph`.

network_id = (source)

Undocumented