Пример #1
0
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
Пример #2
0
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
Пример #3
0
 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()
Пример #4
0
 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()
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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