def plot_cdf_pos_randoms(pospairs, ppis):
    import plotting as pl
    pl.figure()
    pos,neg1 = pl.hist_pairs_nonpairs(ppis, pospairs, negmult=1, do_plot=False)
    pos,neg100 = pl.hist_pairs_nonpairs(ppis, pospairs, negmult=100,
            do_plot=False)
    for pairs in pos, neg1, neg100:
        pl.cdf(pairs,bins=np.arange(0,1.01,.01))
    pl.xlabel("PPI score")
    pl.ylabel("Cumulative fraction of population")
    pl.title('Several percent of sequential enzymes are high-scoring,\ncompared to much less than one percent for random shufflings')
    pl.legend(['Sequentials','Size-matched reshuffled','100x larger set of reshuffled'],loc=4)
Beispiel #2
0
def display_isophotes(data, isolist, bad='black', cbar_label='', cmap=cm.gray, 
                      norm=LogNorm(), vmin=None, vmax=None) :
    
    global currentFig
    fig = plt.figure(currentFig)
    currentFig += 1
    plt.clf()
    ax = fig.add_subplot(111)
    
    cmap = cmap
    cmap.set_bad(bad, 1)
    
    frame = ax.imshow(data, origin='lower', cmap=cmap, norm=norm,
                      vmin=vmin, vmax=vmax)
    cbar = plt.colorbar(frame)
    cbar.set_label(cbar_label)
    
    smas = isolist.sma
    for i in range(len(isolist)) :
        if (isolist.stop_code[i] == 0) and (isolist.nflag[i] == 0) :
            iso = isolist.get_closest(isolist.sma[i])
            x, y, = iso.sampled_coordinates()
            ax.plot(x, y, color='white')
    
    plt.tight_layout()
    plt.show()
    
    return
def plot_profiles(prots, eluts, sp='Hs', plot_sums=True, shape=None,
        min_count=1):
    """
    shape: (m,n) = m rows, n columns
    eluts: [el.NormElut(f, sp, norm_rows=False, norm_cols=False) for f in
    fs]
    """
    import plotting as pl
    gt = seqs.GTrans()
    use_eluts = elutions_containing_prots(eluts, sp, seqs.names2ids(prots),
            min_count)
    shape = shape if shape else ut.sqrt_shape(len(use_eluts)+1)
    fig = pl.figure()
    for i,e in enumerate(use_eluts):
        sp_target = ut.shortname(e.filename)[:2]
        pl.subplot(shape[0],shape[1],i+1)
        pl.title(ut.shortname(e.filename))
        pids = [gt.name2id[p] for p in prots]
        protsmax = max([np.max(e.normarr[r]) for p in pids if p in e.baseid2inds for
            r in e.baseid2inds[p]])
        plot_prots(e, pids, e.baseid2inds, protsmax)
        if plot_sums:
            # plot total spectral counts normalized to match biggest peak
            sums = np.sum(e.normarr,axis=0)
            fmax = np.max(sums)
            pl.plot(range(sums.shape[1]),
                    np.log2(sums[0,:]).T*np.log2(protsmax)*len(pids)/np.log2(fmax), 
                    color='k', linestyle='-', linewidth=.5)
    # make legend with all prots
    pl.subplot(shape[0],shape[1],0)
    for p in prots: pl.plot(0,label=p)
    pl.legend()
def plot_pairs_randoms_etc(sequentials, score_ppis, plusns=None):
    import plotting as pl
    pl.figure()
    plus2s, plus3s4s = plusns or plusn(sequentials)
    #plus2s = plusns or plusn(sequentials)
    rand_pairs = random_pairs(sequentials, len(sequentials))
    scores = [pl.hist_pairs_nonpairs(score_ppis, pairs, negmult=10,
        do_plot=False)
        for pairs in sequentials, plus2s, plus3s4s, rand_pairs]
        #for pairs in sequentials, plus2s, plus3s, plus4s, rand_pairs]
    ks_pvals = [ks_2samp(pos,neg)[1] for pos,neg in scores] # [1] is p-value
    logvals = [-np.log10(pval) for pval in ks_pvals]
    #pl.bar_plot(['%s\np < %0.3g' % (x,y) for x,y in zip('n,n+1 n,n+2 n,n+3 random'.split(), ks_pvals)], logvals)
    pl.bar_plot(['%s\np < %0.3g' % (x,y) for x,y in zip('n,n+1 n,n+2 n,n+3/4 random'.split(), ks_pvals)], logvals)
    pl.ylabel('-log10(p-value) : two-sample K/S test')
    pl.title('Intersection of recon and kegg sequential pairs\nNpairs=%s; %s n+2s, %s n+3s,n+4s' % (len(sequentials), len(plus2s), len(plus3s4s)))
    return logvals
def cluster_ids(gids, unnorm_eluts, sp, gt=None, dist='cosine', do_plot=True,
        norm_rows=True, bigarr=None, **kwargs):
    import plotting as pl
    import hcluster
    arr = (bigarr if bigarr is not None else single_array(gids, unnorm_eluts,
        sp, norm_rows=norm_rows))
    ymat = hcluster.pdist(arr, metric=dist)
    zmat = hcluster.linkage(ymat)
    zmat = np.clip(zmat, 0, 10**8)
    if do_plot: pl.figure()
    order = hcluster.dendrogram(zmat, no_plot=bool(1-do_plot), 
            **kwargs)['leaves']
    if do_plot: 
        ax = pl.gca()
        ax.axes.set_xticklabels([gt.id2name[gids[ind]] for ind in order])
        pl.figure() 
        pl.imshow(arr[order,:])
    return list(np.array(list(gids))[order])