plt.ion() NTRIALS = 500 # PLOT PARAMETERS FIGSIZE = (11, 4) FACECOLOR = 'k' BRAINCOLOR = 'm' MODELCOLOR = 'orange' ERCOLOR = 'r' FONTSIZE = 16 NBINS = 15 # load brain graph Gbrain, Abrain, Dbrain, labels = brain_graph(p_th=.05) # create model graph G, A, D = biophysical_model(N=bc.num_brain_nodes, N_edges=bc.num_brain_edges_directed, L=.75, gamma=1.) # create random graph Grandom, Arandom, Drandom = ER_distance(bc.num_brain_nodes, p=bc.p_brain_edge_directed) # calculate random swap cost distribution for brain and model brain_cost = swapped_cost_distr(Abrain, Dbrain, n_trials=NTRIALS) model_cost = swapped_cost_distr(A, D, n_trials=NTRIALS) random_cost = swapped_cost_distr(Arandom, Drandom, n_trials=NTRIALS)
for j,L in enumerate(Ls): for n in range(N): G, A, labels = biophysical_model(N=num_brain_nodes, N_edges=num_brain_edges_directed, L=L, gamma=1.) recip = reciprocity(A) modelReciprocity[j,n] = recip print "Reciprocity: " + str(np.mean(modelReciprocity[:,n])) + "(" + str(np.std(modelReciprocity[:,n])) + ")" meanReciprocity = np.mean(modelReciprocity,axis=1) G,A,labels = brain_graph() brainReciprocity = reciprocity(A) configReciprocity = np.zeros([20,1]) nodes = G.nodes() inDeg = G.in_degree(); inDeg = [inDeg[node] for node in nodes] outDeg = G.out_degree(); outDeg = [outDeg[node] for node in nodes] for j in range(20): G_config = nx.directed_configuration_model(inDeg,outDeg) A_config = nx.adjacency_matrix(G_config) A_configInt = np.zeros(A_config.shape,dtype=int) A_configInt[A_config < 0.5] = 0 A_configInt[A_config > 0.5] = 1 configReciprocity[j] = reciprocity(A_configInt)
from numpy import concatenate as cc from extract.brain_graph import binary_directed as brain_graph from random_graph.binary_directed import biophysical_reverse_outdegree_reciprocal as model_graph from metrics.binary_directed import reciprocity from network_plot.change_settings import set_all_text_fontsizes as set_fontsize from brain_constants import * # PARAMETERS NER = 100 # number of ER-directed graphs to generate NMODEL = 100 # load brain graph, adjacency matrix, and labels Gbrain, Abrain, labels = brain_graph() reciprocity_brain = reciprocity(G) # calculate reciprocity for several ER-directed graphs reciprocity_ER = np.zeros((NER,), dtype=float) for ctr in range(NER): GER = nx.erdos_renyi_graph(num_brain_nodes, p_brain_edge_directed, directed=True) reciprocity_ER[ctr] = reciprocity(GER) # calculate reciprocity for several model graphs reciprocity_model = np.zeros((NMODEL,), dtype=float) for ctr in range(NMODEL): print ctr Gmodel = model_graph(N=num_brain_nodes, N_edges=num_brain_edges_directed,
""" Created on Fri Jan 23 13:11:36 2015 @author: rkp Plot the in- vs. outdegree distribution for the Allen Brain mouse connectome. """ import numpy as np import matplotlib.pyplot as plt import networkx as nx from extract.brain_graph import binary_directed as brain_graph from graph_tools.auxiliary import swap_node_positions as swap plt.ion() # PLOT PARAMETERS FACECOLOR = 'black' MARKERCOLOR='m' FONTSIZE = 24 NBINS = 15 # load brain graph, adjacency matrix, and labels G, A, D, labels = brain_graph(p_th=.01) brain_avg_shortest_path = nx.average_shortest_path_length(G, weight='distance') # randomly swap two nodes Gswapped, Dswapped = swap(G, D) swapped_avg_shortest_path = nx.average_shortest_path_length(Gswapped, weight='distance')
from numpy import concatenate as cc from extract.brain_graph import binary_directed as brain_graph from random_graph.binary_directed import biophysical_reverse_outdegree as biophysical_model from network_plot.change_settings import set_all_text_fontsizes as set_fontsize import aux_random_graphs from brain_constants import * if __name__ == "__main__": # load brain graph, adjacency matrix, and labels G_brain, A_brain, labels_brain = brain_graph() G_model, A_model, labels_model = biophysical_model(N=num_brain_nodes, N_edges=num_brain_edges_directed, L=.76, gamma=1.) Gs = [G_brain,G_model] As = [A_brain,A_model] allLabels = [labels_brain,labels_model] fig,axs = plt.subplots(1,ncols=2,facecolor='white') for g,G in enumerate(Gs): A = As[g] labels = allLabels[g]
rowspan=cf.top_margin_rowspan, colspan=cf.top_margin_colspan, sharex=left_main_ax) right_margin_ax = plt.subplot2grid(cf.subplot_divisions, cf.right_margin_location, rowspan=cf.right_margin_rowspan, colspan=cf.right_margin_colspan, sharey=left_main_ax) # To make log axes we need to create another axes on top of our existing ones top_dummy_ax = top_margin_ax.twinx() right_dummy_ax = right_margin_ax.twiny() # Extract information for the Allen mouse connectome G, _, _ = brain_graph() # Get in- & out-degree indeg = np.array([G.in_degree()[node] for node in G]) outdeg = np.array([G.out_degree()[node] for node in G]) deg = indeg + outdeg # Calculate proportion in degree percent_indeg = indeg / deg.astype(float) a1 = 1.0 # Left main plot (in vs out degree) left_main_ax.scatter(indeg, outdeg, c=config.COLORS['brain'], s=cf.MARKERSIZE,
rowspan=cf.top_margin_rowspan, colspan=cf.top_margin_colspan, sharex=left_main_ax) right_margin_ax = plt.subplot2grid(cf.subplot_divisions, cf.right_margin_location, rowspan=cf.right_margin_rowspan, colspan=cf.right_margin_colspan, sharey=left_main_ax) # To make log axes we need to create another axes on top of our existing ones top_dummy_ax = top_margin_ax.twinx() right_dummy_ax = right_margin_ax.twiny() # Extract information for the Allen mouse connectome G, _, _ = brain_graph() # Get in- & out-degree indeg = np.array([G.in_degree()[node] for node in G]) outdeg = np.array([G.out_degree()[node] for node in G]) deg = indeg + outdeg # Calculate proportion in degree percent_indeg = indeg / deg.astype(float) a1 = 1.0 # Left main plot (in vs out degree) left_main_ax.scatter(indeg, outdeg, c=config.COLORS['brain'], s=cf.MARKERSIZE, lw=0, alpha=ALPHA) left_main_ax.set_xlabel('In-degree')
Plot proportion in-degree of mouse connectome """ import numpy as np import matplotlib.pyplot as plt import os import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from extract.brain_graph import binary_directed as brain_graph from config import COLORS fontsize = 12 # Load connectome graph G = brain_graph()[0] # Calculate proportion in-degree outdeg = G.out_degree() indeg = G.in_degree() nodes = G.nodes() sumdeg = [float(outdeg[node] + indeg[node]) for node in nodes] prop_indeg = [indeg[node] / sumdeg[node] for node in nodes] # Plot in-degree fig, ax = plt.subplots(1, facecolor='w', figsize=(3.5, 2.75)) fig.subplots_adjust(bottom=0.2, left=0.2) bins = np.linspace(0, 1, 11) ax.hist(prop_indeg, bins, facecolor=COLORS['brain'])
from __future__ import division import numpy as np import networkx as nx import os from extract.brain_graph import binary_directed as brain_graph from network_compute import reciprocity G, A, labels = brain_graph() edges = G.edges() edges = {edge: 1 for edge in edges} recip_counter = 0 for edge in edges: complementary_edge = (edge[1], edge[0]) if edges.has_key(complementary_edge): recip_counter += 1 recip_counter /= 2 # double-counted above recip_from_loop = recip_counter / len(edges) recip_from_function = reciprocity(A) print("Reciprocity from loop: %.3f" % (recip_from_loop)) print("Reciprocity from function: %.3f" % (recip_from_function))