{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "6c677c46-f5ef-46df-ad36-44151259ee86", "metadata": { "tags": [] }, "outputs": [], "source": [ "import os,random,itertools,matplotlib\n", "import numpy as np\n", "import scipy as sp\n", "import pandas as pd\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt \n", "# Umitools\n", "from umi_tools._dedup_umi import edit_distance\n", "matplotlib.rcParams['font.family'] = 'Helvetica'\n", "\n", "def str2array(s):\n", " a,b= s.split('\\t')[:2]\n", " return (a,int(b))\n", "\n", "def merge_edit_1(counts):\n", " keep,collapse = [],counts[0:]\n", " while len(collapse)>0:\n", " ref = list(collapse[0]) # need to convert to list here otherwise will keep updating the value to new_cluster\n", " temp = []\n", " for s in collapse[1:]:\n", " s1 = ref[0]\n", " s2 = s[0]\n", " if abs(len(s1)-len(s2))<=1 and edit_distance(s1.encode('utf-8'),s2.encode('utf-8'))<2:\n", " ref[-1] += s[-1]\n", " else:\n", " temp.append(s)\n", " keep.append(ref)\n", " collapse = temp[0:]\n", " return np.array(keep,dtype=object)\n", "\n", "def reverse_complement(seq):\n", " \"\"\"This function returns the reverse_complement sequence of the input sequence\n", " from 3' to 5' \"\"\"\n", " complement = {'A':'T', 'C':'G','G':'C', 'T':'A', 'N':'N'}\n", " rcomp_seq = ''\n", " for base in seq:\n", " rcomp_seq = complement[base] + rcomp_seq \n", " return rcomp_seq\n", "%matplotlib inline\n" ] }, { "cell_type": "markdown", "id": "a8ccdc25-543b-4c1e-b5d3-0b697cf7eaa2", "metadata": { "tags": [] }, "source": [ "# FigureS3 a-b 4 enhancer MPRA vs ENGRAM" ] }, { "cell_type": "code", "execution_count": 2, "id": "f0aa8c24-bf08-42eb-b090-d302aef6dba4", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "89.59003215434085\n", "88.41262364578427\n", "86.3926576217079\n" ] } ], "source": [ "path = '../Figure2/4_enhancer_mix/'\n", "samples =sorted([s.split('_bc_count.tsv')[0] for s in os.listdir(path) if '.tsv' in s ])\n", "bc_ref = pd.read_table(path+'enhancer_ref.txt',header=None,names=['enhancer','barcode','ES'])\n", "edits = []\n", "df_stack = pd.DataFrame(columns=['enhancer','ratio','rep','sample'])\n", "for s in samples:\n", " file = path+s\n", " #rcount = int(read_count[read_count['sample'].str.contains(s)]['counts'])\n", " with open(file +'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " count_table = np.array([a for a in merge_edit_1([a for a in [str2array(s) for s in temp] if a[0]=='' or len(a[0])==5]) if a[1]>10])\n", " ratio = sum(count_table[1:,1])/sum(count_table[:,1])\n", " f.close()\n", " df = pd.DataFrame([count_table[1:,0],count_table[1:,1]/sum(count_table[:,1])*100]).T.merge(bc_ref,left_on=0,right_on='barcode',how='right')\n", " #df[1] = df[1]/df['ES'].rpow(2)\n", " df = df.groupby(df['enhancer'],as_index=False).aggregate({1: 'sum',})\n", " df['rep'] = s.split(\"_\")[-1]\n", " df['sample'] = 'Bm'\n", " df.columns = ['enhancer','ratio','rep','sample']\n", " x= df[df['enhancer']=='Active']['ratio'].sum()/df[df['enhancer']!='Active']['ratio'].sum()\n", " print (100/(x+1)*x)\n", " df_stack = pd.concat((df_stack,df))\n", " #df['barcode'] = df[0].apply(reverse_complement)\n", "df_stack = df_stack.reset_index(drop=True)" ] }, { "cell_type": "code", "execution_count": 3, "id": "e9b3e3ac-a415-4dcc-9fe5-50f405a67410", "metadata": { "tags": [] }, "outputs": [], "source": [ "df = pd.DataFrame([count_table[1:,0],count_table[1:,1]/sum(count_table[:,1])*100]).T.merge(bc_ref,left_on=0,right_on='barcode',how='right')" ] }, { "cell_type": "code", "execution_count": 4, "id": "62f7b3e4-eb1d-4d30-b64f-c9bb16e666e8", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15.062568073690352 0.00037536649916417676\n", "23.6422411098034 0.0003373853761871422\n", "41.31212534758922 0.0003136308260921942\n" ] } ], "source": [ "print (df_stack[df_stack['enhancer']=='Active']['ratio'].mean()/df_stack[df_stack['enhancer']=='Inactive']['ratio'].mean(),\\\n", " sp.stats.ttest_ind(list(df_stack[df_stack['enhancer']=='Active']['ratio']),list(df_stack[df_stack['enhancer']=='Inactive']['ratio']), \n", " equal_var=True)[1])\n", "print (df_stack[df_stack['enhancer']=='Active']['ratio'].mean()/df_stack[df_stack['enhancer']=='minP']['ratio'].mean(),\\\n", " sp.stats.ttest_ind(list(df_stack[df_stack['enhancer']=='Active']['ratio']),list(df_stack[df_stack['enhancer']=='minP']['ratio']), \n", " equal_var=True)[1])\n", "print (df_stack[df_stack['enhancer']=='Active']['ratio'].mean()/df_stack[df_stack['enhancer']=='Pless']['ratio'].mean(),\\\n", " sp.stats.ttest_ind(list(df_stack[df_stack['enhancer']=='Active']['ratio']),list(df_stack[df_stack['enhancer']=='Pless']['ratio']), \n", " equal_var=True)[1])" ] }, { "cell_type": "code", "execution_count": 6, "id": "4a03995f-cd1b-4cba-99a5-d0735f70dcf6", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(figsize=(1,1.5),sharey=False,sharex=False)\n", "g=sns.barplot(data=df_stack, x=\"sample\", y='ratio', hue=\"enhancer\",\\\n", " palette=['#B7B7B7','#80B1D3','#FFB4AC','#FB8072'],hue_order=['Pless','minP','Inactive','Active'],errwidth=0.5, errorbar='sd', capsize=.06,ax=axs)\n", "sns.stripplot(data=df_stack, x=\"sample\", y='ratio',hue=\"enhancer\",hue_order=['Pless','minP','Inactive','Active'], dodge=True,palette='dark:#4A4A4A',marker='.',size=4,ax=axs)\n", "\n", "axs.set_xlabel('');\n", "#g.set_box_aspect(6/len(g.patches))\n", "axs.set_ylim(0,4)\n", "start, end = axs.get_ylim()\n", "axs.yaxis.set_ticks(np.arange(start, end+0.2, 1))\n", "axs.set_ylabel('Editing efficiency (%)',fontsize=7)\n", "\n", "axs.xaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "sns.despine(offset=3)\n", "axs.legend([],[], frameon=False)\n", "#plt.savefig('../Figure2/figs/Supp_4_enhancer_mix.pdf')" ] }, { "cell_type": "markdown", "id": "00959c38-ff72-4d7a-bdfe-3b1fccae425c", "metadata": { "tags": [] }, "source": [ "# Figure2 300 enhancer MPRA vs ENGRAM" ] }, { "cell_type": "markdown", "id": "fa9461c6-d199-43cd-aaf2-4208ce95c3e9", "metadata": { "tags": [] }, "source": [ "## Compare endo and Synthetic TAPE efficiency" ] }, { "cell_type": "code", "execution_count": 7, "id": "56ffca4d-5fd6-42b8-b129-73584f106be3", "metadata": { "tags": [] }, "outputs": [], "source": [ "path = '../Figure2/300_enhancer/Hek3/'\n", "endo_eff,syn_eff = [],[]\n", "\n", "df_endo = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", "samples =sorted([s.split('_S')[0] for s in os.listdir(path) if '.gz' in s and 'R1' in s and '16X' in s])\n", "for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==0 or len(a[0])==6]),columns=['barcode','count'])\n", " test['barcode'] = test['barcode']\n", " df_endo = df_endo.merge(test,on='barcode',how='inner').fillna(0)\n", " endo_eff.append((1-test.loc[0,'count']/test['count'].sum())*100)\n", " f.close()\n", "df_endo.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", "df_endo['ratio_rep1'] = np.log2((df_endo['ins_rep1']+1)/(df_endo['ins_rep1'].sum()+1))#\n", "df_endo['ratio_rep2'] = np.log2((df_endo['ins_rep2']+1)/(df_endo['ins_rep2'].sum()+1))#*10**6\n", "df_endo['ratio_rep3'] = np.log2((df_endo['ins_rep3']+1)/(df_endo['ins_rep3'].sum()+1))#*10**6\n", "df_endo['ratio_all'] = np.log2((df_endo['ins_rep1']+df_endo['ins_rep2']+df_endo['ins_rep3']+1)/\n", " (df_endo['ins_rep1'].sum()+df_endo['ins_rep2'].sum()+df_endo['ins_rep3'].sum()+1))#*10**6\n", "\n", "path = '../Figure2/300_enhancer/synHek3/'\n", "df_syn = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", "samples =sorted([s.split('_S')[0] for s in os.listdir(path) if '.gz' in s and 'R1' in s and '16X' in s])\n", "for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==0 or len(a[0])==6]),columns=['barcode','count'])\n", " test['barcode'] = test['barcode'].apply(reverse_complement)\n", " df_syn = df_syn.merge(test,on='barcode',how='inner').fillna(0)\n", " syn_eff.append((1-test.loc[0,'count']/test['count'].sum())*100)\n", " f.close()\n", "\n", "df_syn.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", "df_syn['ratio_rep1'] = np.log2((df_syn['ins_rep1']+1)/(df_syn['ins_rep1'].sum()+1))#\n", "df_syn['ratio_rep2'] = np.log2((df_syn['ins_rep2']+1)/(df_syn['ins_rep2'].sum()+1))#*10**6\n", "df_syn['ratio_rep3'] = np.log2((df_syn['ins_rep3']+1)/(df_syn['ins_rep3'].sum()+1))#*10**6\n", "df_syn['ratio_all'] = np.log2((df_syn['ins_rep1']+df_syn['ins_rep2']+df_syn['ins_rep3']+1)/\n", " (df_syn['ins_rep1'].sum()+df_syn['ins_rep2'].sum()+df_syn['ins_rep3'].sum()+1))#*10**6" ] }, { "cell_type": "code", "execution_count": 9, "id": "1c2d7927-24a5-40e0-9fec-3a1a94bfdfba", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "[Text(0, 0, 'synthetic'), Text(1, 0, 'endogenous')]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = pd.DataFrame([['endogenous']*3+['synthetic']*3,['rep1','rep2','rep3']*2,endo_eff+syn_eff]).T\n", "df.columns=['Designs','rep','Editing efficiency']\n", "fig, axs = plt.subplots(figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.barplot(data=df, x=\"Designs\", y='Editing efficiency', order=['synthetic','endogenous'],palette=['#80B1D3','#FB8072'],errwidth=0.5, errorbar='sd', capsize=.1) \n", "sns.stripplot(data=df, x=\"Designs\", y='Editing efficiency', order=['synthetic','endogenous'],dodge=True,color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "sns.despine(offset=3)\n", "axs.set_ylim(0,4)\n", "start, end = axs.get_ylim()\n", "axs.yaxis.set_ticks(np.arange(start, end+1, 1))\n", "axs.set_xlabel('');\n", "g.set_box_aspect(4.5/len(g.patches))\n", "start, end = axs.get_ylim()\n", "axs.set_ylabel('Editing efficiency (%)',fontsize=7)\n", "axs.xaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "axs.set_xticklabels(axs.get_xticklabels(),rotation=-90)\n", "\n", "#plt.savefig('../Figure2/figs/Supp3c.pdf')" ] }, { "cell_type": "code", "execution_count": 10, "id": "e8d37cd6-7944-4846-868d-c83dc33a41d2", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df_all = df_syn.merge(df_endo,on='barcode')\n", "fig, axs = plt.subplots(1,1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "sample = [('ratio_all_x','ratio_all_y')]\n", "for i in range(1):\n", " s=sample[0]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_all, color=['#4A4A4A'],s=5,marker='o',ax=axs)\n", " pr = sp.stats.pearsonr(df_all[s[0]],df_all[s[1]])[0] \n", " sr = sp.stats.spearmanr(df_all[s[0]],df_all[s[1]])[0] \n", " sns.despine(offset=3)\n", " start, end = -14,-3\n", " axs.yaxis.set_ticks(np.arange(start, end, 2))\n", " axs.xaxis.set_ticks(np.arange(start, end, 2))\n", " axs.text(-14,-5,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=8)\n", " axs.set_xlabel('')#s[0])\n", " axs.set_ylabel('')#s[1])\n", " axs.plot([start, end],[start, end],'--', color='#FB8072',linewidth=0.8)\n", " axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Supp_syn_endo_hek3_comp.pdf')" ] }, { "cell_type": "code", "execution_count": 11, "id": "31972329-6963-4b7a-895b-921083095fbe", "metadata": { "tags": [] }, "outputs": [], "source": [ "## Loading RNA sample\n", "path = '../Figure2/300_enhancer/RT/'\n", "designs = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", "samples =['300_enhancer_RT_rep1','300_enhancer_RT_rep2','300_enhancer_RT_rep3']\n", "with open(path+'300_enhancer_RT_rep1_bc_count.txt','r') as f:\n", " temp = f.readlines()\n", " rep1=pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if a[1]>5 and len(a[0])==6]),columns=['barcode','count'])\n", "\n", "with open(path+'300_enhancer_RT_rep2_bc_count.txt','r') as f:\n", " temp = f.readlines()\n", " rep2=pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if a[1]>5 and len(a[0])==6]),columns=['barcode','count'])\n", "\n", "with open(path+'300_enhancer_RT_rep3_bc_count.txt','r') as f:\n", " temp = f.readlines()\n", " rep3=pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if a[1]>5 and len(a[0])==6]),columns=['barcode','count'])\n", "\n", "df_rna = rep1.merge(rep2,on='barcode',how='left').merge(rep3,on='barcode',how='left').fillna(0)\n", "df_rna['barcode'] = df_rna['barcode'].apply(reverse_complement)\n", "df_rna = df_rna.merge(designs['barcode'],how='right')\n", "df_rna.columns = ['barcode','RNA_rep1','RNA_rep2','RNA_rep3']\n", "\n", "df_all = df_syn.merge(df_rna,on='barcode',how='left')\n", "df_all['ratio_rep1'] = np.log2((df_all['ins_rep1']+1)/(df_all['ins_rep1'].sum()+1))#\n", "df_all['ratio_rep2'] = np.log2((df_all['ins_rep2']+1)/(df_all['ins_rep2'].sum()+1))#*10**6\n", "df_all['ratio_rep3'] = np.log2((df_all['ins_rep3']+1)/(df_all['ins_rep3'].sum()+1))#*10**6\n", "df_all['ratio_all'] = np.log2((df_all['ins_rep1']+df_all['ins_rep2']+df_all['ins_rep3']+1)/\n", " (df_all['ins_rep1'].sum()+df_all['ins_rep2'].sum()+df_all['ins_rep3'].sum()+1))#*10**6\n", "\n", "df_all['RNA_ratio_rep1'] = np.log2((df_all['RNA_rep1']+1)/(df_all['RNA_rep1'].sum()+1))#*10**6\n", "df_all['RNA_ratio_rep2'] = np.log2((df_all['RNA_rep2']+1)/(df_all['RNA_rep2'].sum()+1))#*10**6\n", "df_all['RNA_ratio_rep3'] = np.log2((df_all['RNA_rep3']+1)/(df_all['RNA_rep3'].sum()+1))#*10**6\n", "df_all['RNA_ratio_all'] = np.log2((df_all['RNA_rep1']+df_all['RNA_rep2']+df_all['RNA_rep3']+1)/\n", " (df_all['RNA_rep1'].sum()+df_all['RNA_rep2'].sum()+df_all['RNA_rep3'].sum()+1))#*10**6" ] }, { "cell_type": "code", "execution_count": 12, "id": "d572a73c-dc9d-4415-9b7a-923e8d2c8c3e", "metadata": { "tags": [] }, "outputs": [], "source": [ "df_all['diff'] = df_all['RNA_ratio_all'] - df_all['ratio_all']\n", "df_all = df_all.sort_values(by='RNA_ratio_all')" ] }, { "cell_type": "markdown", "id": "3db31b4c-4136-4ffb-9119-a3286df73910", "metadata": { "tags": [] }, "source": [ "## Correlation" ] }, { "cell_type": "code", "execution_count": 13, "id": "ce923f1d-d7cc-4e54-97b7-d4df984b61ec", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(figsize=(1.5,1.5),sharey=False,sharex=False)\n", "s=['ratio_all','RNA_ratio_all']\n", "sns.scatterplot(x='ratio_all',y='RNA_ratio_all',data = df_all, color=['#4A4A4A'],s=5,ax=axs)\n", "sns.despine(offset=3)\n", "axs.set_xlabel('Insertion ratio',fontsize=7);\n", "axs.set_ylabel('RNA ratio',fontsize=7)\n", "pr = sp.stats.pearsonr(df_all[s[0]],df_all[s[1]])[0] \n", "sr = sp.stats.spearmanr(df_all[s[0]],df_all[s[1]])[0] \n", "start, end = -16,-3.5\n", "axs.yaxis.set_ticks(np.arange(start, end, 3))\n", "axs.xaxis.set_ticks(np.arange(start, end, 3))\n", "axs.text(-15,-5,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", "axs.set_xlabel('')\n", "axs.set_ylabel('')#s[1])\n", "axs.plot([start, -4],[start, -4],'--',color='#FB8072',linewidth=0.8)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Figure-2C_MPRA_ENGRAM.pdf')" ] }, { "cell_type": "code", "execution_count": 14, "id": "486b0a3d-cbe1-40ed-825c-30a38844f4e1", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,3,figsize=(4.5,1.5),sharey=False,sharex=False)\n", "sample = [('ratio_rep1','ratio_rep2'),('ratio_rep1','ratio_rep3'),('ratio_rep2','ratio_rep3')]\n", "for i in range(3):\n", " s=sample[i]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_all, color=['#4A4A4A'],s=5,ax=axs[i],marker='o')\n", " pr = sp.stats.pearsonr(df_all[s[0]],df_all[s[1]])[0] \n", " sr = sp.stats.spearmanr(df_all[s[0]],df_all[s[1]])[0] \n", " sns.despine(offset=3)\n", " start, end = -16,-3.5\n", " axs[i].yaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].xaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].text(-15,-5,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", " axs[i].set_xlabel('')\n", " axs[i].set_ylabel('')#s[1])\n", " axs[i].plot([start, -4],[start, -4],'--',color='#FB8072',linewidth=0.8)\n", " axs[i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Supp_300_ENGRAM.pdf')" ] }, { "cell_type": "code", "execution_count": 15, "id": "6aa948c7-07c0-4e61-a47b-ebf52528fbd0", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,3,figsize=(4.5,1.5),sharey=False,sharex=False)\n", "sample = [('RNA_ratio_rep1','RNA_ratio_rep2'),('RNA_ratio_rep1','RNA_ratio_rep3'),('RNA_ratio_rep2','RNA_ratio_rep3')]\n", "\n", "for i in range(3):\n", " s=sample[i]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_all, color=['#4A4A4A'],s=5,ax=axs[i],marker='o')\n", " pr = sp.stats.pearsonr(df_all[s[0]],df_all[s[1]])[0] \n", " sr = sp.stats.spearmanr(df_all[s[0]],df_all[s[1]])[0] \n", " sns.despine(offset=3)\n", " start, end = -16,-3.5\n", " axs[i].yaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].xaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].text(-15,-5,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", " axs[i].set_xlabel('')\n", " axs[i].set_ylabel('')#s[1])\n", " axs[i].plot([start, -4],[start, -4],'--',color='#FB8072',linewidth=0.8)\n", " axs[i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Supp_300_MPRA.pdf')" ] }, { "cell_type": "code", "execution_count": 16, "id": "b368b1d8-33ec-4489-ba25-2a64b45b8b5e", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,3,figsize=(4.5,1.5),sharey=False,sharex=False)\n", "sample = [('ratio_rep1','RNA_ratio_rep1'),('ratio_rep2','RNA_ratio_rep2'),('ratio_rep3','RNA_ratio_rep3')]\n", "for i in range(3):\n", " s=sample[i]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_all, color=['#4A4A4A'],s=5,ax=axs[i],marker='o')\n", " pr = sp.stats.pearsonr(df_all[s[0]],df_all[s[1]])[0] \n", " sr = sp.stats.spearmanr(df_all[s[0]],df_all[s[1]])[0] \n", " sns.despine(offset=3)\n", " start, end = -16,-3.5\n", " axs[i].yaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].xaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].text(-15,-5,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", " axs[i].set_xlabel('')\n", " axs[i].set_ylabel('')#s[1])\n", " axs[i].plot([start, -4],[start, -4],'--',color='#FB8072',linewidth=0.8)\n", " axs[i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Supp_300_ENGRAM_MPRA.pdf')" ] }, { "cell_type": "markdown", "id": "b64016c5-8ca6-4889-a691-7fb7a6a74249", "metadata": { "tags": [] }, "source": [ "## Rank & Quartile" ] }, { "cell_type": "code", "execution_count": 17, "id": "9a7c8ce4-c2b6-45b8-bf77-98161abaacef", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(2,1,figsize=(1.5,2),sharey=True,sharex=True)\n", "sns.scatterplot(data=df_all, x='barcode', y='RNA_ratio_all',color=['#4A4A4A'], s=1,ax=axs[0])\n", "sns.scatterplot(data=df_all, x='barcode', y='ratio_all',color=['#4A4A4A'], s=1,ax=axs[1])\n", "\n", "sns.despine(offset=3,ax=axs[0])\n", "sns.despine(offset=3,ax=axs[1])\n", "axs[0].set_xlabel('')\n", "axs[0].set_ylabel('')\n", "axs[1].set_xlabel('')\n", "axs[1].set_ylabel('')\n", "axs[0].set_ylim(-15,0)\n", "axs[1].set_ylim(-15,0)\n", "axs[0].xaxis.set_tick_params(width=0.8, length=0,labelsize=6)\n", "axs[0].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs[1].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs[1].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs[0].spines['bottom'].set_visible(False)\n", " \n", "#plt.savefig('../Figure2/figs/Figure-2D_300_all_plot.pdf')" ] }, { "cell_type": "code", "execution_count": 18, "id": "6bd2e46c-5fde-4df7-a294-939d0fad7dfe", "metadata": { "tags": [] }, "outputs": [], "source": [ "first_qt,second_qt,thirt_qt = -11, -9, -7 \n", "np.random.seed(111)\n", "\n", "q1 = df_all[df_all['RNA_ratio_all']first_qt) & (df_all['RNA_ratio_all']second_qt) & (df_all['RNA_ratio_all']thirt_qt].sample(8)\n", "\n", "\n", "q1['r1'] = q1['ratio_all'].rank()\n", "q1['r2'] = q1['RNA_ratio_all'].rank()\n", "q2['r1'] = q2['ratio_all'].rank()\n", "q2['r2'] = q2['RNA_ratio_all'].rank()\n", "q3['r1'] = q3['ratio_all'].rank()\n", "q3['r2'] = q3['RNA_ratio_all'].rank()\n", "q4['r1'] = q4['ratio_all'].rank()\n", "q4['r2'] = q4['RNA_ratio_all'].rank()\n", "\n", "q1 = q1.sort_values(by='RNA_ratio_all')\n", "q2 = q2.sort_values(by='RNA_ratio_all')\n", "q3 = q3.sort_values(by='RNA_ratio_all')\n", "q4 = q4.sort_values(by='RNA_ratio_all')" ] }, { "cell_type": "code", "execution_count": 19, "id": "d6729422-4a0b-47a7-85c3-87ee0df4b2eb", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quat = [q1,q2,q3,q4]\n", "fig, axs = plt.subplots(2,4,figsize=(6,2),sharey=True,sharex=False)\n", "for i in range(4):\n", " q=quat[i]\n", " sns.barplot(data=q, x='barcode', y='RNA_ratio_all',ax=axs[0,i],palette=['#76A08A','#F5CDB6','#C7CEF6','#D8A49B','#7496D2','#E6A2C5','#FDDDA4','#F7B0AA'])\n", " sns.barplot(data=q, x='barcode', y='ratio_all',ax=axs[1,i],palette=['#76A08A','#F5CDB6','#C7CEF6','#D8A49B','#7496D2','#E6A2C5','#FDDDA4','#F7B0AA'])\n", " sns.despine(offset=3,ax=axs[0,i])\n", " sns.despine(offset=3,ax=axs[1,i])\n", " axs[0,i].set_xlabel('')\n", " axs[0,i].set_ylabel('')#s[1])\n", " axs[1,i].set_xlabel('')#s[1])\n", " axs[1,i].set_ylabel('')#s[1])\n", " axs[0,i].set_ylim(-15,0)\n", " axs[1,i].set_ylim(-15,0)\n", " axs[0,i].xaxis.set_tick_params(width=0.8, length=0,labelsize=6)\n", " axs[0,i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[1,i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[1,i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[0,i].spines['bottom'].set_visible(False)\n", " axs[0,i].set_xticklabels([],rotation=-90)\n", " axs[1,i].set_xticklabels(axs[1,i].get_xticklabels(),rotation=-90)\n", " \n", "#plt.savefig('../Figure2/figs/Supp_300_quant_barplot.pdf')" ] }, { "cell_type": "code", "execution_count": 20, "id": "9133b56b-51d1-4717-8119-3bff741d163f", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "np.random.seed(111)\n", "spear = []\n", "condition = [(df_all['RNA_ratio_all']first_qt) & (df_all['RNA_ratio_all']second_qt) & (df_all['RNA_ratio_all']thirt_qt]\n", "for quat in range(4):\n", " temp = []\n", " for i in range(10):\n", " q = df_all[condition[quat]].sample(20)\n", " q['r1'] = q['ratio_all'].rank()\n", " q['r2'] = q['RNA_ratio_all'].rank()\n", " temp.append(sp.stats.spearmanr(q['ratio_all'],q['RNA_ratio_all'])[0])\n", " spear.append(temp)\n", "df_quart = pd.DataFrame(spear).T\n", "df_quart.columns = ['1st','2nd','3rd','4th']\n", "df_quart_melt = df_quart.melt()\n", "fig, axs = fig, axs = plt.subplots(1,1,figsize=(1.8,1.8),sharey=False,sharex=False)\n", "sns.boxplot(data=df_quart_melt,y='value',x='variable',palette=['#C7CEF6', '#76A08A', '#F5CDB6', '#7496D2'], width=0.5,showfliers=False)\n", "sns.swarmplot(data=df_quart_melt,y='value',x='variable',s=2,color='#5C5C5C')\n", "sns.despine(offset=3)\n", "axs.set_ylabel('Spearman correlation',fontsize=7);\n", "axs.set_xlabel('')\n", "axs.set_ylim(0,1)\n", "\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/Supp_300_enhancer_ranking.pdf')" ] }, { "cell_type": "code", "execution_count": 21, "id": "20c44dbe-f895-4141-82a7-794feefdeee1", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('1st', '2nd') Ttest_indResult(statistic=0.33052567024233187, pvalue=0.744818991435474)\n", "('1st', '3rd') Ttest_indResult(statistic=-1.75407756259596, pvalue=0.09642675826975025)\n", "('1st', '4th') Ttest_indResult(statistic=-3.597451033007461, pvalue=0.0020588397711514645)\n", "('2nd', '3rd') Ttest_indResult(statistic=-1.7911457031510543, pvalue=0.09010073243253126)\n", "('2nd', '4th') Ttest_indResult(statistic=-3.199861655102291, pvalue=0.004963999427239386)\n", "('3rd', '4th') Ttest_indResult(statistic=-1.6567962633176854, pvalue=0.11488787317042554)\n" ] } ], "source": [ "groups = ['1st','2nd','3rd','4th']\n", "for a in itertools.combinations(groups,2):\n", " print (a,sp.stats.ttest_ind(df_quart[a[0]],df_quart[a[1]], equal_var=True))" ] }, { "cell_type": "markdown", "id": "1bc3f774-735a-4bee-8952-3ce3d9652f37", "metadata": { "tags": [] }, "source": [ "## Sample input test" ] }, { "cell_type": "code", "execution_count": 22, "id": "e20b2d02-b3bb-4a00-852b-9c63ba0b2179", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Loading endogenous hek3 locus\n", "path = '../Figure2/300_enhancer/Hek3/'\n", "cells = ['1X','2X','4X','8X','16X']\n", "cell_number = {'1X':6000,'2X':12000,'4X':6000*4,'8X':6000*8,'16X':6000*16}\n", "sample_count_table = []\n", "for k in range(5):\n", " df_new = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", " samples =sorted([s.split('_S')[0] for s in os.listdir(path) if '.gz' in s and 'R1' in s if cells[k] in s])\n", " for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==6]),columns=['barcode','count'])\n", " #test['barcode'] = test['barcode'].apply(reverse_complement)\n", " df_new = df_new.merge(test,on='barcode',how='left').fillna(0)\n", " f.close()\n", " df_new.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", " df_new['ratio_rep1'] = np.log2((df_new['ins_rep1']+1)/(df_new['ins_rep1'].sum()+1))#\n", " df_new['ratio_rep2'] = np.log2((df_new['ins_rep2']+1)/(df_new['ins_rep2'].sum()+1))#*10**6\n", " df_new['ratio_rep3'] = np.log2((df_new['ins_rep3']+1)/(df_new['ins_rep3'].sum()+1))#*10**6\n", " df_new['ratio_all'] = np.log2((df_new['ins_rep1']+df_new['ins_rep2']+df_new['ins_rep3']+1)/\n", " (df_new['ins_rep1'].sum()+df_new['ins_rep2'].sum()+df_new['ins_rep3'].sum()+1))#*10**6\n", " sample_count_table.append([cell_number[cells[k]],sum(df_new['ins_rep1']!=0),sum(df_new['ins_rep2']!=0),sum(df_new['ins_rep2']!=0),sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep2'])[0], sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep3'])[0],\\\n", " sp.stats.pearsonr(df_new['ratio_rep3'],df_new['ratio_rep2'])[0]])\n", "sample_count_table = pd.DataFrame(sample_count_table,columns=['sample','recovery','recovery','recovery','PR','PR','PR'])" ] }, { "cell_type": "code", "execution_count": 23, "id": "46d71546-e0c7-4262-a631-17b3dee4454b", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Loading synthetic Hek3 locus\n", "path = '../Figure2/300_enhancer/synHek3/'\n", "cells = ['1X','2X','4X','8X','16X']\n", "cell_number = {'1X':6000,'2X':12000,'4X':6000*4,'8X':6000*8,'16X':6000*16}\n", "sample_count_table_tape = []\n", "for k in range(5):\n", " df_new = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", " samples =sorted([s.split('_S')[0] for s in os.listdir(path) if '.gz' in s and 'R1' in s if cells[k] in s])\n", " for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==6]),columns=['barcode','count'])\n", " test['barcode'] = test['barcode'].apply(reverse_complement)\n", " df_new = df_new.merge(test,on='barcode',how='left').fillna(0)\n", " f.close()\n", " df_new.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", " df_new['ratio_rep1'] = np.log2((df_new['ins_rep1']+1)/(df_new['ins_rep1'].sum()+1))#\n", " df_new['ratio_rep2'] = np.log2((df_new['ins_rep2']+1)/(df_new['ins_rep2'].sum()+1))#*10**6\n", " df_new['ratio_rep3'] = np.log2((df_new['ins_rep3']+1)/(df_new['ins_rep3'].sum()+1))#*10**6\n", " df_new['ratio_all'] = np.log2((df_new['ins_rep1']+df_new['ins_rep2']+df_new['ins_rep3']+1)/(df_new['ins_rep1'].sum()+df_new['ins_rep2'].sum()+df_new['ins_rep3'].sum()+1))#*10**6\n", " sample_count_table_tape.append([cell_number[cells[k]],sum(df_new['ins_rep1']!=0),sum(df_new['ins_rep2']!=0),sum(df_new['ins_rep2']!=0),sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep2'])[0], sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep3'])[0],\\\n", " sp.stats.pearsonr(df_new['ratio_rep3'],df_new['ratio_rep2'])[0]])\n", "sample_count_table_tape = pd.DataFrame(sample_count_table_tape,columns=['sample','recovery','recovery','recovery','PR','PR','PR'])" ] }, { "cell_type": "code", "execution_count": 24, "id": "37b60c9d-4e9d-4d7d-9853-a2e2fd1f79e1", "metadata": { "tags": [] }, "outputs": [], "source": [ "sample_count = pd.merge(sample_count_table,sample_count_table_tape,on='sample')\n", "df1 = sample_count.iloc[:,[0,1,2,3,7,8,9]].melt(id_vars='sample')\n", "df2 = sample_count.iloc[:,[0,4,5,6,10,11,12]].melt(id_vars='sample')\n", "df1['sample'] = pd.Categorical(df1['sample'],\n", " categories=[6000,12000,24000,48000,96000],ordered=True) #['D1','D3','D5','D7','D9','D11','D13','D15','D17','D21']\n", "df2['sample'] = pd.Categorical(df2['sample'],\n", " categories=[6000,12000,24000,48000,96000],ordered=True) #['D1','D3','D5','D7','D9','D11','D13','D15','D17','D21']" ] }, { "cell_type": "code", "execution_count": 25, "id": "96c2e1f5-0e56-4253-aef7-fd780ed7d6e7", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALMAAACuCAYAAAB9XDy2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgTElEQVR4nO2de1xUdf7/n2cGGBguA4N4BTFRSBQwQbwgq5CaikvlJWu3VtN2y9W+v11/teZ2sbZtXbXbZuWGmVab2WX3q2vaRVFKBa9JoqQIchMvCAzMwDDAzJzvHyh5wZwjzMAM5/l48BiYz/mc8z5nXnzmfc7783m/BVEURWRkXABFRxsgI9NeyGKWcRlkMcu4DLKYZVwGWcwyLoMsZhmXQRazjMsgi1nGZXBKMYuiiF6vR473yFyJQ8R87tw5kpKSiI+P57XXXmP79u3ExsYyevRo8vPzAViwYAHx8fHMmzfvpvszGAxoNBoMBoO9TZdxIhwi5pdffpmXXnqJffv28a9//Ytly5aRkZHB6tWrWbZsGdnZ2TQ2NnLgwAH8/PzYvXu3I8yScTEcIubU1FTi4uJoaGhAFEU8PT3x9fUlJiaGvLw89u7dy/jx4wH4xS9+wcGDB1vdT0NDA3q9Hr1e7wizZZwMh4h57NixnDx5koiICAICAtBoNC1tgiCg0+nw9/cH+Fn3YdmyZWg0GkJCQhxhdpemuLiY8vJyux+nrKyMgoKCdtmXW7vs5SaUlJQQFRVFUVER06dP5/z58y1tHh4eaDQaamtrgWZ/WKvVtrqfJUuWsGjRIvR6vSxoO3Lk4AE+X/U6d/S/jTunpODfsxeI1uYbbqsVWnsVrde8d/n31tqa36uprqFofyYN+hpMqfcxOHl8m+x2iJgXLFjAP//5T/r06YO3tzcHDhygrq6OvLw8IiMjGTFiBOvXr2f69Ons3LmT2bNnt7oflUqFSqVyhMkujSiKUFcLugpEXRXoKhEv/VBVSVStnqiwXoAJvvw3lrYeUFCAQmh+FQRQNL+qRZFYwYJbgC/VP+wDR4j5vffeu2Hb3Llzb9r/2WefZfr06Xh4eDBu3DgeeOABEhIS8PHxYePGjQQHB7NmzRri4uIYOXIkw4YNs/0MuhD52UeoKikiZFAkvQZG/Oy2otkMNTrEqooWsTa/NouXpsafNvb2gYBAhIBA6DeAM7VGFIV59NJdpOn2KDyTJ10S5CUxtgjyCpHeoE0QbuzJugHHd+7AfO4M3QdHt/n6CLZMzn/hhRcA+Pbbb1Gr1QwfPpz9+/fj5+fHxo0b22yEVPR6PRqNhpqaGvz8/Bx+/I7AYDCwd9nzjFdBXo++DHr0f6DeeLVQqyqh+tKrvga49NEqlBCgbRarvxZB2+2nvwMCETyu/rYzGo0U5vxAgLsbvQZGIPg6xzW2ScyXSUlJYevWrUDzV1Vqaipbtmyxm3E3wpXFLDY1gbEWjHWIxjq49GPW13Dy4H56G/W4aQLwtjRBg+mnjl7qZmFqA8H/0iirvfTqq0FQOGV8TBKSfOYLFy5QVVWFVqulpqaGM2fO2Msup6GyspITJ07g5uZGZGQkvr6+LW2ixQL1ddcJ89q/r2q78uv/Mko3FN7eDPTzAcGKMPB2FEHdIaAbQoC2WcSeXg486/ahsbGRzMxMTp06xdSpU+nVq1eb9idJzC+99BIJCQn4+vpSWVnJa6+91qaDuwLnzpZhTP+SfkoR8chezG7Kn4R55ch5GUEBau+WH0HtjeCvbfn9yvdbtnP3QBRFvt+xnW67v8Gt/+30jx7q8HNtb3Q6HW+8nYbSy5vbwgc5Vsx33XUXWVlZ5OTkEBcXh5eX840G7Yl47gzB2zcTYTUiiAINhhqE8MifxOjtDWqfq4Wp8kQQBMnHMhqNVHzzBfG+HpzcmwEuIGZ/f38mP7SAs6IGo1fbn1JJEvOGDRtYvnw5VquVmTNn0rt3bx555JE2G+FsiI0NWDO+Rty3G5W/llK/QPoaqiB8MMq777PLMb29vRk46yG+zP6eOxLH2uUYjkalUnH32Fj+9/szJEWHtnl/km4Ax44dy44dO5g4cSLp6emMGzeO7777rs1GSKUjbwCteblYt/0H6mpRjJ2IMGpss0tRqwcfP6e58+8IRFGk2thESVUdJVVGSquMXDQ0ICDyh3Ghbf4sJQdN3N3dEQQBRRe4O74S0VCD9atNiLlHEcIiUMye3/ykAMDXr/lH5iqsoki53kRJlZGSSiMlVXUYTGYAgnxVBKpEjqV/gWfvCI4e1TNmTEKbjidJzL/61a+YNGkSp0+fZvr06aSkpLTp4M6AaLUiHs7Cmr4N3NxQTH8QYfDQW/J7XZ0mi5UyXT0lVXWUXhp5G8xWFIJAH38vooL96atVE6JVo/Zw4+zZs+ysPocQEolFaHswWpKbUV5eTnV1NT/88APh4eHExMS02YBbwVFuhnjhLJYtn0FZCcKwkSjGpyB4qe12PGfD2GCmVGekuNJIaVUdZ6tNWEURlZuCEK2avlo1fQO96e3vhbuy9W/y/806wdGLZhLCtIwf3LtN9kgSc3JyMjt37mzTAdsDe4tZbGrEmvENYta30C0I5dQZCH37t/txOjP19fWoVKoWd/Jaf7ek0khFbQMAvp5uhAZ6E6JVE6r1JshPhcLGby6DqYlakxkfTzd8Pd3bZLOksV2lUpGamsrQoUNb3vvLX/7SJgM6G9b8E1i3/hsMehTj7kJIGIegdMh8rE5Dbm4u6//1CaFRcQwcPBR9o0hJlfEqfzc00JvE8CD6atVovNxv2e3y9XRvs4gvI+lTuv/++9vloJ0RsVaP9avNiMezEW4biOKhR5vnMHQxKmsb2F1QjWfs3VS4e1BRVENIgJroK/xdL4/O+c8tyc1oaGhg3bp1nD9/ngkTJjB06FC8vb3taV+rtKebIYpWxMP7se74ApRKFHfdjRA1rEvd4FmsVk6cN3C4qIrCijrcFSI0Gmly8yaqhxfTRoR1tIk2IelfbMGCBYSEhPD1118TFxfH/Pnz+eCDD+xlm90Ry89h+eJzKC1CGBqPYsLU5mhdF0FX18jh4iqyS3TUNVoI0aq5544+9FRZ+DEvH3e1QHRk344202YkibmwsJB3332XjIwMpk6dyssvv2xTv9raWh544AGqq6sZPnw4r7766nXbTJ48mfr6egDeffddBgwYIMU0SYhNTVi/246YuQsCAlHO/j1CP+cYfdqKxSqSd17P4WIdBRdrUbkpiAnxJzZUS3c/z5btenR3PhdLkpiVSiXFxcUIgkBFRYXNgZO1a9dy7733MnfuXKZNm0bv3r0JDw8Hmmed5eTkEBQU1K6jfGlpKSdOnCAiIoK+fX8aXawFJ5tv8PTVKBLHI4y5E8Gtc/qA7Um1sZHvS3QcKdZR22AmOMCLu4f2YXBvDe5urhEAk/QpvvHGG8yePZujR4+SmprKqlWrbOo3ZMgQhgwZAkC3bt3YsmULsbGxbN68mbKyMnQ63VVTJ9uDTZs2sT99O3eOiGfOwv8BhYD16/8i5nyP0C8Mxa8eQejWvV2PaW9yc3M5evQoCQkJNq2BtFpFTpU3+8KnymvxcFMQHexPbGgAPTWuN0lMkphPnDhBeno6SqVS0kHuvPNOAN58801OnTrFsGHDqKurIy0tjS1btpCbm8uePXtITk6mX79+rF69utW1fg0NDS3pBm5GbGwsPfJymNaow/LFZ1BSCIKA4u5ZCDHDne4Gz2g08lbaWsp1ehQq9c+KWV/fxPfFVRwp0aE3ment78UvY3ozpI8GDzdpn50zIelpxmOPPcbu3buZMmUKc+fOZdCgQTb1M5vNPPDAA/j5+bFq1SrUajX/+Mc/6NevH3fffTcXLlygoKCA0aNHs3LlSry9vfn9739/3X6ef/75liVcwM8+zbBYLBiOH8Vn6+fQaEKIiUMx4ZcI3j62nm6nwmq18v7XBylp8mZIoILpCZFXt4si+eW1zaPwBQNuSgVRwRriQrX08ne9Ubg1JIkZmoX5zTff8P7771NaWkpmZuZN+6xevZry8nKWLl3a8l5iYiK7du3Czc2NXbt20djYyF133cWaNWuwWq08+uij1+3nypE5JCTkZ8Vcm/cjqk/eA4US5QNzUfQPl3KanRKDqYlPDxRzX3xoS6DBYGriSImO74t11NQ30dPPk9h+WqL6aFC5u+4o3BqS3Ayz2cz27dv57LPPOHHiBKmpqTb127NnD/n5+ezatQtoXiAbFBSE26Ubr+joaGbNmsWyZcsIDAzkww8/bHU/UlINpOeepPT0We4efDshLiBkaI6WqVXu+KjcyC83cLhIx8kLetwUAoP7NI/Cvf29nM6Fai8kjczBwcEkJSUxZ84ckpOTO+yi2RI0efPNN9m34xtejI2k3x/+7BLzjOsazKzfexqztXmeRHdfFbH9tEQH++PZxUbh1pA0Mv/4448UFBRQUFBAfn4+AwcOtJddbWby5Mnc5aUg5EwB1sNZKMfd1dEm3RKiKFJaZeRQURXHzzan8Y0O9mfaMC3BAV13FG4NSSPzypUr2bZtG/Hx8WRlZTFz5kwef/xxe9rXKraGs0WD3mlXgDSaLRw9U8Ohoiou6E1ovT3o42GiSGciNVJr16CSsyJpZN60aRN79uxBEAQsFgtJSUkdImZbEZxwBchFg4mDRVX8UFpNk9lKeE9fJkT2QOtu5plnnsE9YiyH6wtlMbeCJDELgtDytaZUKmloaLCLUV0Ni1XkxHk9hwqrKKqsw9tDyYjbAokNDUCj9gCac0yMSkziWJ03ffoFdbDFnRPJy6YSExMZPXo0Bw4cYPLkyfayq0ugr2/icHEV318KMffVqpkeG8ygXn4or5kq4OHhQY/BIykorMaskcXcGpKfMx84cICSkhLCwsK444477GXXz+LM6blEUaSwoo5DRVWcOK/HXaEgOsSfuH5aelwx0ac12nNVhisiaWR+4oknMBqNvP3220ydOpXk5GQWLVpkL9tcClOThexSHYeKqqisbSTIV8XkIb2IDva3ObjRnqsyXBFJI3NCQgJ79+4FmkeYMWPGtPztSJxpZD5XU8/BwipyyqqxWkUG9dIw/DYtfbVq+bFaOyN57mNlZSWBgYEYjUYsljanoXZJzBYrx882P1Y7o6vHz9ONxIFBDOsbgI88stoNyYkTR44ciZ+fHwaDgVdeecVedjkNFRUV7DucDe6ehEfcTnGNmSMlOuobLfQP8mbW8L6E9/BFoZBHYXsj+QawurqanJwcYmNjUas7JodEZ3IzMjMz+Wj3j3QfNAIQ8XRXMjQkgLh+WgJ95JIVjkROnNhGNP4BdOsfhWhpIqanF1OHh7vMyg1nQ9JVf+eddzh06BDdunXjmWeecerFrO1Fga4JhUqNoHRHFEVZyB2I5CvfVRMntoYoihQZPVCbDdxOGaMj2pYsW6ZtyIkT28Cp8lp09WbmjI0mNLDrpCjorEgS87333ktSUpLkxInXphro378/n3zyCUqlkhkzZrBw4UIWLFjAwYMHiYqKYu3atbd0Mo4mM/8ifQK86KuVkyl2BiT5Cvfffz/h4eHMnDlTUgbQy6kGdu/ezfnz59m2bRvbtm0jIyODhQsXOmUh+LJL2S9Hh3WTgx+dBIckTrwy1YCPj891qQVaKwSfmJh43X6krM62N1kFFQSoPbi9V+eOQHYlHJI48dpUA9BcU9BkMrFy5Up0Ol3L/NybFYK/cnV2R6GrayT3rJ7JUb1sTt0qY38kiflGNa1vxpWpBrZu3Up6ejqTJk3i3LlzPPTQQ8yYMcOpCsFnna7Ay6M5OCLTeXDI87U1a9YwZMgQ1q5di4eHB/v378fd3R0/Pz88PDwYMWIE6enpAOzcuZOEhNZrW6hUKvz8/Do06mdsNJNdomN4P638TLmTIWlkLi8vp3t36Smtrk01EBgYyMiRI3F3d+fvf/878fHxTlMI/lBRFaIIw28L7GhTZK5BLgMhAbPFyuvbT3J7Lw1TY9pWf0Om/ZHLQEjgh9Jq6hotjAqTR+XOiFwGwkZEUSSroIJBvfzk2XCdFMlBk/r6egoLm5e6z5gxw152dTpOnjdQWdfIqDDnS8LdVZAk5gULFnDhwgW+/vprdDod8+fPt5ddnY7MggpCLhWokemcSBJzYWEhS5cuxdPTk6lTp1JSUmIvuzoVl6uNjpZH5U6NJDHfahkIZyeroIJAbw8ierZvdn+Z9kWSGi+XgcjOziY1NZWVK1fay65OQ2VtAz+e0zNKnlDU6ZH0NCMkJISlS5eSlJTE9u3br3pE56rsO12Jt4eSmBD/jjZF5iZIGpnvu+8+8vLygOao3q3O1XAW6hqaQ9fx/QNxu0Ehc5nOg6RPqLa2tqU8wwsvvMCZM2fsYlRn4WBhJYIAcf1an/gk07mQJGa1Ws22bdswGAxkZWW5tA/ZZLZyoKiKoX0DUHfSWtEyVyNJzGvWrOGjjz5i1KhRLF++nLS0NHvZ1eFkl+owNVoY1V9+HOcsSBpyevbsycKFCzEajUBzFdTOXAriVrGKIlkFlUT29iPA26OjzZGxEUliTk1NRRAEevTogSiKCIJAcnKyvWzrME6c06MzNjI9NrijTZGRgCQxm0ymW5oCeu3q7KlTp/L0008jiiLLly9n7NixDi0E/3OIokhmQQWhgWr6BMiha2dCks8cExPDvn37sFgsWK1WrFarTf2uXZ394IMP8uWXX/LVV1/x4osvAhAUFERGRgYZGRkdWq+jtMpIma6e0QPk7PTOhqSR+csvv2TTpk0tfwuCwOnTp2/a79rV2QsWLMDf3x+TyYTRaLS5ELwjVmdnFlTQzUfFwO7OWZa4SyO2gT179kjaftWqVeK4ceNEq9UqVlRUiCkpKWJaWpqYk5MjRkdHi0lJSeLDDz8smkymVvsvXbpUBFp+ampq2mL+dVw0mMTnN+eI3xdXtet+ZRyDpGVTGzZsYM2aNS1JxsvLyzlx4sRN+11bCL6wsJBZs2bx7LPPMmvWLJsLwUupnX0rbPmhjLzzBv7f+HA54ueESHIzXnvtNdauXctbb73F5MmTOXnypE39Lq/OvlwIfuHChXz22WcMGjQIgNzcXBobGwHw9/e/oS8upXa2VGpNZn4orWZcRHdZyE6KJDH7+PgQHR2NIAjcc889TJkyhcWLF9+035WrsxsbG9m/f3/LxP4+ffrwxhtv2FQI3p4cKKxEIQjEhsqha2dF8qy59957D4AVK1bYPDfjo48+uuk2O3bskGJKu9JotnKwqIphoQF4ecgF1Z0VSWJet24dFy9e5J577uH999/nk08+sZddDuVIiY4Gs4WR/eVV186MJOfwzJkzrF+/ntdff52qqio+/vhje9nlMKxWkX2nKxjcW4O/Wg5dOzOS5zOrVCrCwsIYMGAAYWFh9rLLYfx4Tk+1sYnRA+QJRc6OJDdDrVbzxz/+0V62OBzxUuj6tm7e9NJ4dbQ5Mm3EJjFfno/RvXt3/va3vxEfH9+ymNWZJxoVV9ZxtrqeX48M7WhTZNoBm8R8+VGZWq3m1KlTLTmWnX3WXGZBJd19VYQFyaFrV8AmMa9bt67l9/Pnz7fMZ3ZmLhpMnLpg4J47+rj0ipmuhCSfec6cORw6dIju3bu3zGfuDFlBb4XM/Ap8Pd0Y0kfT0abItBOSxJyfn8+xY8fsZYvDMJiaOHqmhuRB3VF2kUQ2XQFJn2RERASlpaX2ssVh7D9diZtSDl27GpLEvGPHDsLCwggODiYkJIS+ffvay642c+7cOfbs2UNZWdlV7zeYLRwqqiI2VIunuxy6diUkuRnFxcX2sqPd2bJlC5s3b2b8+PFXPRv/vlhHk8Uqh65dEEkj89GjRxk1ahQxMTG8+uqrZGZm2suuNhMWFoa72pfg8CEYTE0AWKwi+09XMqSPP35e7h1soUx7I0nMixYtYsOGDWi1Wh566CGee+45e9nVZsaMGcO8xS+Ra+nF4aIqAHLP1lBT3ySnpnVRJIlZFEVuu+02BEEgKCjI5gWttbW1/PKXvyQxMZFFixaxfft2YmNjGT16NPn5+UBzIvP4+HjmzZsn/SxaQaVSMW5IX/pq1cT20zaHrvMrCAvyoYfGs12OIdO5kCTmgQMH8tJLL6HT6Vi1ahV9+vSxqd+1q7OXLVtGRkYGq1evZtmyZXarne3r6Y6nuxJfT3cKK+o4rzfJE4pcGElifuutt+jZsyejR48GmkVqC0OGDCElJQUAT09PVCoVvr6+xMTEkJeX12rt7Na4vP7vVlZnZ+ZX0NPPk9u6eUvuK+McSHqaoVQqmTdvnmRX4Mra2YWFhfTs2bOlTRAEu9fOvlBjouBiLdOGBcuhaxfGIeEvs9nMzJkzOXLkCJs2bWqpkw3g4eGBRqOxuXZ2TU2N5MBNZkEFGi93InvLoWtXxiYxV1ZWXvUqlStrZ2s0GvR6PXV1dRw5coTIyEi71s42W6wcK6tmRP9AlAp5VHZlbHIzkpOTWbFiBU899RSvvPLKdW0349ra2dOmTSMhIQEfHx82btxIcHCw3Wpn64xNuCsVDAsNaLd9ynRObEoC8+GHH5KRkcG2bduYNGnST50FoWW1tiOxtXa2qcnCiq9+ZHRYN8ZH9rzhdjKugaSMRt999x2/+MUvqKysJDCw48LBtoo5M7+C7bnnWTQxAl9POeLn6ki6Aayvr6dfv36kpKQwePDgdnsebA8sViv7Tlfg5+kmC7mLIOnR3Isvvkh2djb+/v5cvHiRGTNm8O2339rLtjZRbmigyWKlp58c7esqSBqZ3dzc8Pf3B5rzKUvwUBxOL40X/3/i7Xi4ydM8uwqSRubw8HAWL17MuHHjyMrKokePHvayq12QEyB2LSR92qtXr2bgwIFs3bqVgIAA3n//fXvZJSMjGcnh7EceecRetrQ7ts7qk3ENXPZ7+NChQzz11FPodLqONkXGQUgSsy1Z8jsL6enpHD9+nPLy8o42RcZB2ORm3HvvvcTFxVFcXExaWhpPPvkkK1eutLdtbWLKlCl4enri2UuO/HUVbIoAmkwmjh49ypIlS/D09OTIkSP89a9/ZeLEiQQHO77wo60RQICP9xfzwAg5l1xXwCY349e//jXLly/Hzc2N119/nf79+9OtWzeWL19ub/tkZGzGJjH/+9//5tNPPyUkJIQ1a9aQl5fHf//7X0aOHGlv+9qEwdSEqcnSsjpbxrWx+QZQqVSyaNEiVqxYwahRo1i5cqXdKj+1F4eLqiipMraszpZxbSTNmmsLVquVSZMm8c0337TaLqV2tq0+s8HURK3JjI882ahLIClocqscP36c++67j5qaGmpra5k6dWpLW2VlJTk5OQQFBfHBBx+063F9Pd1lEXchHCLmQYMGcfjwYe688058fHzIyMgAYPPmzZSVlXWq2tkyzotDIoAKhQJPT8+rVkbX1dWRlpbGY489RllZGXv27CE5OZm5c+fS0NDQ6n6WLVuGRqMhJCTEEWbLOBkdFs5+9913+d3vfodCoSAoKIjVq1ezc+dOBg0adMN8HLe6Oluma+AQN6M1Pv/885YFrlJrZ/v6+lJTU2OTayLTdegQMZeVlREUFISbW/Pho6OjJdXOFgRBUroBma6Bwx7N2RNRFG+YBUnGefH19ZWUgarD3Iz2xGAwoNHI2YpcDVvm3lyJy4/Mw4cPvy4R4628p9frCQkJobS01O4uTmu22Kv/zbb9ufYbtbXX9e2SI/PP+dBKpfK6tra8JzU92K3Q2nHt1f9m2/5c+43aOur6uuxKk8ssWLCgXd5TqVQsXbrUIfNRWrPFXv1vtu3Ptd+oraOur0u4GTIy0AVGZpmugyxmGZdBFrOMyyCLWcZlkMUs4zK4xHPmjuKdd95BFEUee+yxjjbF5fj00085ffo04eHhTJs2zaY+8sh8A6xWKxMnTgSaw+UTJkxg+PDhrF69GoBdu3bh4+PTkSY6NTe7vgcOHEAUxZbJaLYgi7kVjh8/TlRUFLm5uUBzvcM5c+Zw4MABNmzYgMlkIiMjg5KSkk6dcL2zYsv1ffzxx1myZEnLqiRbkN2MVrhymRfA3r17efPNNxEEgWHDhpGbm8sLL7zAmTNn+OKLLzrYWufDluv71VdfoVarCQ21PYGPLOZWuHaZl06na0myfmXRzeDgYNlfvgVsub5//vOfpe+3PY10VWwtuilza7TX9ZXFbAOXi25aLBZycnKIjIzsaJNciva6vrKYbeC3v/0tb7/9NiNGjOA3v/kNSqVcJ6U9aa/rK8+ak3EZ5JFZxmWQxSzjMshilnEZZDHLuAyymGVcBlnMMi6DLGYZl0EWswOZNm0a9fX13HPPPTZt/8EHHxAVFcXFixclHysjI4MHH3yQoqIixowZI7m/MyKL2UGYzWYAjh49SmxsrE19MjIyWLFiBUFBQfY0zWWQZ805gOPHj/Pqq69iMBhYsmQJ/fv3Jzc3t2UOgtlsZv78+eTl5dHU1MRzzz2Hl5cX27Zt4/Dhw8TFxbUIurq6mnnz5rWM1h9//DGCIPDoo49SV1eHVqslLS3tOhusVisPP/wwp0+fxmq1smLFChISEhx3ERyALGYHMHjwYLRaLYsXL+YPf/gDaWlpKBQ/fSmuW7cOf39/vv32W3Q6HUOHDqWwsJBJkybx4IMPXjUyr1ixgnHjxvH444/zn//8h++++46tW7fypz/9icTERNavX8/y5cuZPHnyVTaUlpZy7Ngx9u7dS3l5OVlZWQ47f0chi9kBpKamkpmZSWZmJgUFBTz55JO88sorLe3Z2dlMmTIFgICAAHr06EFlZWWr+8rOzmbWrFkALWvjXnzxRZ555hkEQaCpqYmIiIjr+oWGhrJo0SLmzJlDY2Mj8+bNa+/T7HBkMTuA9evX88QTT5CamkpFRQWPPPLIVe1hYWHs27ePlJQULl68iMFguKGfPGDAAI4fP05MTAzvvPMOHh4eRERE8PzzzxMTE8PevXtbvWE8duwYlZWVbNy4kXPnzjFhwgRSUlLscr4dhSxmB5Cenk5SUhLbt29n8eLF17U/+uijzJ49m8TERICWRZ2t8fTTTzN79mzS0tJQq9V8/PHHjB07lvnz59PQ0IC/vz9vv/02eXl5V/W7LPjPP/8cg8HAU0891b4n2QmQp4DKuAzyozkZl0EWs4zLIItZxmWQxSzjMshilnEZZDHLuAyymGVcBlnMMi6DLGYZl0EWs4zLIItZxmX4P5PkM6jFcSjHAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df1,x=\"sample\", y=\"value\",hue='variable',palette=['#80B1D3','#FB8072'],\\\n", " linewidth = 1,markers=['o','.'],markersize=2,dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df1, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "\n", "axs.set_xlabel('# of cells',fontsize=7);\n", "axs.set_ylabel('# of enhancer recovered',fontsize=7)\n", "axs.set_xscale('log',base=10)\n", "\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_syn_endo_recover.pdf')" ] }, { "cell_type": "code", "execution_count": 26, "id": "5171c1f9-522b-4930-89af-78e3c30089e3", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df2,x=\"sample\", y=\"value\",hue='variable', palette=['#80B1D3','#FB8072'],\\\n", " linewidth = 1,markers=['X','.'],dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df2, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "\n", "axs.set_xlabel('');\n", "axs.set_xscale('log',base=10)\n", "axs.set_ylabel('Pearson correlation',fontsize=7)\n", "axs.set_ylim(0.4,1)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_syn_endo_pr.pdf')" ] }, { "cell_type": "markdown", "id": "48225331-ea69-4743-aae1-87c76eb4ffcf", "metadata": { "tags": [] }, "source": [ "## Sequencing depth test" ] }, { "cell_type": "code", "execution_count": 27, "id": "b2b4070a-ec88-4bcb-81ac-c4c3705d9e91", "metadata": { "tags": [] }, "outputs": [], "source": [ "path = '../Figure2/300_enhancer/seq_reads_downsample/'\n", "cells = ['4M','1M','250k','50k']\n", "sample_count_table_tape = []\n", "for k in range(4):\n", " df_new = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", " samples = sorted([s.split('_bc_count')[0] for s in os.listdir(path) if '.tsv' in s and cells[k] in s])\n", " for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==6]),columns=['barcode','count'])\n", " test['barcode'] = test['barcode'].apply(reverse_complement)\n", " df_new = df_new.merge(test,on='barcode',how='left').fillna(0)\n", " f.close()\n", " df_new.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", " df_new['ratio_rep1'] = np.log2((df_new['ins_rep1']+1)/(df_new['ins_rep1'].sum()+1))#\n", " df_new['ratio_rep2'] = np.log2((df_new['ins_rep2']+1)/(df_new['ins_rep2'].sum()+1))#*10**6\n", " df_new['ratio_rep3'] = np.log2((df_new['ins_rep3']+1)/(df_new['ins_rep3'].sum()+1))#*10**6\n", " df_new['ratio_all'] = np.log2((df_new['ins_rep1']+df_new['ins_rep2']+df_new['ins_rep3']+1)/\n", " (df_new['ins_rep1'].sum()+df_new['ins_rep2'].sum()+df_new['ins_rep3'].sum()+1))#*10**6\n", " sample_count_table_tape.append([cells[k],sum(df_new['ins_rep1']!=0),sum(df_new['ins_rep2']!=0),sum(df_new['ins_rep2']!=0),sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep2'])[0], sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep3'])[0],\\\n", " sp.stats.pearsonr(df_new['ratio_rep3'],df_new['ratio_rep2'])[0]])\n", "sample_count_table_tape = pd.DataFrame(sample_count_table_tape,columns=['sample','recovery','recovery','recovery','PR','PR','PR'])" ] }, { "cell_type": "code", "execution_count": 28, "id": "a3ec09c1-3273-4525-a957-22569751744a", "metadata": { "tags": [] }, "outputs": [], "source": [ "df1 = sample_count_table_tape.iloc[:,[0,1,2,3]].melt(id_vars='sample')\n", "df2 = sample_count_table_tape.iloc[:,[0,4,5,6]].melt(id_vars='sample')\n", "df1['sample'] = pd.Categorical(df1['sample'],categories=['50k','250k','1M','4M']) \n", "df2['sample'] = pd.Categorical(df2['sample'],categories=['50k','250k','1M','4M']) " ] }, { "cell_type": "code", "execution_count": 29, "id": "28f5735a-53a7-4a5f-8cf1-df13d24ef6ee", "metadata": { "tags": [] }, "outputs": [], "source": [ "order=['50k','250k','1M','4M']," ] }, { "cell_type": "code", "execution_count": 30, "id": "2e4cd691-effa-426d-bd38-de5a1bc25ed8", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAaMElEQVR4nO3dfVTUZf7/8ecMMDPCMGACmneZEOImYqhYiwSsaKkblbptWSJmm9tp87QdzbV1Q9uKXW1LO1i2Zbbu5jGP+y37tZiphaWlpkHiDSKKN5DIiDDMcDvMXL8/XGZFGZwPMgMD1+McTzLDNZ839joXn5vr/fmohBACSfIy6s4uQJLaQwZX8koyuJJXksGVvJIMruSVZHAlrySDK3klGVzJK8ngSl7JY8G12+1MmjSpxWtms5mJEycyduxY3n77bU+VInUDHgnukSNHiI6O5ujRoy1eX7t2Lenp6ezfv58NGzZQX1/viXKkbsAjwR0+fDgHDx7klltuafH6nj17SElJQaVSERsbe02wmzU0NFBdXY3JZMJoNCKXV0geCa5arUan06FSqVq8XllZSXBwMABBQUGYzeZWx2dmZhIUFERwcDBhYWFOv0/qOTr14CwoKAiLxQJc3t+96aabWv2+xYsXYzKZOHfunCfLk7qwTg3uuHHj2LlzJzabjfz8fH72s5+1+n1arRaDwYDBYPBwhVJX1SnBfemllygqKuI3v/kNb731FuPGjSMtLQ0fH5/OKEfyQipvWkheXV1NUFAQJpNJzr49nLwAIXklGVzJK8ngSl5JBlfySr6dXYDU81itVo4fP46vry+RkZGo1crnTxlcyeOKi4vJPXwMm8oP/HREhQ9R/BkyuD2I2WxGp9Ph5+fn1u3YhaCu0YaloYma//658u/njfWcEwPQ+BvQn68hKlz5NmRwe4gTJ07w2qos7kxIInXyJPoYAhSNt9lFqyG88u81/w1rbUMTV18c8PNREaD1Ra/1RaWCmvKzEDKAAYP7tOvnkcHtIS5dusTtifdxVtuP/SeNTL4jAKvN3iJ8LULo+NpGTUMTdVbbNZ+p9VWj1/o6AtlHryXgiq+v/K/G93/7sT/99BNN5r5c9O3NJZuuXT+PDG4PYK63crKyiaJSI8EDgzlWribvP0dptNmv+V5/jY8jcIE6P/oF9XKE739B9CFA44uvT/tOSvXv35/74zXUWQX9QoLb9RkyuN2QzS4oqaylqNxM0QULZdX1gIFeht74qmF4PwNBAToCtD4tZkZ/jS9qteq6n98RBvYNuaHxHgmu2Wxm2rRpVFVV8fjjj/PUU08BUFpayqxZs7BYLMydO5d58+Z5opxuqbrOejmo5RZOGS00NNnx1/gQHqrnrogQTCWFHL14AaM1gJj+AfQP7d3ZJd8QRcFtamriwIED1NbWOl77xS9+cd1xzS06M2fO5O6772bOnDnodDpWrFjBsmXLiI+PJz4+nlmzZuHv76/8p+iBbHbBuUs1nCi3cLLcwoXqy21PA3v34q7wECLC9PQP7uVYvJ9r9OPgmUoGjO7N4bKanhXc1NRUAPr27QuASqVyKbh79uwhKyurRYtObGwsx48fZ/To0ajVaoYMGcKxY8cYPXr0NeMbGhoc7Ts9mamukaILlsuz6kULjU12AjQ+RIQFMv62EIaG6vHXtP6/NDo6mt8HBqPS9GJAWPuO5LsSRcGtr6/nyy+/VLwRZy06kZGR7N27lzvvvJPvv/+exsbGVsdnZmaybNkyxdv1dja7nbMVtZwot1BUbsZobkAFDLzJn/iIECLCArk56NqWqNb4+voyPOJW9xftIYqCGxMTw969exk7dqzjH8uVy3XNLTparbZFi84LL7zAk08+yV/+8hfCwsLo379/q+MXL17Mc889R3V1NYMGDVJSstepqm2k6L9BPWWswWqzo9f6EhGmJzEyjKGhenpp5IJ7RcHdunUrn3zyieNrlUrFqVOnrjuuuUVn+vTpLVp0tm7dypo1a+jTpw/333//NV3AzbRaLVqtVkmpXqPJZudMRa3jwOqipQGVCgb19ichMpTbwvT0Nbg2q/YkijsghBBUVFQQEuL66YzKykoefPBBLBYL8+fP5/Tp08ycOZPz58+zYMECAF5++WUmTpzY5ue40gFhrrdiqW9Cr7t8HrIzWSwWysvLCQsLQ6/XO16vrGl0BLX4ogWrTRCo8yUiLJCIMD1DQ/Xo/OSs2hZFwf3iiy948skn6devH2azmTVr1pCQkODO+lpwJbg5BRfYVWgkMTKUpKi+HqutNR//v60cOlZI9PBhjBwXf3kX4IKZippG1CoYfFMA4WF6bgsLJMyglbOqAop2FV566SXy8vIIDg7GaDQyY8YMdu3a5a7aFLPb7WjMpeiaGhmoC+7UWhqsNs6pQiFqEPlCkL/3DAadLxF9A5nws34MDQlAK2fVdlMUXF9fX8fZgdDQ0C53R5nKykre/Nty+v18GmeCaogYMtCj27fZ7RSVW8gvqeJ4mZkmuw5rYz2a6hJ+O+NeQgPlrNpRFAU3MjKSRYsWkZSUxHfffec4n9tVGAwGZs2axT6jD0OHDvXINoUQnL1US35JFUd/qqbOaqOvQUfisDCKS85zyqwjMnwoYYb2LSaRWqdoH9dms7Fu3Tp+/PFHwsPDmTdvHr169XJnfS242p6+Ye9pZt45xK21lFfXc6ikisOlJkx1VoJ6+TFiQBAjBwY7Qmqut1JV00BwgLbTDxS7G5dm3HXr1jFnzhyWLl2KSqUiODiYiooKMjMzeemll9xdo2Lu+nVsqmvkcImJ/FITF6rr0fn5cHt/A9EDgxl8k/812w3U+cnAuolLwW2+MBAREdHi9Z6wv1bXaOPoeRP5JVWcqajFV61iWL9AkqPCiAjT49OOfinpxrkU3HvuuQe73c7u3bt55513gMv7dk8//TRpaWluLbAzNNnsFF4wk19SxYlyC3a74NbQAO4fNYDhNxvk2YAuwKXgrlq1ipUrV1JWVsbOnTsRQqBWq4mLi3N3fYqdOnWKyspqqqqCHGdAXGEXgtMXa8gvqeLY+Woamuz0D+5FyvC+3D4gSP7K72IUHZytXr2ap59+2vH1qVOnPHb0Dtc/OKuqquLZZ58lOHYK0++4+boXR4QQlJn+d5BlaWiit7+G6IFBRA8MJkTfPS8zdweKTodFRUUxZ84cbLbL/UffffcdJ06ccEth7aHRaLj99tv56b8HkM5U1jQ6wnrR0kCAxofbB1wO64Ar1rBKXZeiGTcuLo4lS5awceNG4uLisFqtLFy40J31teDK6bDq6mr+nXee9ITIFgGsaWjiyE+XD7JKKuvw81Ez/OZAogcGMzRE77GWFaljKJpxAwMDSU1N5fPPP+fZZ58lNTXVo8F1hcFgQKetRKVS0dhkp6CsmvySKk4aLaiA8LBApsUOZFg/Q4vOU8m7KApuQEAAW7Zsoa6ujk2bNlFUVOTSOGc9Z1VVVcycOZNLly6Rnp7Ob3/7W+U/wVWa+///7+A5CsqqsdoEg3r7M3nEzdzePwh/rewP7Q4U7SqYzWbOnj2LXq/n9ddfZ9q0aSQmJl533MqVKwkNDXX0nG3fvh2dTsdbb71FQEAAaWlpxMTEcOjQoTY/x5VdhT0njOw4doHQQC3RA4IYMSCY3gEaV39EyUu4NP28//7717w2cuRITp486VJwnfWc+fj4UFNTQ319fZuXjpX0nMUMCuZEuZnZP79VHmR1Yy4F90afduOs5+yBBx4gJiaGFStWMHnyZKfjlfSc6XV+aH19ZGi7OZeCm5GRAVw+77lt2zZKSkqIj49n2LBhLm3EWc/ZkiVL+PTTTxkzZgwPPvgghYWFREZGXjO+J/WcSa5RdKSyaNEijEYjhw8fRqPRsGbNGlatWnXdcc56zkwmE3369EGtVtOnTx+n63u7c8+Z1D6KzgcdOHCAdevWodfrSUtLIzc316VxVz8W6pVXXqGoqIglS5Ywd+5cEhMT6dOnj8szuCQpmnGFEJhMJlQqFQ0NDS6P6927Nzk5Oa2+5+x1SWqLouC+8sorJCUlUVxcTFxcHCtWrHBXXZLUJpeDK4TAbDaTm5uL0WgkJCREHrlLncblfVyVSsWbb75JXV0doaGhMrRSp1K0q1BaWkp4eDgREREIIVCpVHz99dfuqk2SnFIU3HfeeYd+/fq5qxZJcpmi4C5evLhdd2uUpI6mKLharZbU1FRGjRrleK0rdvlK3Z+i4D788MPuqqPDmOut1FttmOutsk+sG1N05eyRRx6hsrKSAwcOYLPZeOyxx9xVV7t9W1jG2Uu1HDh9qbNLkdxIUXCfeOIJKisrmTJlCoWFhV3uYSO1tbXkf7WFgi2rCWwwdnY5khsp2lU4c+YM69evB2Dy5MkuPf/BkxobGzmce4Bqo5G66srOLkdyI8VrFS5evEhISAhVVVVYLBaXxjlr3elowcHB/OlPf6K8vJyoqCi3bEPqIoQCX3/9tYiKihJxcXHi1ltvFVu2bHFp3BtvvCH+9a9/CbvdLsaPHy/q6uqEEEL88Y9/FImJiSIxMVHExMSIzz77rM3PMZlMAhAmk0lJ2VI3pCi4FotF7Ny5UxiNRrFt2zbR1NTk0rgZM2aIsrIyIYQQ8+fPFwcPHmzxflVVlXj44YeF1WptdXx9fb0wmUzi3LlzMriSEEIIRQdnDz30ECdOnCAkJIQ9e/Ywe/Zsl8Y5a91plpGRwcKFC/H1bX3PJTMzk6CgINn9IDkoCq7FYnGcSVi2bBklJSUujWtu3QFatO4AXLhwgQsXLhAbG+t0/OLFizGZTDfc+yZ1H4qC6+/vT3Z2Nmazmb1797q8Qqy5dcdms7Vo3QH44IMP+PWvf93meK1Wi8FgaPNmzlLPoui+CiUlJSxatIi8vDxuu+02li9f3mpz49WcPS4qIiKCSZMmsWnTJpfurOjqHcml7k/xc846kwyu1EzePEvySjK4kldSdOWsuLiYjz76iNraWsdrclmj1BkUzbi/+tWvUKvVhIeHO/5IUmdQNOOGhoby/PPPu6sWSXKZouAOGDCAzMxM4uLiHOdwu9oKMalnUBRcm81GYWEhhYWFwOWWdRlcqTMoPo+bl5dHUVERMTEx3Hbbbe6qq1XyPK7UTNHB2YoVK/j973/P999/z9y5c8nKynJXXZLUJkUzbnx8PLt370alUmGz2UhOTvboDUHkjCs1UzTjqlQqx0GZj4+Pojs2SlJHUhTcmTNnkpCQwKJFi0hOTm7z9vdXMpvNTJw4kbFjx/L22287Xm9oaOD+++9n3LhxvPrqq8oql3o0xQdnhYWFHDp0iIiIiBY3BmmLs6fuvPvuu/z0009kZGSQmJjI559/3uZDTOSugtRM0Yy7ZcsWdu3aRW1tLVOmTOH11193adyePXtISUlp8dQdgF27djF9+nQA1q9f77QDovmJO648dUfqGRQFd/ny5Tz88MN88sknnD59mg8//NClcc5ad8rLy1m/fj3JycmsX78eP7/W7zwjW3ekq7Xr4CwgIACNRtPmr/UrOWvdCQgIYPz48Xz11Vfk5uZSUFDQ6njZuiNdTVFwx48fz4gRI3j00Ud58cUXiYmJcWmcs9adO+64g8DAQODyM3h9fHxaHS9bd6SruXxwJoTgiy++ICUlBR8fH4xGI6GhoS5txFnrzk033UR6ejpms5m77rrrumcW5MGZ1EzRWYWpU6eyefNml3cROpoMrtRM3kpf8kqKgrtly5YWX199Yw9J8hRFwTWbzfz73//GZrMB8NFHH3H8+HG3FCZJbVF0VmHu3Ln07t2bH374gerqah5//HF31SVJbVIUXL1ez/z58xkyZAgrV67ku+++c1ddktQmxRcgdu/ejclkYv/+/Y5OCEnyNEWnw0pLSykqKiIoKIiMjAweeeQRjz7QRJ4Ok5opXh22bds2zp07R3x8PMOGDUOt9tw9RWRwpWaKzio8//zzGI1GDh8+jEajYc2aNaxatcpdtUmSU4qmywMHDrBu3Tr0ej1paWnk5eW5qSxJapui4AohMJlMqFQqGhoa8KIbPUrdjKLgvvzyyyQlJfHDDz8QFxfHkiVLXBrnrHWnrKyMO+64g6SkJH75y18qq1zq0dp1f1yj0UhISIjLdyR31rqzf/9+9u3bxzPPPOPS58iDM6mZSzPuhx9+yKBBg4iKimLXrl2Ehoa6HFpw3rpTWlpKv379rjtetu5IV3MpuK+99hrHjh1jx44dZGRkKN6Is9ad0tJSVq9ezd13381rr73mdLxs3ZGu5lJwDQYDer2egQMHtmsjzlp3EhISeP/99/nqq6/4+uuvHTPx1WTrjnQ1l4J7ZUtNey44OGvd2b17N35+fvj4+BAYGChbdySXuXRwFhwczMiRIxFCkJ+f7/i7qwvJnbXuVFRUMH/+fHQ6HePHj+eVV15p83PkwZnUzKXgnjlzxul7t9xyS4cW1BYZXKmZS5d8PRlOSXKFfOqO5JVkcCWvJIMreSUZXMkryeBKXkkGV/JKMriSV5LBlbySDK7klWRwJa/kkeA6a91p9u6777rcBiRJ4KHgrl27lvT0dPbv38+GDRuor693vFdXV8cbb7zhiTKkbsQjwXXWugPw5ptv8tBDD3miDKkb8UhwnbXuVFZWkpubS1JSUpvjZc+ZdDWPBNdZ685f//pXFixYcN3xsudMulq72tOVWr58OUOGDGH69Oncc889bNu2DR8fH1JTU6murqaqqorKykree+89Jk6ceM34hoYGxw1IGhsbFbXGS92TR4LrrHUnIiICgJycHHbs2MHLL7/s7lKkbsIjwXUXIYR8DkU3FBgYeN3fqIru1tjVmM1mgoKCOrsMqYO50lPY7Wbc6upqBg0axLlz5zq9obIr1dLV6mmrlm4/46pUKqf/A7rSfRi6Ui3Qteppby3dbq2CVqslIyMDrVbb2aV0qVqga9Vzo7V49a6C1HN1uxlX6hlkcCWvJIMreSWvDu7Vt+Lfvn07o0eP5uc//zlFRUXk5OS4fZ2vxWLhvvvuIyEhgeeee46srCwSEhJISkoiKysLgKeffpq4uDjmzp0LQHp6OkVFRW6tq5ndbmfSpEkAJCUltVgbkp2d7dFL583rrjuiDq8O7tmzZ3n88cfJycnhs88+IzMzk5ycHN5++20yMzM9UsPatWt58MEH+eabbygrKyM7O5vs7GxycnL43e9+R15eHo2Njezfvx+DwcA333zjkboAjhw5QnR0dItlpPn5+Y6/b926lcGDB3uklqvXXd9oHV4d3CtvxW+xWNDpdAQGBhITE9Pica2nTp0iJSUFk8nU4TWMGDGCqVOnApefdSyEIDAw0PF+81pkgLvvvpvvv//e8V5WVhZLly7t8JqaDR8+nIMHD7a4aeHQoUM5efIkAMXFxdx6661u2/6Vrl53faN1eH1wm2/Fv3LlyhaXf5t/9Vy8eJG5c+fyj3/8wy2XhydMmEDfvn3JysrixIkT1NfXM3XqVCZMmMAPP/zgdC3yxx9/TG5urluDq1ar0el0LX4NT5kyhezsbAoKCoiKinLbtq/U2rrrG63Dq6+cJSQkMGXKFG655RZSUlLw9f3fj6PRaADYvHkzgwcPRqfTuaWGpqYmHnnkEQwGA//5z3/YuXMn9957L+fPn2fWrFnMmDHjmrXIxcXFbNq0yXFndk9KTk4mLS2NxsZGpk6dyoEDB9y+zeZ1183/Dh1Rh1fPuFfeir9///4cPnyYmpoacnNzHaGYN28eL7zwAsuWLXNLDe+++y4jRoxg7dq1aDQa9u3bh5+fHwaDAY1G43iMAMCXX35JfHw8ABs2bKCystIjwbmSTqdDrVazbds2xo8f75FtHj16lAULFvDss8/yz3/+E6vVesN1eHVwx4wZw4wZM0hMTGTIkCG89957xMfH88wzz/D8888Dl3cZZsyYQW5uLgUFBR1ew+7du8nOziYpKYmUlBSOHTvGnXfeyX333cfSpUuJi4vDarUyZswYbDYbsbGxjrpeffVVlzpAOtqECRMIDAzEz8/PI9v79NNPycnJYeXKlcyaNcux3RupQ17ylbySV8+4Us8lgyt5JRlcySvJ4EpeSQZX8koyuJJXksF1k2nTplFXV8cDDzzg0vevX7+e6OhojEZjh9Zx+vRpj11o8CQZXDdoamoC4NChQ4wePdqlMTk5OSxfvpzQ0NBW35en21vy6rUKXdGRI0d4/fXXMZvNLF68mKFDh3L06FHHJeimpiaeeuopCgsLsVqtvPjii/Tq1Yvs7GwOHjzImDFjHOH94IMP2LhxI/X19WzcuJFPPvmEDRs2IIRg3rx5PPbYY+zYsYOMjAzUajX+/v5s3rwZq9XKo48+itVqdayes9vtzJkzh1OnTmG321m+fLnj8rNXElKHW7BggTh+/LiYPHmysNlsLd77+9//LhYsWCCEEOLSpUti8ODBwmazidmzZ4vt27e3+N5169aJqVOnCiGEKCgoEJMmTRJ2u100NDSI6OhocenSJfHOO++I8+fPCyGEeOCBB8SXX34pFi1aJNasWSOEEGLTpk0iPj5enD59WsTGxoq6ujpx5swZsXHjRnf/M7iVnHE7WGpqKt9++y3ffvstJ0+eZOHChfztb39zvJ+Xl8eUKVMA6N27N3379qWiosLp540aNQqAH3/8kYKCApKTkwGw2WyOm2ksXLiQoKAgiouLsdlsHDp0iMceewyAsWPHApcfJP7cc8+Rnp5OY2OjoxvDW8ngdrAPPviABQsWkJqaysWLF3niiSdavB8eHs7evXuZOnUqRqMRs9nsdL/2SpGRkcTGxvLxxx9js9n485//TGRkJPfeey9nz57Fbrc7fvVHRkayb98+RowYwd69ewE4fPgwFRUVbNy4kfPnzzNx4kTHAnhvJIPbwXbu3ElycjLbt29n0aJF17w/b948Zs+eTUJCAkCrz8RozahRoxg3bhwJCQkIIUhLS0On0/HQQw8RFxdHREQECQkJrF69mjVr1vDoo4+yYcMGRo4cCcCwYcNYunQpmzdvxmw284c//KHjfuhOIFeHSV5Jng6TvJIMruSVZHAlrySDK3klGVzJK8ngSl5JBlfySjK4kleSwZW8kgyu5JVkcCWv9P8BPMGV9aXiqsMAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df2,x=\"sample\", y=\"value\", color='#80B1D3',\\\n", " linewidth = 1,markers=['X','.'],dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df2, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "axs.set_xlabel('# of reads',fontsize=7);\n", "axs.set_ylabel('Pearson correlation',fontsize=7)\n", "axs.set_ylim(0.4,1)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_300_enhancer_read_downsample_pearson.pdf')" ] }, { "cell_type": "code", "execution_count": 31, "id": "45cb0c7a-cd05-4534-9386-b9bcc34ec3ae", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df1,x=\"sample\", y=\"value\", color='#80B1D3',\\\n", " linewidth = 1,markers=['X','.'],dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df1, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "axs.set_ylim(150,300);\n", "axs.set_xlabel('# of reads',fontsize=7);\n", "axs.set_ylabel('# of enhancer recovered',fontsize=7)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_300_enhancer_read_downsample_recovery.pdf')" ] }, { "cell_type": "markdown", "id": "ef66f356-4cfb-491a-8446-a87975184723", "metadata": { "tags": [] }, "source": [ "## RT downsample" ] }, { "cell_type": "code", "execution_count": 32, "id": "fd995103-0661-40f6-bc9e-d916283916db", "metadata": { "tags": [] }, "outputs": [], "source": [ "path = '../Figure2/300_enhancer/RT/'\n", "cells = ['80K','20K','5K','1K']\n", "sample_count_RNA = []\n", "for k in range(4):\n", " df_new = pd.read_table('../Figure2/300_enhancer/Enhancer_designs.txt',header=0).iloc[:,2:]\n", " samples = sorted([s.split('_bc_count')[0] for s in os.listdir(path) if '.tsv' in s and cells[k] in s])\n", " for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==6]),columns=['barcode','count'])\n", " test['barcode'] = test['barcode'].apply(reverse_complement)\n", " df_new = df_new.merge(test,on='barcode',how='left').fillna(0)\n", " f.close()\n", " df_new.columns = ['barcode','RNA/DNA ratio','ins_rep1','ins_rep2','ins_rep3']\n", " df_new['ratio_rep1'] = np.log2((df_new['ins_rep1']+1)/(df_new['ins_rep1'].sum()+1))#\n", " df_new['ratio_rep2'] = np.log2((df_new['ins_rep2']+1)/(df_new['ins_rep2'].sum()+1))#*10**6\n", " df_new['ratio_rep3'] = np.log2((df_new['ins_rep3']+1)/(df_new['ins_rep3'].sum()+1))#*10**6\n", " df_new['ratio_all'] = np.log2((df_new['ins_rep1']+df_new['ins_rep2']+df_new['ins_rep3']+1)/\n", " (df_new['ins_rep1'].sum()+df_new['ins_rep2'].sum()+df_new['ins_rep3'].sum()+1))#*10**6\n", " sample_count_RNA.append([cells[k],sum(df_new['ins_rep1']!=0),sum(df_new['ins_rep2']!=0),sum(df_new['ins_rep2']!=0),sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep2'])[0], sp.stats.pearsonr(df_new['ratio_rep1'],df_new['ratio_rep3'])[0],\\\n", " sp.stats.pearsonr(df_new['ratio_rep3'],df_new['ratio_rep2'])[0]])\n", "sample_count_RNA = pd.DataFrame(sample_count_RNA,columns=['sample','recovery','recovery','recovery','PR','PR','PR'])" ] }, { "cell_type": "code", "execution_count": 33, "id": "5910cfc7-b391-4e83-9956-0631322656ae", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
samplerecoveryrecoveryrecoveryPRPRPR
080K2982982980.9134110.9322300.922992
120K2952952950.8995820.9056680.908280
25K2742752750.7984900.8216560.833137
31K2151981980.5975070.6555870.652909
\n", "
" ], "text/plain": [ " sample recovery recovery recovery PR PR PR\n", "0 80K 298 298 298 0.913411 0.932230 0.922992\n", "1 20K 295 295 295 0.899582 0.905668 0.908280\n", "2 5K 274 275 275 0.798490 0.821656 0.833137\n", "3 1K 215 198 198 0.597507 0.655587 0.652909" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sample_count_RNA" ] }, { "cell_type": "code", "execution_count": 34, "id": "8e56bc4e-f13a-4f0e-8853-41c5ee779bb5", "metadata": { "tags": [] }, "outputs": [], "source": [ "df1 = sample_count_RNA.iloc[:,[0,1,2,3]].melt(id_vars='sample')\n", "df2 = sample_count_RNA.iloc[:,[0,4,5,6]].melt(id_vars='sample')\n", "df1['sample'] = pd.Categorical(df1['sample'],categories=['1K','5K','20K','80K']) \n", "df2['sample'] = pd.Categorical(df2['sample'],categories=['1K','5K','20K','80K']) " ] }, { "cell_type": "code", "execution_count": 35, "id": "f9c1ffe0-e7f3-4aed-b4a4-33bf2013f820", "metadata": { "tags": [] }, "outputs": [], "source": [ "order=['1K','5K','20K','80K']" ] }, { "cell_type": "code", "execution_count": 36, "id": "d3e2fcf8-ff73-4a5d-adc0-b92c66845187", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALAAAACuCAYAAACWa4e1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAZ5ElEQVR4nO3deVRTZ94H8G8SIJEtrC6tCAqitSgUFVSWQselYEutWOuKa8fjOMPpdLDUqXUbre9gF7XqYK2VlypDHXuqPe/Yse4WBKwIWrWirCJuAUJIJAnJzfP+gWREid6rWbjh+ZzjQROe5Jf45eHm3vu7j4AQQkBRPCW0dQEU9SxogCleowGmeI0GmOI1GmCK12iAKV6jAaZ4jQaY4jUaYIrXrBZgg8GA8ePHd7hNqVRi3LhxGDlyJP7xj39YqxTKjlglwJcuXcLQoUNx+fLlDrfv3LkTc+fOxZkzZ5CTkwONRmONcig7YpUAv/DCCyguLoa/v3+H2/Pz8zF27FgIBAKEh4c/EvB2Wq0Wzc3NUCgUkMlkoKdvUO2sEmChUAiJRAKBQNDhdrlcDg8PDwCAVCqFUqnsdPz69eshlUrh4eGBnj17mvw+qvux6Yc4qVQKlUoFoG172MvLq9PvW7ZsGRQKBWpra61ZHsUDNg1wZGQkjh49CoZh8Ouvv2LIkCGdfp9YLIa7uzvc3d2tXCHV1dkkwGvWrEF5eTneeecdbNu2DZGRkUhJSYFIJLJFORSPCfh0QntzczOkUikUCgWdjSkA9EAGxXM0wBSv0QBTvEYDTPEaDTDFazTAFK/RAFM2UV9fj8bGxmd+HBpgyuquX7+Ov3zwIT76+FNUXL/5TI/lYKaaKIo1tVqNEa9ORaNTL/x6U4nAfk//WDTAlMUQQqDRMVBq9Pf/6KDU6lF7h0HlbTl6eDpi0BC/Z3oOGmCKs7ZgGqDU6KDS3g/m/ZCq2v+ubfvKGDqeqdDDUQQnIYFQ5ADC6OEqfrYIWiXASqUSkydPRlNTE+bPn4/FixcDAOrq6jB79myoVCosWLAAixYtskY53ZJcLsfFixfRu3dvDBw4sNPvIYRAqzc8EMi2rx1DqoNKo4f+oWBKHEVwkzjATewALxcn9PN2hpvEse22+19dxQ5wEAlRVlaG0zI17vTohWZ16zO9Lk4B1uv1OHv2LFpaWoy3vfLKK08c1946NGPGDMTGxmLevHmQSCTYsGEDVq9ejaioKERFRWH27Nlwdnbm/iqoJzp79iy2796L3v1fwOTkZIglzlBqH5gx7/961zMPB1MIN4kjXMUO8HR2Qj8vZ7i2h1Lc9tVV4gBHEfv9AT169EDpjWZ4DXFDlVKAF5/hdXEKcFJSEgCgV69eAACBQMAqwPn5+diyZUuH1qHw8HCUlZVh+PDhEAqFCAgIwG+//Ybhw4c/Ml6r1RrbiijubjWpUc74IGRyKgQCAX6uUkLscM84M3o4O6Kvl7MxkO2zJtdgstWvXz/8Zc6bUOsJnvPtvImBLU4B1mg0OHbsGOcnMdU6FBwcjMLCQowaNQq//PILWls7/3Wyfv16rF69mvPzdmeEENQ03EPetXpUyFRwFjnAy0EHOeOEYX2c8ebIATatr1+fnmZ5HE4/XqGhoSgsLATDMDAYDDAYDKzGmWod+utf/4pNmzZh0qRJ6NmzJ5577rlOx9OWIvYIISi73Yyv8yrxv6erodLqkTy8L94e5gHhjXMY5XEP8UM6f5/5iNMJ7YMHD4ZWq/3vYIEAlZWVTxyXkZGBgIAAJCcnY8KECTh06BBEIhGysrIwYcIEeHt744033sCPP/742MehJ7SbZjAQXLqpQN41Ge4qtfDzckbMQF8E9XR9pJnWnnDuyCCEoKGhAT4+PqzHyOVyvPnmm1CpVEhNTUV1dTVmzJiBW7duIS0tDQCwdu1ajBs37rGPQwP8KD1jQGltE06XyyBv0SGopyuiB/rC39vF1qVZBacA//TTT/j973+P3r17Q6lUIjMzEzExMZasrwMa4P/S6hmcrW5EYUUDVFo9XnzOHVEDfdFH2sPWpVkVpw9xa9asQWlpKTw8PCCTyTBlyhScPHnSUrVRnWjR6lFU1YAzVQ1o1ROE+nkgKsgH3q5iW5dmE5wC7ODgYNyb4OvrS6+QY0UKdSsKKhpwrqbtDK5wfy+MCfSBew9HG1dmW5wCHBwcjPT0dMTFxaGgoMC4P5iynAaVFnnlMlyoVcDJQYDRgT6I7O8N52c8BGsvOG0DMwyDXbt24fz58wgMDMSiRYvQo4f1trm60zbwLYUaeddkuHyzGa5iB4wO9MHwAE+IHei1Mx7EKsC7du3CvHnz8NFHH0EgEBg3HQQCAdasWWPxItvZe4AJIbje2IK8azKU31XB09kRY4J8EebnAQcLHBGzB6x+D7UfYAgKCupwuz3vX7QmQgiu3VUh76oMtfIW9HQTY3J4X7z4nBRCIX2PH4dVgCdMmACDwYC8vDxs374dQNubvmTJEqSkpFi0QD7T6XRQKBTw8PCAg8Ojb3X7wYf88nrcadagr2cPTI/oh4G93OjkwBKrAG/atAkbN27E7du3cfToURBCIBQKERERYen6eO1EfiGy/7kXKdOnYlzcf/eX6xkDztc2Ib+8HvKWVgT6uuLVMf3h7+1Mg8sRpw9xW7duxZIlS4z/rqysxIAB1jsphG/bwOuzDqDVKxBieSU+mJOEVj2Ds9VyFFbWQ6nRY0iftoMPz3l0r4MP5sRpX8zgwYMxb948MAwDACgoKMC1a9csUpg9GBsWiONVKkSFDMCJK3dQVNWIVj2DYX09EDXQFz7d9OCDOXEK8LJly7B8+XLk5uYiIiICQ4cOtVRdduHwfw5C+XwkjtRK4OBYj+H+Xhgd6A1pDydbl2Y3OO2bcXNzQ1JSEjw8PPDuu+/i559/tlRdvKfTG+A5YiIk7l4Y4uuEd8cOwqshfWh4zYxTgF1cXHDgwAGo1Wrs3bsX5eXlrMaZWk6rqakJiYmJGDVqFDIzM7lV3oXp9Ab880wN5FrAz8sFb0UNgQs9cmYRnAK8Z88eBAUFYdWqVcjPz2e9tpup5bRycnLw9ttvo6CgANu2beNefRfUHt4bcjVeG+yJVrUK9fX1ti7LbrGaFr7++utHbhs2bBgqKirw8ssvP3G8qZ44kUiEe/fuQaPRPPaQNF964lrvh7dOrsbMUf449MN3uKb1wP6bF7Bw7ixbl2eXWAX4WVt5TPXETZo0CaGhodiwYQMSEhJMjudDT1yr3oB/FtWgrqktvP7eLtB79IO7yAetDJ2BLYZwYDAYyI8//kh27NhBLl++TBiGYTVu8uTJpL6+nhBCyLvvvksuXLhACCFk4cKFpKioiDAMQ5KSkkhZWVmn4zUaDVEoFKS2tpYAIAqFgkvZFqfVMSQrr5J8/H+XSE29ynj7TVkjKbpQRm7KGm1YnX3j9MkiPT0dMpkMFy9ehJOTEzIzM7Fp06YnjmtfTis5ObnDcloKhQLe3t4QCoXw9vY2eX6xWCyGWNw195m2z7w378+8/R5o5enj44k+Pp42rM7+cToS98orr+DYsWOIj4/H8ePHERsbi1OnTj1xnKmeuJaWFqSmpoIQgoiICGzYsOGxj9PVjsS16g3IKarGrSbNI+GlrIPTDEwIgUKhgEAg6NCd/CSenp44ceJEp/eZur2ra9UzyCmqoeG1MU4BXrduHeLi4lBVVcVqxrRXrXoGewprcLtZg1mjA+DnRS+HZSusA0wIgVKpRElJCWQyGXx8fLrlmVMdwjuKhtfWWB/IEAgE2Lx5M9RqNXx9fWl4aXi7BE6bEHV1dQgMDERQUBAIIRAIBKw+xNkDrZ5BDg1vl8MpwNu3b0fv3r0tVUuXpb0/895t1mD2qAD0peHtMjifTvk0V6fkswfDO2t0APp60vB2JZwCLBaLkZSUhLCwMONt1uxKtjatnsGeghrcVdLwdlWcAjxt2jRL1dHlaHX3Z14a3i6N0+mU06dPh1wux9mzZ8EwDGbNss8zrLQ6BrsLq3FXqcFsGt4ujVOAFy5cCLlcjsTERFy9etUuF2VpD69MqcXs0QF4noa3S+O0CVFTU4Ps7GwAQEJCAqv1MfiEhpd/OM3AhBBjd0FTU5Nx2YAnMdVS1JVoHghvypj+NLw8wSnA69atQ0xMDCIjIxEeHo7ly5ezGmeqpWj58uWIi4tDXFwcwsLC8O9//5v7KzCD9vDWq9rCS6/TwCNcTh5WqVTk6NGjRCaTkUOHDhG9Xs9q3JQpU8jt27cJIYSkpqaS4uLiDvc3NTWRadOmEZ1O1+l4S57Qrm7Vkx2nysn/HLxE6uQtZntcyjo4zcBTp07FtWvX4OPjg/z8fMyZM4fVOFMtRe1WrlyJpUuXdnr9MKCtpUgqlcLP79nW1X2YRsdgd0E1GlStmD2azrx8xCnAKpXKuOdh9erVuHHjBqtxppbZAoA7d+7gzp07CA8PNzneEstsGcN7rxUpowNoeHmKU4CdnZ1x8OBBKJVKFBYWsj4jrb2liGGYDi1FAJCVlYW33377sePFYjHc3d3N1oWh0TH45oHw9qHh5S1OLUU3btxAeno6SktLMXDgQGRkZCA4OPiJ40y1FAUFBWH8+PHYu3evcRPjcczRUtQe3kYaXrvAeZ04W3rWAKtb2/Y2yO+1YvaYgG63JJU9srvrHSk1Oqg0euOK6u3UrQy+KahCU4sOKWMC0JuG1y7Y3cILxdWN+PJUBYqrG4230fDaL04zcFVVFb799lu0tLQYb+tKp1PqdDoI5TVwgQA9RfcA0PDaO04z8FtvvQWhUIjAwEDjn66kvr4eud9k4UZ1FW7WVELdqm8Lr5qG115xmoF9fX3x/vvvW6qWZ+bi4gIXFxfoADg5uyK7oBoKtQ4po2l47RWnvRALFy5EYGAgIiIijPuArXlGGpu9EDKZDN9fkMEgcoRSo0fK6P7oJZVYrUbKujjNwAzD4OrVq7h69SqAtlb7rnZKpavUE41aGURCGt7ugFOAd+3ahdLSUpSXlyM0NBQDBw60VF1P7XxtE/SMAfOig9DLnYbX3nH6ELdhwwb8+c9/xi+//IIFCxZgy5YtlqrrqUUO8Ia/jwsNbzfBaQbev38/8vLyIBAIwDAM4uPj8cc//tFStT0VgUAAB6Hd7d6mTOD0Py0QCIwf3kQiEacrVFKUJXAK8IwZMxATE4P09HTEx8c/dlmAB5lqKdJqtXjjjTcQGRmJjz/+mFvlFAVw68gghJCysjLyr3/9i5SUlLAe8/nnn5Pdu3cTg8FAoqOjiVqtJoQQ8uWXX5JVq1YRQgiJjY0lLS2P74hQKBSsOjJyCqtZ10bxG6cZ+MCBAzh58iRaWlqQmJiIzz77jNW4/Px8jB07tsMqRQBw8uRJJCcnAwCys7NNdmS0r1D0pFWKCCEoKj6PG7fuoKKmjsMro/iKU4AzMjIwbdo07N+/H9XV1dizZw+rcaZaiu7evYvs7GzEx8cjOzsbjo6OnY5n21Ikl8ux+z/5aBE649Rldt0iFL891Yc4FxcXODk5PXZttweZailycXFBdHQ0jh8/jpKSEly5cqXT8WxbilxdXRH7oh+Uv+zHyAE+HF4ZxVecdqNFR0cjJCQEmZmZWLFiBUJDQ1mNM7VK0UsvvQQ3NzcAgLu7O0QiUafj2a5S5OTkhOSkiXj91XGQSOh+4O6A9bkQhBD89NNPGDt2LEQiEWQyGXx9fVk9iamWIi8vL8ydOxdKpRKjR49+4p6IrrZKEWV7nE7mmThxIvbt28d608HcaICph9ElBihe4xTgAwcOdPj3wxcooShr4xRgpVKJ7777DgzDAAC+/fZblJWVWaQwimKD0260BQsWwNPTE+fOnUNzczPmz59vqbooihVOAXZ1dUVqaioCAgKwceNGFBQUWKouimKF84GMvLw8KBQKnDlzxtiZQVG2wmk3Wl1dHcrLyyGVSrFy5UpMnz7dqgu/0N1o1MM4X1rq0KFDqK2tRVRUFAYNGgShFU8epwGmHsZpL8T7778PmUyGixcvwsnJCZmZmdi0aZOlaqOoJ+I0fZ49exa7du2Cq6srUlJSUFpaaqGyKIodzou8KBQKCAQCaLVacNz6oCiz4xTgtWvXIi4uDufOnUNERATrRV5MtRTdvn0bL730EuLi4vDaa69xq5yi8JTXB5bJZPDx8WF9hfaNGzfC19cXM2bMQGxsLA4fPgyJRIIzZ86gqKgIf/rTn1g9Dv0QRz2M1Qy8Z88e+Pn5YfDgwTh58iR8fX1Zhxcw3VJUV1eH3r17P3E825YiqvthFeBPPvkEv/32G44cOYKVK1dyfhJTLUV1dXXYunUrYmNj8cknn5gcb6lViij+YxVgd3d3uLq6om/fvk/1JKZaimJiYvD111/j+PHjOHXqlHFmfpglVimi7AOrAD/Y6vM0By5MrVKUl5cHR0dHiEQiuLm5PbalyJyrFFH2g9WHOA8PDwwbNgyEEPz666/Gv7M9od1US1FDQwNSU1MhkUgQHR2NdevWPfZx6Ic46mGsAlxTU2PyPn9/f7MW9Dg0wNTDWB1KtmZIKYoLehlHitdogCleowGmeI0GmOI1GmCK12iAKV6jAaZ4jQaY4jUaYIrXaIApXrNKgE21FLXbsWMH6/YkinqQVQK8c+dOzJ07F2fOnEFOTg40Go3xPrVajc8//9waZVB2yCoBNtVSBACbN2/G1KlTrVEGZYesEmBTLUVyuRwlJSWIi4t77HjaE0eZYpUAm2op+vvf/460tLQnjqc9cZQpT9VWz1VGRgYCAgKQnJyMCRMm4NChQxCJREhKSkJzczOampogl8vx1VdfYdy4cY+M12q1xguptLa2cmrpp+ybVQJsqqUoKCgIAHDixAkcOXIEa9eutXQplJ2xSoAthRBC1+mwQ25ubqx/w3K6OmVXo1QqIZVKbV0GZWZceh7tbgZubm6Gn58famtrbd742ZVq6Wr1PK6WbjMDCwQCk/8RXek6El2pFqBr1fOstdjduRBisRgrV65ktbZyd6oF6Fr1mKsWXm9CUJTdzcBU90IDTPEaDTDFa3YTYIPBgPHjxwMA4uLioNfrAQArVqzAO++8Y7U6Hl42wRa1qFQqvP7664iJicF7772Hw4cPY/jw4RgzZgzKy8tRXV2NWbNmAWjbnTVixAgcP37cIrU0NTUhMTERo0aNQmZmpvlrIXbg4sWLZMiQIeT5558nhBDy8ssvE51OR7755huSkJBAdDqd1WopKioimzdvNv7bFrVs3LiR7Ny5kxBCyPTp00l8fDxpbm4mpaWlZP78+aSqqorMnDmT6PV6kpCQQHbv3m2xWrZu3UqysrKIwWAgQ4cONXstvN4P3O6FF15AcXExfve73xlv+/nnn7Fx40acOHECDg7We5mdLZtg7VpCQkIQEhICAJBIJBCLxXBzc0NoaGiH5YFTU1MRGRmJmTNnWqwWkUiEe/fuQaPRwNHRERKJxKy12EWAhUIhJBJJh6M3S5cuhUqlMv76tpa6ujrs27cPX3zxBZKSkmxSS/sP8pYtW1BVVdXhB6r9PTp48CD69++PkSNHWrSWSZMmITQ0FBs2bEB8fDzUarVZa7GbbeCH7dmzB0uWLMGHH35o1eftbNkEa9ei1+vx1ltvoaSkBPv37zeeiw0ATk5OANp+axUVFaGkpARFRUUWq2X58uX44YcfUFFRgZqaGjQ1NZm1FrsNcGBgIP7whz+goKAAxcXFVnvezpZNsHYtO3bsQEhICHbu3AmpVIrm5mbcu3cPJSUlxuUd+vfvDwcHB3zxxRdYsmQJGIaxSC0KhQLe3t4QCoXw9/dHaWmpWWuxi00IU0QiETZt2oTFixejsLDQKguTjxgxAlOmTDEumzBo0CCr15KXl4fy8nLjp/nJkycjKioKrq6uyM3N7bApExERgbCwMGzbto31en1cLF++HAsWLAAhBBEREfjqq6/MWgs9lEzxmt1uQlDdAw0wxWs0wBSv0QBTvEYDTPEaDTDFazTAFjJ58mSo1WpMmjSJ1fdnZ2dj6NChkMlkZq2juroa0dHRZn3MroQG2ALad85fuHABw4cPZzXmxIkTyMjIgK+vb6f30931nbPrI3G2cOnSJXz22WdQKpVYtmwZBgwYgMuXLxsPm+r1eixevBhXr16FTqfDihUr0KNHDxw8eBDFxcUYMWKEMcRZWVnIzc2FRqNBbm4u9u/fj5ycHBBCsGjRIsyaNQtHjhzBypUrIRQK4ezsjH379kGn02HmzJnQ6XTGE3kMBgPmzZuHyspKGAwGZGRkICoqymbvk9mY/wxQKi0tjZSVlZGEhATCMEyH+7788kuSlpZGCCGksbGR9OvXjzAMQ+bMmUMOHz7c4Xt37dpFJk6cSAgh5MqVK2T8+PHEYDAQrVZLhg4dShobG8n27dvJrVu3CCGETJo0iRw7doykp6eTzMxMQgghe/fuJVFRUaS6upqEh4cTtVpNampqSG5urqXfBqugM7CZJSUl4fTp0zh9+jQqKiqwdOlSfPrpp8b7S0tLkZiYCADw9PREr1690NDQYPLxwsLCAADnz5/HlStXEB8fDwBgGMZ4UZClS5dCKpWiqqoKDMPgwoULxi6H9lMU/f398d5772Hu3LlobW3FggULLPHyrY4G2MyysrKQlpaGpKQk1NfXY+HChR3uDwwMRGFhISZOnAiZTAalUmlyu/dBwcHBCA8Px/fffw+GYfC3v/0NwcHBePXVV3H9+nUYDAbjJkFwcDCKiooQEhKCwsJCAMDFixfR0NCA3Nxc3Lp1C+PGjcPEiRPN/wZYGQ2wmR09ehTx8fE4fPgw0tPTH7l/0aJFmDNnDmJiYgCg0zVDOhMWFobIyEjExMSAEIKUlBRIJBJMnToVERERCAoKQkxMDLZu3YrMzEzMnDkTOTk5GDZsGABg0KBBWLVqFfbt2welUokPPvjAfC/ahujZaBSv0d1oFK/RAFO8RgNM8RoNMMVrNMAUr9EAU7xGA0zxGg0wxWs0wBSv0QBTvEYDTPHa/wOFpBgEjXrHOgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df2,x=\"sample\", y=\"value\", color='#80B1D3',\\\n", " linewidth = 1,markers=['X','.'],dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df2, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "axs.set_xlabel('# of reads',fontsize=7);\n", "axs.set_ylabel('Pearson correlation',fontsize=7)\n", "axs.set_ylim(0.4,1)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_300_enhancer_RT_read_downsample_pearson.pdf')" ] }, { "cell_type": "code", "execution_count": 37, "id": "02495c16-ce75-458a-bf9a-9514e27a9fe4", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.lineplot(data=df1,x=\"sample\", y=\"value\", color='#80B1D3',\\\n", " linewidth = 1,markers=['X','.'],dashes=False,err_style=\"bars\", err_kws={'capsize':1,'elinewidth':0.5},errorbar='sd',ax=axs)\n", "sns.scatterplot(data=df1, x=\"sample\", y=\"value\", color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "axs.set_ylim(150,300);\n", "axs.set_xlabel('# of reads',fontsize=7);\n", "axs.set_ylabel('# of enhancer recovered',fontsize=7)\n", "axs.xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "g.legend_.remove()\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/Supp_300_enhancer_RT_read_downsample_recovery.pdf')" ] }, { "cell_type": "markdown", "id": "ba15741a-5a97-49c7-a3ec-9e95f51b52bb", "metadata": { "tags": [] }, "source": [ "# Figure 2 f-g SynEnhancer cell specific test" ] }, { "cell_type": "code", "execution_count": 38, "id": "5b695fee-0e41-4f00-8f99-f8bf67331aa4", "metadata": { "tags": [] }, "outputs": [], "source": [ "path = '../Figure2/synEN/'\n", "samples =sorted([s.split('_bc_count')[0] for s in os.listdir(path) if 'HEK293T' in s and '.tsv' in s])\n", "df_hek = pd.read_table(path+'synEn_designs.txt')\n", "for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==5] ),columns=['barcode','count'])\n", " test['count'] = test['count']\n", " df_hek=df_hek.merge(test,on='barcode',how='inner').fillna(0)\n", "df_hek.columns = ['motif','barcode','barcode_rc','Sequence','Hek293_rep1','Hek293_rep2','Hek293_rep3']" ] }, { "cell_type": "code", "execution_count": 39, "id": "c850200e-3b3d-4260-b3c1-33ed62b828ec", "metadata": { "tags": [] }, "outputs": [], "source": [ "samples =sorted([s.split('_bc_count')[0] for s in os.listdir(path) if 'K562' in s and '.tsv' in s])\n", "df_k562 = pd.read_table(path+'synEn_designs.txt')\n", "for i in range(3):\n", " with open(path+samples[i]+'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " test = pd.DataFrame(merge_edit_1([a for a in [str2array(s) for s in temp] if len(a[0])==5]),columns=['barcode','count'])\n", " test['count'] = test['count']\n", " df_k562=df_k562.merge(test,on='barcode',how='inner').fillna(0)\n", "df_k562.columns = ['motif','barcode','barcode_rc','Sequence','K562_rep1','K562_rep2','K562_rep3']" ] }, { "cell_type": "code", "execution_count": 40, "id": "2a59453a-04f5-4c5f-b592-eda275bdd743", "metadata": { "tags": [] }, "outputs": [], "source": [ "df_hek['Hek_ratio_rep1'] = np.log2((df_hek['Hek293_rep1'])/(df_hek['Hek293_rep1'].sum()))#*10**6\n", "df_hek['Hek_ratio_rep2'] = np.log2((df_hek['Hek293_rep2'])/(df_hek['Hek293_rep2'].sum()))#*10**6\n", "df_hek['Hek_ratio_rep3'] = np.log2((df_hek['Hek293_rep3'])/(df_hek['Hek293_rep3'].sum()))#*10**6\n", "df_k562['K562_ratio_rep1'] = np.log2((df_k562['K562_rep1'])/(df_k562['K562_rep1'].sum()))#*10**6\n", "df_k562['K562_ratio_rep2'] = np.log2((df_k562['K562_rep2'])/(df_k562['K562_rep2'].sum()))#*10**6\n", "df_k562['K562_ratio_rep3'] = np.log2((df_k562['K562_rep3'])/(df_k562['K562_rep3'].sum()))#*10**6\n", "\n", "## Insertion betwee\n", "df_k562['K562_ratio'] = np.log2((df_k562['K562_rep1']+df_k562['K562_rep2']+df_k562['K562_rep3'])/\n", " (df_k562['K562_rep1'].sum()+df_k562['K562_rep2'].sum()+df_k562['K562_rep3'].sum()))\n", "df_hek['Hek293_ratio'] = np.log2((df_hek['Hek293_rep1']+df_hek['Hek293_rep2']+df_hek['Hek293_rep3'])/\n", " (df_hek['Hek293_rep1'].sum()+df_hek['Hek293_rep2'].sum()+df_hek['Hek293_rep3'].sum()))" ] }, { "cell_type": "code", "execution_count": 41, "id": "6028d76b-9556-4a06-9316-ae913b734a16", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,3,figsize=(4.5,1.5),sharey=False,sharex=False)\n", "sample = [('Hek_ratio_rep1','Hek_ratio_rep2'),('Hek_ratio_rep1','Hek_ratio_rep3'),('Hek_ratio_rep2','Hek_ratio_rep3')]\n", "for i in range(3):\n", " s=sample[i]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_hek, color=['#4A4A4A'],s=5,ax=axs[i],marker='o')\n", " pr = sp.stats.pearsonr(df_hek[s[0]],df_hek[s[1]])[0]\n", " sr = sp.stats.spearmanr(df_hek[s[0]],df_hek[s[1]])[0]\n", " sns.despine(offset=3)\n", " start, end = -14,0\n", " axs[i].yaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].xaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].text(-14,-4,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", " axs[i].set_xlabel('')\n", " axs[i].set_ylabel('')#s[1])\n", " axs[i].plot([start, -2],[start, -2],'--',color='#FB8072',linewidth=0.8)\n", " axs[i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/supp_synEn_hek.pdf')" ] }, { "cell_type": "code", "execution_count": 42, "id": "183d2d9b-afdb-4ae6-acd1-46560cd328d4", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,3,figsize=(4.5,1.5),sharey=False,sharex=False)\n", "sample = [('K562_ratio_rep1','K562_ratio_rep2'),('K562_ratio_rep1','K562_ratio_rep3'),('K562_ratio_rep2','K562_ratio_rep3')]\n", "for i in range(3):\n", " s=sample[i]\n", " sns.scatterplot(x=s[0],y=s[1],data = df_k562, color=['#4A4A4A'],s=5,ax=axs[i],marker='o')\n", " pr = sp.stats.pearsonr(df_k562[s[0]],df_k562[s[1]])[0] \n", " sr = sp.stats.spearmanr(df_k562[s[0]],df_k562[s[1]])[0]\n", " sns.despine(offset=3)\n", " start, end = -14,0\n", " axs[i].yaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].xaxis.set_ticks(np.arange(start, end, 3))\n", " axs[i].text(-14,-4,\"Pearson: \" + str(round(pr,3)) + \"\\nSpearman: \"+str(round(sr,3)),fontsize=6)\n", " axs[i].set_xlabel('')\n", " axs[i].set_ylabel('')#s[1])\n", " axs[i].plot([start, -2],[start, -2],'--',color='#FB8072',linewidth=0.8)\n", " axs[i].xaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", " axs[i].yaxis.set_tick_params(width=0.8, length=2,labelsize=6)\n", "#plt.savefig('../Figure2/figs/supp_synEn_K562.pdf')" ] }, { "cell_type": "markdown", "id": "648bb685-fdf7-4e18-9388-230b643a9528", "metadata": { "tags": [] }, "source": [ "### DESEQ2\n", "Run in R kernel" ] }, { "cell_type": "code", "execution_count": 1, "id": "6f348647-8091-4ed4-b860-1b264fd50e01", "metadata": { "tags": [] }, "outputs": [], "source": [ "suppressPackageStartupMessages({\n", " options(stringsAsFactors = FALSE)\n", " library(DESeq2);\n", " library(data.table);\n", " library(gdata);\n", " library(BSgenome);\n", " library(ggplot2);\n", " library(RColorBrewer);\n", " library(biomaRt);\n", " library(ggrepel);\n", " library(tidyverse)})" ] }, { "cell_type": "code", "execution_count": 23, "id": "7d7c4ea0-4960-4bb8-9d94-0c087e4d7f3f", "metadata": { "tags": [] }, "outputs": [], "source": [ "design <- as.matrix(read.csv('../Figure5/98_TF_motif_designs.csv',sep=',',header=TRUE,check.names = FALSE))\n", "design_new = data.frame(design[,c(1,2,5,6,7,8)])\n", "cts <- as.matrix(read.csv(\"../Figure5/mESC_hek_k562_comparison_deseq.csv\", sep = \",\", row.names='barcode', header = T))\n", "keep <- rowSums(cts) >= 1000\n", "cts <- cts[keep,]\n", "coldata <- read.csv(\"../Figure5/coldata_mESC_Hek293T_K562.csv\", sep = \",\", row.names='X0')\n", "rownames(coldata) <- gsub(\"-\", \".\", rownames(coldata))\n", "colnames(coldata) <- c('condition')" ] }, { "cell_type": "code", "execution_count": null, "id": "0777a5fc-cef8-4964-8016-f2f6fd0734ef", "metadata": { "tags": [] }, "outputs": [], "source": [ "dds <- DESeqDataSetFromMatrix(countData = cts,\n", " colData = coldata,\n", " design = ~ condition)\n", "dds <- DESeq(dds)" ] }, { "cell_type": "code", "execution_count": null, "id": "093d30c9-0f31-46bd-b79c-cffda872dbdf", "metadata": { "tags": [] }, "outputs": [], "source": [ "res_unshrunken <- results(dds, contrast=c(\"condition\",\"K562\",\"Hek293\"), alpha = 0.05, lfcThreshold = 1)\n", "res <- lfcShrink(dds, coef='condition_K562_vs_Hek293', res=res_unshrunken)\n", "\n", "res$rowname <- rownames(res)\n", "res_final <- res %>%\n", " data.frame() %>% \n", " as_tibble()%>% arrange(padj)%>% mutate(threshold = padj < 1e-3)\n", "res_final <- merge(res_final,design_new,by.x='rowname',by.y='barcode')%>% arrange(padj)\n", "#res_final[0:50,]" ] }, { "cell_type": "code", "execution_count": null, "id": "ee43dfd7-c6ca-44db-b64f-46935afef3ee", "metadata": { "tags": [] }, "outputs": [], "source": [ "pdf(file = \"../Figure2/figs/Fig2g_syn_rec_des_hek293_vs_k562.pdf\", # The directory you want to save the file in\n", " width = 2, # The width of the plot in inches\n", " height = 1.5) # The height of the plot in inches\n", "p1 <- ggplot(res_final, aes(x = log2FoldChange, y = -log10(padj))) +\n", " geom_point(aes(colour = threshold),size=1 ) + \n", " scale_color_manual(values=c(\"#5C5C5C\", \"#FB8072\"))+\n", " xlab(\"\") + \n", " ylab(\"\") + \n", " scale_x_continuous(limits = c(-4,4))+\n", " scale_y_continuous(limits = c(0., 65))+ \n", " theme_classic() + \n", " theme(legend.position=\"none\",\n", " axis.text = element_text(size = 6),\n", " axis.title = element_text(size = 7),\n", " axis.ticks.length=unit(2,\"pt\"),\n", " axis.ticks = element_line(size=72.27/96*0.5),\n", " axis.line = element_line(color=\"black\", size = 72.27/96*0.5))\n", "p1\n", "dev.off()" ] }, { "cell_type": "markdown", "id": "d0e18cab-8535-46ff-aedf-31dd32a82db1", "metadata": { "tags": [] }, "source": [ "## Overall editing efficiency" ] }, { "cell_type": "code", "execution_count": 43, "id": "56adda9a-24a3-4d2f-80b3-7517727ee666", "metadata": { "tags": [] }, "outputs": [], "source": [ "path = '../Figure2/synEN/'\n", "## Use the sequence in pegRNA not in gDNA so need to reverse complement\n", "samples =sorted([s.split('.fastq')[0] for s in os.listdir(path) if '.gz' in s])\n", "\n", "edits = []\n", "for s in samples:\n", " file = path+s\n", " #rcount = int(read_count[read_count['sample'].str.contains(s)]['counts'])\n", " with open(file +'_bc_count.tsv','r') as f:\n", " temp = f.readlines()\n", " count_table = np.array([a for a in [str2array(s) for s in temp]if len(a[0])==5 or a[0]==''],dtype=object)\n", " ratio = sum(count_table[1:,1])/sum(count_table[:,1])\n", " f.close()\n", " a,rep = s.split('_rep')\n", " \n", " b = a.split('-')\n", " edits.append([b[0],'rep'+rep,ratio*100])\n", "df = pd.DataFrame(edits,columns=['Designs','rep','Editing efficiency'])" ] }, { "cell_type": "code", "execution_count": 45, "id": "3cc4c1af-f5d9-4548-a0f5-d2d922bafd28", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(figsize=(1.5,1.5),sharey=False,sharex=False)\n", "g=sns.barplot(data=df, x=\"Designs\", y='Editing efficiency',palette=['#8099C6','#DEABC5'],errwidth=0.5, errorbar='sd', capsize=.1) #['#D0A9A3','#EDB8B4']\n", "sns.stripplot(data=df, x=\"Designs\", y='Editing efficiency',dodge=True,color=\"#4A4A4A\",marker='.',size=4,ax=axs)\n", "axs.set_xlabel('');\n", "axs.set_ylim(0,15);\n", "g.set_box_aspect(4.5/len(g.patches))\n", "start, end = axs.get_ylim()\n", "axs.set_ylabel('Editing efficiency (%)',fontsize=7)\n", "axs.xaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "sns.despine(offset=3)\n", "for tick in axs.get_xticklabels():\n", " tick.set_rotation(90)\n", "#plt.savefig('../Figure2/figs/supp_syn_edit_eff.pdf')" ] }, { "cell_type": "markdown", "id": "95b7956c-f174-46cd-ae92-a44435e4476b", "metadata": { "tags": [] }, "source": [ "## Plot gene exp diff in two cell lines" ] }, { "cell_type": "code", "execution_count": 46, "id": "4c0aa710-0097-4364-b3da-e37abc30bd7e", "metadata": { "tags": [] }, "outputs": [], "source": [ "k562 = pd.read_table( '../Figure2/synEN/K562_exp.txt',header=None,sep='\\t')\n", "hek = pd.read_table( '../Figure2/synEN/293_exp.txt',header=None,sep='\\t')\n", "df = k562.iloc[:,[1,5]].merge(hek.iloc[:,[1,5]],on=1,how='inner')\n", "df.columns=['gene','K562_nTPM','HEK_nTPM']" ] }, { "cell_type": "code", "execution_count": 47, "id": "20f593f8-1f07-4449-a158-f74e8e2a3c76", "metadata": { "tags": [] }, "outputs": [], "source": [ "df_sub = df[(df['gene'].str.contains('BHLHE40|NFIL3|KLF1|POU2F1|POU2AF1|FOSL1|JUNB|ATF4|CEBPB|CEBPG|ETV5|NRF1|SOX2|ZNF449|NEUROG2|TP53|GCM2'))].reset_index(drop=True)\n", "#stat = pd.concat((df[(df['gene'].str.contains('STAT5'))],df[(df['gene'].str.contains('STAT3'))])).sum()\n", "stat = df[(df['gene'].str.contains('STAT5'))].sum()\n", "stat['gene']='STAT5'\n", "nfkb = pd.concat((df[(df['gene'].str.contains('NFKB1'))],df[(df['gene'].str.contains('NFKB2'))])).sum()\n", "nfkb['gene']='NFKB'\n", "df_sub = pd.concat([df_sub,pd.DataFrame(stat).T,pd.DataFrame(nfkb).T],ignore_index=True)\n", "df_sub['K562_nTPM']=df_sub['K562_nTPM'].astype(float)\n", "df_sub['HEK_nTPM']=df_sub['HEK_nTPM'].astype(float)\n", "df_sub['K562_log2'] = np.log2(df_sub['K562_nTPM']+1)\n", "df_sub['HEK_log2'] = np.log2(df_sub['HEK_nTPM']+1)\n", "df_sub['diff']=df_sub['K562_log2']-df_sub['HEK_log2']\n", "df_melt = df_sub.iloc[:,[0,5]].melt(id_vars='gene')" ] }, { "cell_type": "code", "execution_count": 28, "id": "3d413212-9268-4547-b0ad-3871c337d338", "metadata": { "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1,figsize=(1.5,2),sharey=False,sharex=False)\n", "g=sns.barplot(data = df_melt,x='value',y='gene',hue='variable',order=['KLF1','BHLHE40','STAT5','FOSL1','ETV5','JUNB','NFIL3','CEBPB','POU2F1','ATF4','NFKB','NRF1','ZNF449','NEUROG2','TP53','SOX2'],ax=axs)\n", "axs.set_xlabel('');\n", "axs.set_ylabel('Transcription factors',fontsize=7)\n", "axs.set_xlabel('Expression ratio \\n (K562/HEK293,log2)',fontsize=7)\n", "axs.set_xlim(-4.5,4.5)\n", "axs.set_xticks(np.arange(-4, 4.1, 2))\n", "axs.xaxis.set_tick_params(width=0.5, length=2,labelsize=6)\n", "axs.yaxis.set_tick_params(width=0.5, length=2,labelsize=4)\n", "axs.legend([],[], frameon=False)\n", "\n", "sns.despine(offset=3)\n", "#plt.savefig('../Figure2/figs/supp5d_gene_exp_diff.pdf')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }