Source code for pyvipr.network_viz.views

from pyvipr.viz import Viz
from pyvipr.network_viz.network_viz import NetworkViz
import networkx as nx

__all__ = [
    'nx_graph_view',
    'nx_graph_dyn_view',
    'nx_function_view',
    'graphml_view',
    'sif_view',
    'sbgn_xml_view',
    'json_view',
    'dynamic_json_view',
    'gexf_view',
    'gml_view',
    'yaml_view'
]


[docs]def nx_graph_view(graph, layout_name='cose'): """ Render a networkx Graph or DiGraph Parameters ---------- graph: nx.Graph or nx.DiGraph Graph to render layout_name: str Layout to use Returns ------- """ return Viz(data=graph, type_of_viz='network_static_view', layout_name=layout_name)
def nx_function_view(graph, nx_function, layout_name='cose', **kwargs): nv = NetworkViz(graph) data = nv.nx_function_view(nx_function, **kwargs) return Viz(data=data, type_of_viz='', layout_name=layout_name)
[docs]def nx_graph_dyn_view(graph, tspan, node_rel=None, node_tip=None, edge_colors=None, edge_sizes=None, edge_tips=None, layout_name='cose'): """ Render a dynamic visualization of a networkx graph Parameters ---------- graph: nx.DiGraph or nx.Graph Graph to visualize tspan: vector-like, optional Time values over which to simulate. The first and last values define node_rel: dict A dictionary where the keys are the node ids and the values are lists that contain (0-100) values that are represented in a pie chart within the node node_tip: dict A dictionary where the keys are the node ids and the values are lists that contain any value that can be accessed as a tooltip in the rendered network edge_colors: dict A dictionary where the keys are the edge ids and the values are lists that contain any hexadecimal color value that are represented in the edge colors edge_sizes: dict A dictionary where the keys are the edge ids and the values are lists that contain any numerical value that are represented in the edge size edge_tips: dict A dictionary where the keys are the edge ids and the values are lists that contain any value that can be accessed as a tooltip in the rendered network layout_name: str Layout to use Returns ------- """ from pyvipr.util_networkx import network_dynamic_data network_dynamic_data(graph, tspan, node_rel, node_tip, edge_colors, edge_sizes, edge_tips) return Viz(data=graph, type_of_viz='dynamic_network_view', layout_name=layout_name)
[docs]def graphml_view(file, layout_name='fcose'): """ Read graph stored in GRAPHML format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in graphml format layout_name : str Name of layout to use Returns ------- """ return Viz(data=file, type_of_viz='graphml', layout_name=layout_name)
[docs]def sif_view(file, layout_name='fcose'): """ Read graph stored in SIF format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in sif format layout_name : str Name of layout to use Returns ------- """ return Viz(data=file, type_of_viz='sif', layout_name=layout_name)
[docs]def sbgn_xml_view(file, layout_name='fcose'): """ Read graph stored in SBGN XML format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in SBGN XML format layout_name : str Name of layout to use Returns ------- """ return Viz(data=file, type_of_viz='sbgn_xml', layout_name=layout_name)
[docs]def json_view(file, layout_name='fcose'): """ Read graph stored in cytoscape json format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in cytoscape json format layout_name : str Name of layout to use Returns ------- """ return Viz(data=file, type_of_viz='json', layout_name=layout_name)
[docs]def dynamic_json_view(file, layout_name='fcose'): """ Read graph stored in cytoscape json format using NetworkX and render a visualization of it. This function is for graphs saved from dynamic visualizations. Parameters ---------- file : str Path to file in cytoscape json format layout_name : str Name of layout to use Returns ------- """ return Viz(data=file, type_of_viz='dynamic_json', process='json_process_nx_', sim_idx=0, layout_name=layout_name)
[docs]def gexf_view(file, node_type=None, relabel=False, version='1.2draft', layout_name='fcose'): """ Read graph stored in GEXF format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in gexf format node_type : Python type (default: none) Convert node ids to this type if not None relabel : bool (default: False) If True relabel the nodes to use the GEXF node "label attribute" instead of the node "id" attribute as the NetworkX node label version : str (default: 1.2draft) Version of GEFX File Format (see https://gephi.org/gexf/format/schema.html). Supported values: "1.1draft", "1.2dra layout_name : str Name of layout to use Returns ------- """ # Edge ids must be different than the ids assigned to nodes. Otherwise the visualization won't work graph = nx.read_gexf(file, node_type=node_type, relabel=relabel, version=version) return Viz(data=graph, type_of_viz='network_static_view', layout_name=layout_name)
[docs]def gml_view(file, label='label', destringizer=None, layout_name='fcose'): """ Read graph stored in GML format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in cytoscape json format label : str, optional If not None, the pased nodes will be renamed according to node attributes indicated by label. Default value: 'label' destringizer : callable, optional A destringizer that recovers values stored as strings in GML. If it cannot convert a string to a value, a ValueError is raised. Default value: None layout_name : str Name of layout to use Returns ------- """ graph = nx.read_gml(file, label=label, destringizer=destringizer) return Viz(data=graph, type_of_viz='network_static_view', layout_name=layout_name)
[docs]def yaml_view(file, layout_name='fcose'): """ Read graph stored in YAML format using NetworkX and render a visualization of it Parameters ---------- file : str Path to file in YAML format layout_name : str Name of layout to use Returns ------- """ graph = nx.read_yaml(file) return Viz(data=graph, type_of_viz='network_static_view', layout_name=layout_name)