Example #1
0
def plot_easy_inference():
    dg = io.getGraph()
    pos = gd.getpos(dg)
    
    f = myplots.fignum(4, (8,8))
    ax = f.add_subplot(111)
    ax.set_title('putative worm chip network')
    gd.easy_draw(dg, pos)

    f.savefig(myplots.figpath('worm_chip_graph.pdf'))
Example #2
0
def load(plots = defplots,
         reset = False):
    kwargs = dict(reset = reset)
    edge_set = get_edge_set()
    g = get_graph(**mem.sr(kwargs))
    pos = get_pos(**mem.sr(kwargs))
    trips = set([])
    for k1 in g:
        for k2 in g[k1].keys():
            for k3 in g[k1].keys():
                if g[k2].has_key(k3):
                    trips.add((k2,k3,k1))

    tripoints = dict([((e[0],e[1]),pos[e[2]]) for e in trips])
    if plots.get('basic_structure', False):
        f = myplots.fignum(1)
        ax = f.add_subplot(111)
        gd.easy_draw(g, pos)
        
        f.savefig(myplots.figpath('basic_structure_edges={0}'.format(edge_set))) 

    if plots.get('feed_forward', True):
        gd.overlay(g,pos,g.edges(),
                   tripoints = tripoints, 
                   alphas = dict([(e,.1) for e in g.edges()]))
                   
        f.savefig(myplots.figpath('feed_forward_edges={0}'.format(edge_set)))

    if plots.get('degrees' , False):
        make_degree_plots_0();

    maxflow = nx.algorithms.ford_fulkerson(g, 'AVAL','PVPL','weight')

    imaps = get_array_imaps()
    nnames = imaps['nnames']
    node_stats = dict([(k,{}) for k in nnames])
    for k,v in node_stats.iteritems():
        v['out_degree'] = len([e for e in g.edges() if e[0] == k])
        v['in_degree'] = len([e for e in g.edges() if e[1] == k])
        
    f = myplots.fignum(3, (12,6))
    outs = [v['out_degree'] for k, v in node_stats.iteritems()]
    ins =[v['in_degree'] for k , v in node_stats.iteritems()]
    raw_data= array([outs,ins]).T





    make_data_transform(raw_data)
    data = transform_data(raw_data)
    kd = make_kdtree(data)
    k = 5 
    nn = compute_nns(kd, k)
    knn= nn['nn']
    knn_dists = nn['dists']
    dists = compute_dists(data)


    mean_dists = np.mean(knn_dists[:,1:],1)
    mean_colors =sqrt(mean_dists[:,newaxis] * [1/np.max(mean_dists), 0,0])

    ax = f.add_subplot(121)

    ax.scatter(data[:,0],data[:,1],s = 15,
              facecolor = mean_colors,
              edgecolor = 'none'
               )
    
    ax.set_xlabel('scaled out degree')
    ax.set_ylabel('scaled in degree')

    ax2 = f.add_subplot(122)

    ax2.imshow(dists,
               interpolation = 'nearest',
               aspect = 'auto')
    ax2.set_title('distance matrix for scaled degrees')
    
    f.savefig(myplots.figpath('distances_{0}'.format(edge_set)))
        

    return g