Пример #1
0
def estOE(d):
    gt = d['gt']['graph']
    gt = bfu.undersample(gt, 1)
    e = gk.OCE(d['estimate'], gt)
    N = np.double(len(gk.edgelist(gt))) +\
        np.double(len(gk.bedgelist(gt)))
    return (e['directed'][0] + e['bidirected'][0]) / N
Пример #2
0
def estOE(d):
    gt= d['gt']['graph']
    gt=bfu.undersample(gt,1)
    e = gk.OCE(d['estimate'],gt)
    N = np.double(len(gk.edgelist(gt))) +\
        np.double(len(gk.bedgelist(gt)))
    return (e['directed'][0]+e['bidirected'][0])/N
Пример #3
0
def estCOE(d):
    gt = d['gt']['graph']
    gt = bfu.undersample(gt, 1)
    e = gk.OCE(d['estimate'], gt)
    n = len(gt)
    N = np.double(n**2+(n-1)**2/2.0\
                  -len(gk.edgelist(gt))
                  -len(gk.bedgelist(gt)))
    return (e['directed'][1] + e['bidirected'][1]) / N
Пример #4
0
def estCOE(d):
    gt= d['gt']['graph']
    gt=bfu.undersample(gt,1)
    e = gk.OCE(d['estimate'],gt)
    n = len(gt)
    N = np.double(n**2+(n-1)**2/2.0\
                  -len(gk.edgelist(gt))
                  -len(gk.bedgelist(gt)))
    return (e['directed'][1]+e['bidirected'][1])/N
Пример #5
0
def checkvedge(v, g2):
    """ Nodes to check to merge the virtual nodes of v ( b<-a->c )
    """
    l = gk.bedgelist(g2)
    if (v[1],v[2]) in l:
        l = single_nodes(v,g2) + checkbedges(v,l,g2)
        for n in v:
            if n in g2[n]: l.append((n,n))
    else:
        l = checkbedges(v,l,g2)
    return list(set(l))
Пример #6
0
def vedgelist(g, pathtoo=False):
    """ Return a list of tuples for edges of g and forks
    a superugly organically grown function that badly needs refactoring
    """
    l = []
    el = gk.edgelist(g)
    bl = gk.bedgelist(g)

    if pathtoo: l.extend(make_longpaths(g,el))
    l2,r = make_allforks_and_rest(g,el,bl,dofullforks=True)
    l.extend(l2)

    A, singles = makechains(r)

    if singles:
        B, singles = makesinks(singles)
    else:
        B, singles = [], []

    l = longpaths_pick(l)+threedges_pick(l) + A + B + singles
    return l
Пример #7
0
def udensity(g): return (len(gk.edgelist(g))+len(gk.bedgelist(g))/2.)/np.double(len(g)**2 + len(g)*(len(g)-1)/2.)

def esig(l,n):