def plot_summary_axes(graph, lax, rax): """Plots your graph summary statistics on the given axes. After, you should run :func:`plt.tight_layout` and you must run :func:`plt.show` to view. Shows: 1. Count of nodes, grouped by function type 2. Count of edges, grouped by relation type :param pybel.BELGraph graph: A BEL graph :param lax: An axis object from matplotlib :param rax: An axis object from matplotlib Example usage: >>> import matplotlib.pyplot as plt >>> from pybel import from_pickle >>> from pybel_tools.summary import plot_summary_axes >>> graph = from_pickle('~/dev/bms/aetionomy/parkinsons.gpickle') >>> fig, axes = plt.subplots(1, 2, figsize=(10, 4)) >>> plot_summary_axes(graph, axes[0], axes[1]) >>> plt.tight_layout() >>> plt.show() """ ntc = count_functions(graph) etc = count_relations(graph) df = pd.DataFrame.from_dict(dict(ntc), orient='index') df_ec = pd.DataFrame.from_dict(dict(etc), orient='index') df.sort_values(0, ascending=True).plot(kind='barh', logx=True, ax=lax) lax.set_title('Number of nodes: {}'.format(graph.number_of_nodes())) df_ec.sort_values(0, ascending=True).plot(kind='barh', logx=True, ax=rax) rax.set_title('Number of edges: {}'.format(graph.number_of_edges()))
def test_functions_egf(self): """Test counting nodes and grouping by function on the EGF graph.""" result = { PROTEIN: 10, COMPLEX: 1, BIOPROCESS: 1, } self.assertEqual(set(result), get_functions(egf_graph)) self.assertEqual(result, count_functions(egf_graph))
def test_functions_sialic(self): """Test counting nodes and grouping by function on the sialic acid graph.""" result = { PROTEIN: 7, COMPLEX: 1, ABUNDANCE: 1, } self.assertEqual(set(result), get_functions(sialic_acid_graph)) self.assertEqual(Counter(result), count_functions(sialic_acid_graph))
def test_functions_egf(self): result = {PROTEIN: 10, COMPLEX: 1, BIOPROCESS: 1} self.assertEqual(set(result), get_functions(egf_graph)) self.assertEqual(result, count_functions(egf_graph))
def test_functions_sialic(self): result = {PROTEIN: 7, COMPLEX: 1, ABUNDANCE: 1} self.assertEqual(set(result), get_functions(sialic_acid_graph)) self.assertEqual(result, count_functions(sialic_acid_graph))
def test_bel_nodes(self): """Test transforming kgml into bel nodes.""" notch_summary_flatten_nodes = count_functions(self.notch_bel_flatten) notch_summary_unflatten_edges = count_relations( self.notch_bel_unflatten) notch_summary_unflatten_nodes = count_functions( self.notch_bel_unflatten) glycolysis_summary_unflatten_nodes = count_functions( self.glycolysis_bel_unflatten) glycolysis_summary_flatten_nodes = count_functions( self.glycolysis_bel_flatten) ppar_bel_unflatten_nodes = count_functions(self.ppar_bel_unflatten) ppar_bel_unflatten_edges = count_relations(self.ppar_bel_unflatten) ppar_bel_flatten_nodes = count_functions(self.ppar_bel_flatten) ppar_bel_flatten_edges = count_relations(self.ppar_bel_flatten) self.assertEqual(notch_summary_unflatten_nodes['Protein'], 48) self.assertEqual(notch_summary_unflatten_nodes['Composite'], 15) self.assertEqual(notch_summary_unflatten_nodes['Complex'], 4) self.assertEqual(notch_summary_unflatten_nodes['BiologicalProcess'], 2) self.assertEqual(notch_summary_unflatten_edges['decreases'], 6) self.assertEqual(notch_summary_unflatten_edges['increases'], 9) self.assertEqual(notch_summary_unflatten_edges['association'], 1) self.assertEqual(notch_summary_flatten_nodes['Protein'], 48) self.assertEqual(notch_summary_flatten_nodes['Composite'], 0) self.assertEqual(notch_summary_flatten_nodes['Complex'], 4) self.assertEqual(notch_summary_flatten_nodes['BiologicalProcess'], 2) self.assertEqual(glycolysis_summary_flatten_nodes['Protein'], 68) self.assertEqual(glycolysis_summary_flatten_nodes['Composite'], 0) self.assertEqual(glycolysis_summary_flatten_nodes['Complex'], 0) self.assertEqual(glycolysis_summary_flatten_nodes['Abundance'], 31) self.assertEqual(glycolysis_summary_flatten_nodes['BiologicalProcess'], 7) self.assertEqual(glycolysis_summary_unflatten_nodes['Protein'], 68) self.assertEqual(glycolysis_summary_unflatten_nodes['Composite'], 18) self.assertEqual(glycolysis_summary_unflatten_nodes['Complex'], 0) self.assertEqual(glycolysis_summary_flatten_nodes['Abundance'], 31) self.assertEqual( glycolysis_summary_unflatten_nodes['BiologicalProcess'], 7) self.assertEqual( self.ppar_bel_unflatten.summary_dict()['Number of Nodes'], 5) self.assertEqual(ppar_bel_unflatten_nodes['Abundance'], 2) self.assertEqual(ppar_bel_unflatten_nodes['Composite'], 1) # 1 protein BEL node and 1 phosphorylated protein BEL node self.assertEqual(ppar_bel_unflatten_nodes['Protein'], 2) self.assertEqual( self.ppar_bel_unflatten.summary_dict()['Number of Edges'], 5) self.assertEqual(ppar_bel_unflatten_edges['increases'], 2) self.assertEqual(ppar_bel_unflatten_edges['hasComponent'], 2) self.assertEqual(ppar_bel_unflatten_edges['hasVariant'], 1) self.assertEqual( self.ppar_bel_flatten.summary_dict()['Number of Nodes'], 4) self.assertEqual(ppar_bel_flatten_nodes['Abundance'], 2) self.assertEqual(ppar_bel_flatten_nodes['Composite'], 0) self.assertEqual(ppar_bel_flatten_nodes['Protein'], 2) self.assertEqual( self.ppar_bel_flatten.summary_dict()['Number of Edges'], 5) self.assertEqual(ppar_bel_flatten_edges['increases'], 4) self.assertEqual(ppar_bel_flatten_edges['hasVariant'], 1)