import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values) import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1]) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1]) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color=set1[1]) import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values, widths=0.15) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1]) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1]) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color=set1[1]) import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values, widths=0.15) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1]) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1], linestyle='solid', linewidth=0.5) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color=set1[1]) import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values, widths=0.15) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1], linewidth=0.5) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1], linestyle='solid', linewidth=0.5) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color=set1[1]) import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values, widths=0.15) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticklabels(df.columns) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1], linewidth=0.5) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1], linestyle='solid', linewidth=0.5) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color='none') import brewer2mpl import random import pandas as pd import numpy as np np.random.seed(10) df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D']) set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors fig = plt.figure() ax = fig.add_subplot(111) bp = ax.boxplot(df.values, widths=0.15) ax.xaxis.set_ticklabels(df.columns) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.spines['bottom'].set_visible(False) ax.xaxis.set_ticks_position('none') ax.yaxis.set_ticks_position('none') set1 = brewer2mpl.get_map('Set1', 'qualitative', 7).mpl_colors plt.setp(bp['boxes'], color=set1[1], linewidth=0.5) plt.setp(bp['medians'], color=set1[0]) plt.setp(bp['whiskers'], color=set1[1], linestyle='solid', linewidth=0.5) plt.setp(bp['fliers'], color=set1[1]) plt.setp(bp['caps'], color='none') ax.spines['left']._linewidth = 0.5 %run /Users/olga/Dropbox/Docs/UCSD/rotations/q1-fall-ideker/src/YeastTFs.py fig = plt.figure() ax = fig.add_subplot(111) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): # ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] # Linear regression ax.scatter(x, y, c=tf.color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.set_title('Local alignment score vs Fraction common bound') ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') plt.tight_layout() import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=tf.color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.set_title(tf.id) ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) import brewer2mpl set2 = brewer2mpl.get_map('set2', 'qualitative', 3).mpl_colors color = set2[0] fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] alignments = ['local', 'global'] features = ['identity', 'similarity', 'score'] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.set_title(tf.id) ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') plt.tight_layout() import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) from scipy import stats import brewer2mpl set2 = brewer2mpl.get_map('set2', 'qualitative', 3).mpl_colors color = set2[0] fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] alignments = ['local', 'global'] features = ['identity', 'similarity', 'score'] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.set_title(tf.id) ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') # Linear regression slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) x_fit = np.arange(xlim[0], xlim[1], (xlim[1]-xlim[0])/100.) y_fit = np.multiply(x_fit, slope) + intercept # Plot linear regression line ax.plot(x_fit,y_fit, color='grey') # Write 'R' value onto plot ax.text(xlim[1], ylim[1],'$R^2$ = %.4f' % r_value,fontsize=12, ha='right',va='top') plt.tight_layout() import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) from scipy import stats import brewer2mpl set2 = brewer2mpl.get_map('set2', 'qualitative', 3).mpl_colors color = set2[0] fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] alignments = ['local', 'global'] features = ['identity', 'similarity', 'score'] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.set_title(tf.id) ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') # --- Linear regression --- # slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) x_fit = np.arange(xlim[0], xlim[1], (xlim[1]-xlim[0])/100.) y_fit = np.multiply(x_fit, slope) + intercept # Plot linear regression line ax.plot(x_fit,y_fit, color='grey') # Write 'R' value onto plot ax.text(xlim[1], ylim[1],'$R^2$ = %.4f' % r_value,fontsize=12, ha='right',va='top') # --- Thin out the axis lines --- # ax.spines['left']._linewidth = 0.5 ax.spines['bottom']._linewidth = 0.5 plt.tight_layout() import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) from scipy import stats import brewer2mpl set2 = brewer2mpl.get_map('set2', 'qualitative', 3).mpl_colors color = set2[0] fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] alignments = ['local', 'global'] features = ['identity', 'similarity', 'score'] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) ax.set_title(tf.id) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') # --- Linear regression --- # slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) x_fit = np.arange(xlim[0], xlim[1], (xlim[1]-xlim[0])/100.) y_fit = np.multiply(x_fit, slope) + intercept # Plot linear regression line ax.plot(x_fit,y_fit, color='grey') # Write 'R' value onto plot ax.text(xlim[1], ylim[1],'$R^2$ = %.4f' % r_value,fontsize=12, ha='right',va='top') # --- Thin out the axis lines --- # ax.spines['left']._linewidth = 0.5 ax.spines['bottom']._linewidth = 0.5 # Only label the x and y axis of the first plot, since they are all the same if i == 0: ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') plt.tight_layout() import math num_plots = len(yeast_tfs.pombe_tfs) n = int(math.ceil(math.sqrt(num_plots))) from scipy import stats import brewer2mpl set2 = brewer2mpl.get_map('set2', 'qualitative', 3).mpl_colors color = set2[0] fig = plt.figure(figsize=(10,10)) # Maximum value we see for fraction common bound xlim = [0,0.25] # Maximum value we see for alignment scores ylim = [0,800] axes = [plt.subplot(n,n,i) for i in range(1,num_plots+1)] alignments = ['local', 'global'] features = ['identity', 'similarity', 'score'] feature='score' alignment = 'local' for i, tf in enumerate(yeast_tfs.pombe_tfs): ax = axes[i] ind = tf.binary_ind x = tf.cerev_common_bound_fraction[tf.cerev_common_ind[ tf.cerev_common_ind != False]] y = tf.__dict__['df_'+alignment].ix[ind,feature] ax.scatter(x, y, c=color, edgecolor='black', lw=0.2) ax.set_ylim(ylim) ax.set_xlim(xlim) ax.set_title(tf.id) # Remove top and right axes and ticks ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) ax.yaxis.set_ticks_position('none') ax.xaxis.set_ticks_position('none') ax.spines['left']._linewidth = 0.5 ax.spines['bottom']._linewidth = 0.5 # --- Linear regression --- # slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) x_fit = np.arange(xlim[0], xlim[1], (xlim[1]-xlim[0])/100.) y_fit = np.multiply(x_fit, slope) + intercept # Plot linear regression line ax.plot(x_fit,y_fit, color='grey') # Write 'R' value onto plot ax.text(xlim[1], ylim[1],'$R^2$ = %.4f' % r_value,fontsize=12, ha='right',va='top') # --- Thin out the axis lines --- # ax.spines['left']._linewidth = 0.5 ax.spines['bottom']._linewidth = 0.5 # Only label the x and y axis of the first plot, since they are all the same if i == 0: ax.set_xlabel('fraction common bound') ax.set_ylabel('local alignment score') # Python's built-in range is fine for making a sequence of integers ax.yaxis.set_ticks(range(ylim[1]/4,ylim[1]+ylim[1]/4,ylim[1]/4)) # Need to use np.arange to make a sequence of floats ax.xaxis.set_ticks(np.arange(xlim[1]/5, xlim[1]+2*xlim[1]/5, 2*xlim[1]/5)) plt.tight_layout()