def heatmap_cor(x, vec, minval, maxval): # Compute and plots heatmap & dendrogram. norm, corr, dist = analyse.all_corr(vec) print 'statrting to cluster...' fig = plt.figure(figsize=(8, 8)) ax1 = fig.add_axes([0.09, 0.1, 0.2, 0.6]) z = fastcluster.linkage(dist, method='complete') #z=fastcluster.linkage(norm,metric='euclidean', method='ward') print 'clustering done, drawing the dendogram' Z1 = sch.dendrogram(z, labels=x, orientation='right') del norm del dist plt.yticks(fontsize=8) #ax1.set_yticks([]) ticks = ax1.get_xticks() #/ max(ax1.get_xticks()) ticks = map(float, ticks) ticks = ['%.2f' % (a / 2.) for a in ticks] ax1.set_xticklabels(ticks) # Plot distance matrix. axmatrix = fig.add_axes([0.4, 0.1, 0.5, 0.6]) axmatrix.set_xticks([]) axmatrix.set_yticks([]) axmatrix.xaxis.tick_top() axmatrix.set_frame_on(False) idx1 = Z1['leaves'] idx2 = Z1['leaves'] xx = [] for i in idx1: xx.append(x[int(i)]) D = corr[idx1, :] D = D[:, idx2] print 'heatmap' im = axmatrix.pcolor( D, cmap=plt.cm.RdYlBu, edgecolor='k', ) plt.xticks(fontsize=5) plt.yticks([]) xx = [] for i in idx1: xx.append(x[int(i)]) #plt.yticks(np.arange(len(x)),xx,fontsize = 12) plt.xticks(np.arange(len(x)), xx) plt.xticks(rotation=90) plt.xticks(fontsize=8) axcolor = fig.add_axes([0.91, 0.1, 0.02, 0.6]) plt.colorbar(im, cax=axcolor) fig.show() return xx
def heatmap_cor( x, vec, minval, maxval ): # Compute and plots heatmap & dendrogram. norm,corr,dist=analyse.all_corr(vec) print 'statrting to cluster...' fig = plt.figure(figsize=(8,8)) ax1 = fig.add_axes([0.09,0.1,0.2,0.6]) z=fastcluster.linkage(dist, method='complete') #z=fastcluster.linkage(norm,metric='euclidean', method='ward') print 'clustering done, drawing the dendogram' Z1 = sch.dendrogram(z, labels=x,orientation='right') del norm del dist plt.yticks(fontsize=8) #ax1.set_yticks([]) ticks = ax1.get_xticks() #/ max(ax1.get_xticks()) ticks=map(float,ticks) ticks = ['%.2f' % (a/2.) for a in ticks] ax1.set_xticklabels(ticks) # Plot distance matrix. axmatrix = fig.add_axes([0.4,0.1,0.5,0.6]) axmatrix.set_xticks([]) axmatrix.set_yticks([]) axmatrix.xaxis.tick_top() axmatrix.set_frame_on(False) idx1 = Z1['leaves'] idx2 = Z1['leaves'] xx=[] for i in idx1: xx.append(x[int(i)]) D = corr[idx1,:] D = D[:,idx2] print 'heatmap' im = axmatrix.pcolor(D, cmap=plt.cm.RdYlBu,edgecolor='k',) plt.xticks(fontsize=5) plt.yticks([]) xx=[] for i in idx1: xx.append(x[int(i)]) #plt.yticks(np.arange(len(x)),xx,fontsize = 12) plt.xticks(np.arange(len(x)),xx) plt.xticks(rotation=90) plt.xticks(fontsize=8) axcolor = fig.add_axes([0.91,0.1,0.02,0.6]) plt.colorbar(im, cax=axcolor) fig.show() return xx
def heatmap(rpkmls,hugo,txt): rpkmls=data2arr(rpkmls) norm,matrix,dist=analyse.all_corr(rpkmls.T) plt.matshow((matrix),cmap='RdYlBu',vmax=1,vmin=-1) plt.yticks(range(len(hugo)),hugo) plt.xticks(range(len(hugo)),hugo) plt.xticks(rotation=90) plt.xlabel('Correlation-'+txt) plt.colorbar()
def heatmap(rpkmls, hugo, txt): rpkmls = data2arr(rpkmls) norm, matrix, dist = analyse.all_corr(rpkmls.T) plt.matshow((matrix), cmap='RdYlBu', vmax=1, vmin=-1) plt.yticks(range(len(hugo)), hugo) plt.xticks(range(len(hugo)), hugo) plt.xticks(rotation=90) plt.xlabel('Correlation-' + txt) plt.colorbar()
def heatmap_vec( x, y , vec ): # Compute and plot first dendrogram. vec=np.array(vec) mn=np.mean(vec,axis=1) mat=[] ylb=[] for i in xrange(len(mn)): if mn[i]>0.: mat.append(vec[i]) ylb.append(y[i]) mat=np.array(mat) norm,corr,dist=analyse.all_corr(mat.T) del corr fig = plt.figure(figsize=(8,8)) ax1 = fig.add_axes([0.09,0.1,0.25,0.6]) print 'fastcluster...' z=fastcluster.linkage(dist , method='complete') del dist #print 'dendogramming...' Z1 = sch.dendrogram(z,orientation='right') ticks = ax1.get_xticks() ticks=np.array(ticks) ticks/=2. ticks = ['%.1f' % a for a in ticks] ax1.set_xticklabels(ticks) idx1 = Z1['leaves'] yy=[] for i in idx1: yy.append(ylb[int(i)]) ax1.set_yticks(range(len(yy)),yy) if len(yy)<20: ax1.set_yticklabels(yy,fontsize=12) elif len(yy)<50: ax1.set_yticklabels(yy,fontsize=6) elif len(yy)<150: ax1.set_yticklabels(yy,fontsize=4) elif len(yy)<250: ax1.set_yticklabels(yy,fontsize=3) elif len(yy)<500: ax1.set_yticklabels(yy,fontsize=2) elif len(yy)<1500: ax1.set_yticklabels(yy,fontsize=1) else: ax1.set_yticklabels(yy,fontsize=.2) # Plot distance matrix. axmatrix = fig.add_axes([0.4,0.1,0.5,0.6]) D = norm[idx1,:] D=D[::-1,:] im = axmatrix.matshow(D, aspect='auto', origin='lower',cmap='RdYlBu', alpha=0.8,vmin=0) plt.xticks(np.arange(len(x)),x) plt.xticks(rotation=90) mytemplate(D) plt.xticks(fontsize=6) axmatrix.set_yticks([]) #print x # Plot colorbar. axcolor = fig.add_axes([0.91,0.3,0.01,0.4]) plt.colorbar(im, cax=axcolor) return yy
def heatmap_vec(x, y, vec): # Compute and plot first dendrogram. vec = np.array(vec) mn = np.mean(vec, axis=1) mat = [] ylb = [] for i in xrange(len(mn)): if mn[i] > 0.: mat.append(vec[i]) ylb.append(y[i]) mat = np.array(mat) norm, corr, dist = analyse.all_corr(mat.T) del corr fig = plt.figure(figsize=(8, 8)) ax1 = fig.add_axes([0.09, 0.1, 0.25, 0.6]) print 'fastcluster...' z = fastcluster.linkage(dist, method='complete') del dist #print 'dendogramming...' Z1 = sch.dendrogram(z, orientation='right') ticks = ax1.get_xticks() ticks = np.array(ticks) ticks /= 2. ticks = ['%.1f' % a for a in ticks] ax1.set_xticklabels(ticks) idx1 = Z1['leaves'] yy = [] for i in idx1: yy.append(ylb[int(i)]) ax1.set_yticks(range(len(yy)), yy) if len(yy) < 20: ax1.set_yticklabels(yy, fontsize=12) elif len(yy) < 50: ax1.set_yticklabels(yy, fontsize=6) elif len(yy) < 150: ax1.set_yticklabels(yy, fontsize=4) elif len(yy) < 250: ax1.set_yticklabels(yy, fontsize=3) elif len(yy) < 500: ax1.set_yticklabels(yy, fontsize=2) elif len(yy) < 1500: ax1.set_yticklabels(yy, fontsize=1) else: ax1.set_yticklabels(yy, fontsize=.2) # Plot distance matrix. axmatrix = fig.add_axes([0.4, 0.1, 0.5, 0.6]) D = norm[idx1, :] D = D[::-1, :] im = axmatrix.matshow(D, aspect='auto', origin='lower', cmap='RdYlBu', alpha=0.8, vmin=0) plt.xticks(np.arange(len(x)), x) plt.xticks(rotation=90) mytemplate(D) plt.xticks(fontsize=6) axmatrix.set_yticks([]) #print x # Plot colorbar. axcolor = fig.add_axes([0.91, 0.3, 0.01, 0.4]) plt.colorbar(im, cax=axcolor) return yy
def heatmap_cor( x, vec, minval, maxval,*track ): preprocessCore = importr('preprocessCore') # Compute and plots heatmap & dendrogram. it shows the correlation in the right panel #norm,corr,dist=analyse.all_corr(vec) print 'statrting to cluster...' fig = plt.figure(figsize=(8,8)) ax1 = fig.add_axes([0.09,0.1,0.2,0.8]) #z=fastcluster.linkage(dist, method='ward') v = robjects.FloatVector([ element for col in vec.T for element in col ]) m = robjects.r['matrix'](v, ncol = len(vec.T), byrow=False) Rnormalized_matrix = preprocessCore.normalize_quantiles(m) normalized_matrix = numpy.array( Rnormalized_matrix) norm,corr,dist=analyse.all_corr(vec) z=fastcluster.linkage(norm,metric='correlation', method="ward") #z=fastcluster.linkage(dist, method='complete') print 'clustering done, drawing the dendogram' Z1 = sch.dendrogram(z, labels=x,orientation='right') plt.yticks(fontsize=8) #ax1.set_yticks([]) ticks = ax1.get_xticks() #/ max(ax1.get_xticks()) ticks=map(float,ticks) ticks = ['%.2f' % (a/2.) for a in ticks] ax1.set_xticklabels(ticks) # Plot distance matrix. axmatrix = fig.add_axes([0.4,0.1,0.5,0.8]) axmatrix.set_xticks([]) axmatrix.set_yticks([]) axmatrix.xaxis.tick_top() #axmatrix.set_frame_on(False) idx1 = Z1['leaves'] idx2 = Z1['leaves'] xx=[] for i in idx1: xx.append(x[int(i)]) D = corr[idx1,:] D = D[:,idx2] im = axmatrix.pcolor(D, cmap=plt.cm.RdYlBu) #im = axmatrix.pcolor(D, cmap=plt.cm.RdYlBu,edgecolor='w',) plt.xticks(fontsize=5) plt.yticks([]) del norm del dist del corr del D xx=[] for i in idx1: xx.append(x[int(i)]) #plt.yticks(np.arange(len(x)),xx,fontsize = 12) plt.xticks(np.arange(len(x)),xx) plt.xticks(rotation=90) plt.xticks(fontsize=8) axcolor = fig.add_axes([0.91,0.1,0.02,0.1]) plt.colorbar(im, cax=axcolor) fig.show() if len(track)>0: track=track[0] labels=track[0] track=track[1] for i in xrange(len(labels)): labels[i]=labels[i].replace('_','') category=[] print len(xx), len(labels) #print labels for i in xx: try: ind=labels.index(i) except: print i, 'not in labels' category.append(track[ind]) category=np.array(category) category=np.array([category,category]) axmatrix = fig.add_axes([0.35,0.1,0.02,.87]) axmatrix.set_frame_on(False) im=axmatrix.pcolor(category.T) plt.xticks([]) plt.yticks([]) return xx , category[0] return xx