episcanpy.api.tl.draw_graph

episcanpy.api.tl.draw_graph(adata, layout='fa', init_pos=None, root=None, random_state=0, n_jobs=None, adjacency=None, key_added_ext=None, copy=False)

Force-directed graph drawing [Islam11] [Jacomy14] [Chippada18].

An alternative to tSNE that often preserves the topology of the data better. This requires to run neighbors(), first.

The default layout (‘fa’, ForceAtlas2) [Jacomy14] uses the package fa2 [Chippada18], which can be installed via pip install fa2.

Force-directed graph drawing describes a class of long-established algorithms for visualizing graphs. It has been suggested for visualizing single-cell data by [Islam11]. Many other layouts as implemented in igraph [Csardi06] are available. Similar approaches have been used by [Zunder15] or [Weinreb17].

Parameters
adata

Annotated data matrix.

layout

‘fa’ (ForceAtlas2) or any valid igraph layout. Of particular interest are ‘fr’ (Fruchterman Reingold), ‘grid_fr’ (Grid Fruchterman Reingold, faster than ‘fr’), ‘kk’ (Kamadi Kawai’, slower than ‘fr’), ‘lgl’ (Large Graph, very fast), ‘drl’ (Distributed Recursive Layout, pretty fast) and ‘rt’ (Reingold Tilford tree layout).

root

Root for tree layouts.

random_state

For layouts with random initialization like ‘fr’, change this to use different intial states for the optimization. If None, no seed is set.

adjacency

Sparse adjacency matrix of the graph, defaults to adata.uns[‘neighbors’][‘connectivities’].

key_added_ext

By default, append layout.

proceed

Continue computation, starting off with ‘X_draw_graph_`layout`’.

init_pos

‘paga’/True, None/False, or any valid 2d-.obsm key. Use precomputed coordinates for initialization. If False/None (the default), initialize randomly.

copy

Return a copy instead of writing to adata.

**kwds

Parameters of chosen igraph layout. See e.g. fruchterman-reingold [Fruchterman91]. One of the most important ones is maxiter.

Returns

Depending on copy, returns or updates adata with the following field.

X_draw_graph_layoutadata.obsm

Coordinates of graph layout. E.g. for layout=’fa’ (the default), the field is called ‘X_draw_graph_fa’