{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# In order to create a robust model, I created a model in which one result is obtained from three tasks.","metadata":{}},{"cell_type":"code","source":"SEED = 42\n\nimport pandas as pd\nimport tensorflow as tf\nimport random\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport pymc3 as pm\nimport arviz as az\nfrom sklearn.decomposition import PCA\nfrom sklearn.linear_model import Ridge\nfrom sklearn.multioutput import MultiOutputRegressor\nfrom sklearn.model_selection import train_test_split","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:21.694230Z","iopub.execute_input":"2023-10-11T10:59:21.695141Z","iopub.status.idle":"2023-10-11T10:59:36.183979Z","shell.execute_reply.started":"2023-10-11T10:59:21.695101Z","shell.execute_reply":"2023-10-11T10:59:36.183035Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"id_map = pd.read_csv(\"/kaggle/input/open-problems-single-cell-perturbations/id_map.csv\")\nBcell_list = id_map[id_map['cell_type']=='B cells']['sm_name']\nMcell_list = id_map[id_map['cell_type']=='Myeloid cells']['sm_name']","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:03:18.291392Z","iopub.execute_input":"2023-10-11T11:03:18.291784Z","iopub.status.idle":"2023-10-11T11:03:18.311034Z","shell.execute_reply.started":"2023-10-11T11:03:18.291754Z","shell.execute_reply":"2023-10-11T11:03:18.309867Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"de_train = pd.read_parquet('/kaggle/input/open-problems-single-cell-perturbations/de_train.parquet')\nde_train['control'].value_counts()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:36.185264Z","iopub.execute_input":"2023-10-11T10:59:36.186324Z","iopub.status.idle":"2023-10-11T10:59:38.799757Z","shell.execute_reply.started":"2023-10-11T10:59:36.186295Z","shell.execute_reply":"2023-10-11T10:59:38.798712Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**12 control(True) = 6 cells (B, M, NK, CD4, CD8, T-reg) × 2 compounds (Dabrafenib and Belinostat)**","metadata":{}},{"cell_type":"code","source":"positive_control = de_train.loc[de_train['control']==True]\ncase = de_train.loc[de_train['control']==False]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:38.801459Z","iopub.execute_input":"2023-10-11T10:59:38.801882Z","iopub.status.idle":"2023-10-11T10:59:38.858407Z","shell.execute_reply.started":"2023-10-11T10:59:38.801846Z","shell.execute_reply":"2023-10-11T10:59:38.857043Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pc_B = positive_control[positive_control['cell_type']=='B cells'].iloc[:,5:]\npc_M = positive_control[positive_control['cell_type']=='Myeloid cells'].iloc[:,5:]\npc_NK = positive_control[positive_control['cell_type']=='NK cells'].iloc[:,5:]\npc_CD4 = positive_control[positive_control['cell_type']=='T cells CD4+'].iloc[:,5:]\npc_CD8 = positive_control[positive_control['cell_type']=='T cells CD8+'].iloc[:,5:]\npc_reg = positive_control[positive_control['cell_type']=='T regulatory cells'].iloc[:,5:]\n\ncase_B = case[case['cell_type']=='B cells'].iloc[:,5:]\ncase_M = case[case['cell_type']=='Myeloid cells'].iloc[:,5:]\ncase_NK = case[case['cell_type']=='NK cells'].iloc[:,5:]\ncase_CD4 = case[case['cell_type']=='T cells CD4+'].iloc[:,5:]\ncase_CD8 = case[case['cell_type']=='T cells CD8+'].iloc[:,5:]\ncase_reg = case[case['cell_type']=='T regulatory cells'].iloc[:,5:]\n\ncase_B_com = case[case['cell_type']=='B cells'].iloc[:,:2]\ncase_M_com = case[case['cell_type']=='Myeloid cells'].iloc[:,:2]\ncase_NK_com = case[case['cell_type']=='NK cells'].iloc[:,:2]\ncase_CD4_com = case[case['cell_type']=='T cells CD4+'].iloc[:,:2]\ncase_CD8_com = case[case['cell_type']=='T cells CD8+'].iloc[:,:2]\ncase_reg_com = case[case['cell_type']=='T regulatory cells'].iloc[:,:2]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:38.860967Z","iopub.execute_input":"2023-10-11T10:59:38.861268Z","iopub.status.idle":"2023-10-11T10:59:39.031851Z","shell.execute_reply.started":"2023-10-11T10:59:38.861242Z","shell.execute_reply":"2023-10-11T10:59:39.030930Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Prepare data for 4 cells other than B cell and M cell.**","metadata":{}},{"cell_type":"code","source":"pc_4 = pd.concat([pc_NK,pc_CD4,pc_CD8,pc_reg])\ncase_4 = pd.concat([case_NK,case_CD4,case_CD8,case_reg])\ncase_4_com = pd.concat([case_NK_com,case_CD4_com,case_CD8_com,case_reg_com])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.034472Z","iopub.execute_input":"2023-10-11T10:59:39.034942Z","iopub.status.idle":"2023-10-11T10:59:39.106358Z","shell.execute_reply.started":"2023-10-11T10:59:39.034901Z","shell.execute_reply":"2023-10-11T10:59:39.105617Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Now, let's look at the mean and variance of each**","metadata":{}},{"cell_type":"code","source":"pc_B.mean().mean(), pc_B.std().mean() ,case_B.mean().mean(), case_B.std().mean()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.107856Z","iopub.execute_input":"2023-10-11T10:59:39.108494Z","iopub.status.idle":"2023-10-11T10:59:39.141247Z","shell.execute_reply.started":"2023-10-11T10:59:39.108442Z","shell.execute_reply":"2023-10-11T10:59:39.140206Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**B cell positive control is very highly overdispersed data**","metadata":{}},{"cell_type":"code","source":"pc_M.mean().mean(), pc_M.std().mean() ,case_M.mean().mean(), case_M.std().mean()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.143012Z","iopub.execute_input":"2023-10-11T10:59:39.143411Z","iopub.status.idle":"2023-10-11T10:59:39.172124Z","shell.execute_reply.started":"2023-10-11T10:59:39.143375Z","shell.execute_reply":"2023-10-11T10:59:39.170973Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**The same applies to M cell. Positive control values are strong overdispersion data.**\n\n**Next, in each cell, investigate the value of the gene that is positive**","metadata":{}},{"cell_type":"code","source":"pc_B_base = pc_B.min(axis=0) # \"min\" may be better than \"mean\"???\npc_M_base = pc_M.min(axis=0)\npc_NK_base = pc_NK.min(axis=0)\npc_CD4_base = pc_CD4.min(axis=0)\npc_CD8_base = pc_CD8.min(axis=0)\npc_reg_base = pc_reg.min(axis=0)\npc_4_base = pc_4.min(axis=0)\npc_B_base","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.173476Z","iopub.execute_input":"2023-10-11T10:59:39.174442Z","iopub.status.idle":"2023-10-11T10:59:39.219408Z","shell.execute_reply.started":"2023-10-11T10:59:39.174403Z","shell.execute_reply":"2023-10-11T10:59:39.218602Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**In other words, in B cells, are values above the above considered positive and below considered negative?**\n\n**I'll try to find out how much is positive and how much is negative for each compound.**","metadata":{}},{"cell_type":"code","source":"case_B_positive = case_B[case_B > pc_B_base]\ncase_B_negative = case_B[case_B < pc_B_base]\ncase_B_positive.mean().mean(), case_B_positive.std().mean() ,case_B_negative.mean().mean(), case_B_negative.std().mean()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.221886Z","iopub.execute_input":"2023-10-11T10:59:39.222652Z","iopub.status.idle":"2023-10-11T10:59:39.405005Z","shell.execute_reply.started":"2023-10-11T10:59:39.222621Z","shell.execute_reply":"2023-10-11T10:59:39.403967Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(16, 4))\nplt.subplot(1,2,1)\nplt.title('positive value samples')\nsns.histplot(case_B_positive.values.flatten())\n\nplt.subplot(1,2,2)\nplt.title('negative value samples')\nsns.histplot(case_B_negative.values.flatten())\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:39.408787Z","iopub.execute_input":"2023-10-11T10:59:39.409161Z","iopub.status.idle":"2023-10-11T10:59:44.748970Z","shell.execute_reply.started":"2023-10-11T10:59:39.409135Z","shell.execute_reply":"2023-10-11T10:59:44.747694Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_M_positive = case_M[case_M > pc_M_base]\ncase_M_negative = case_M[case_M < pc_M_base]\ncase_M_positive.mean().mean(), case_M_positive.std().mean() ,case_M_negative.mean().mean(), case_M_negative.std().mean()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:44.750431Z","iopub.execute_input":"2023-10-11T10:59:44.750866Z","iopub.status.idle":"2023-10-11T10:59:44.837839Z","shell.execute_reply.started":"2023-10-11T10:59:44.750827Z","shell.execute_reply":"2023-10-11T10:59:44.836772Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(16, 4))\nplt.subplot(1,2,1)\nplt.title('positive value samples')\nsns.histplot(case_M_positive.values.flatten())\n\nplt.subplot(1,2,2)\nplt.title('negative value samples')\nsns.histplot(case_M_negative.values.flatten())\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:44.839129Z","iopub.execute_input":"2023-10-11T10:59:44.840115Z","iopub.status.idle":"2023-10-11T10:59:49.693628Z","shell.execute_reply.started":"2023-10-11T10:59:44.840067Z","shell.execute_reply":"2023-10-11T10:59:49.692417Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_4_positive = case_4[case_4 > pc_4_base]\ncase_4_negative = case_4[case_4 < pc_4_base]\ncase_4_positive.mean().mean(), case_4_positive.std().mean() ,case_4_negative.mean().mean(), case_4_negative.std().mean()","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:49.694834Z","iopub.execute_input":"2023-10-11T10:59:49.695115Z","iopub.status.idle":"2023-10-11T10:59:50.403097Z","shell.execute_reply.started":"2023-10-11T10:59:49.695091Z","shell.execute_reply":"2023-10-11T10:59:50.401898Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# for B cells","metadata":{}},{"cell_type":"code","source":"df_B = case_B_positive.fillna(-1)\ndf_B[df_B != -1] =1\ndf_B.index = case_B_com['sm_name']","metadata":{"execution":{"iopub.status.busy":"2023-10-11T10:59:50.404381Z","iopub.execute_input":"2023-10-11T10:59:50.404828Z","iopub.status.idle":"2023-10-11T10:59:50.457433Z","shell.execute_reply.started":"2023-10-11T10:59:50.404794Z","shell.execute_reply":"2023-10-11T10:59:50.456089Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"gB = sns.clustermap(df_B, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngB.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngB.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:11:50.047224Z","iopub.execute_input":"2023-10-11T11:11:50.047621Z","iopub.status.idle":"2023-10-11T11:11:52.392785Z","shell.execute_reply.started":"2023-10-11T11:11:50.047589Z","shell.execute_reply":"2023-10-11T11:11:52.391792Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# For M cells","metadata":{}},{"cell_type":"code","source":"df_M = case_M_positive.fillna(-1)\ndf_M[df_M != -1] =1\ndf_M.index = case_M_com['sm_name']\n\ngM = sns.clustermap(df_M, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngM.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngM.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:12:00.554669Z","iopub.execute_input":"2023-10-11T11:12:00.555010Z","iopub.status.idle":"2023-10-11T11:12:02.949834Z","shell.execute_reply.started":"2023-10-11T11:12:00.554986Z","shell.execute_reply":"2023-10-11T11:12:02.948889Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# For NK cells","metadata":{}},{"cell_type":"code","source":"case_NK_Bcell_list = case[(case['cell_type']=='NK cells')&(case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_NK_non_Bcell_list = case[(case['cell_type']=='NK cells')&(~case['sm_name'].isin(Bcell_list))].iloc[:,5:]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:06:32.287521Z","iopub.execute_input":"2023-10-11T11:06:32.287939Z","iopub.status.idle":"2023-10-11T11:06:32.332169Z","shell.execute_reply.started":"2023-10-11T11:06:32.287903Z","shell.execute_reply":"2023-10-11T11:06:32.331050Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_NK_Bcell_list_com = case_NK_com['sm_name'][case_NK_Bcell_list.index]\ncase_NK_non_Bcell_list_com = case_NK_com['sm_name'][case_NK_non_Bcell_list.index]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:10:33.785413Z","iopub.execute_input":"2023-10-11T11:10:33.785785Z","iopub.status.idle":"2023-10-11T11:10:33.791938Z","shell.execute_reply.started":"2023-10-11T11:10:33.785759Z","shell.execute_reply":"2023-10-11T11:10:33.790775Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_NK_Bcell_list_positive = case_NK_Bcell_list[case_NK_Bcell_list > pc_NK_base]\ncase_NK_Bcell_list_negative = case_NK_Bcell_list[case_NK_Bcell_list < pc_NK_base]\ncase_NK_non_Bcell_list_positive = case_NK_non_Bcell_list[case_NK_non_Bcell_list > pc_NK_base]\ncase_NK_non_Bcell_list_negative = case_NK_non_Bcell_list[case_NK_non_Bcell_list < pc_NK_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:06:32.334609Z","iopub.execute_input":"2023-10-11T11:06:32.335705Z","iopub.status.idle":"2023-10-11T11:06:32.451456Z","shell.execute_reply.started":"2023-10-11T11:06:32.335665Z","shell.execute_reply":"2023-10-11T11:06:32.450717Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_NK_Bcell_list = case[(case['cell_type']=='NK cells')&(case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_NK_non_Bcell_list = case[(case['cell_type']=='NK cells')&(~case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_NK_Bcell_list_com = case_NK_com['sm_name'][case_NK_Bcell_list.index]\ncase_NK_non_Bcell_list_com = case_NK_com['sm_name'][case_NK_non_Bcell_list.index]\ncase_NK_Bcell_list_positive = case_NK_Bcell_list[case_NK_Bcell_list > pc_NK_base]\ncase_NK_Bcell_list_negative = case_NK_Bcell_list[case_NK_Bcell_list < pc_NK_base]\ncase_NK_non_Bcell_list_positive = case_NK_non_Bcell_list[case_NK_non_Bcell_list > pc_NK_base]\ncase_NK_non_Bcell_list_negative = case_NK_non_Bcell_list[case_NK_non_Bcell_list < pc_NK_base]","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_NK = case_NK_non_Bcell_list_positive.fillna(-1)\ndf_NK[df_NK != -1] =1\ndf_NK.index = case_NK_non_Bcell_list_com\n\ngNK = sns.clustermap(df_NK, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngNK.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngNK.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:12:12.833124Z","iopub.execute_input":"2023-10-11T11:12:12.834247Z","iopub.status.idle":"2023-10-11T11:12:15.264349Z","shell.execute_reply.started":"2023-10-11T11:12:12.834210Z","shell.execute_reply":"2023-10-11T11:12:15.263087Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# For CD4 cells","metadata":{}},{"cell_type":"code","source":"case_CD4_positive = case_CD4[case_CD4 > pc_CD4_base]\ncase_CD4_negative = case_CD4[case_CD4 < pc_CD4_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-10T12:13:32.838376Z","iopub.execute_input":"2023-10-10T12:13:32.838926Z","iopub.status.idle":"2023-10-10T12:13:32.924006Z","shell.execute_reply.started":"2023-10-10T12:13:32.838881Z","shell.execute_reply":"2023-10-10T12:13:32.922617Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_CD4_Bcell_list = case[(case['cell_type']=='T cells CD4+')&(case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_CD4_non_Bcell_list = case[(case['cell_type']=='T cells CD4+')&(~case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_CD4_Bcell_list_com = case_CD4_com['sm_name'][case_CD4_Bcell_list.index]\ncase_CD4_non_Bcell_list_com = case_CD4_com['sm_name'][case_CD4_non_Bcell_list.index]\ncase_CD4_Bcell_list_positive = case_CD4_Bcell_list[case_CD4_Bcell_list > pc_CD4_base]\ncase_CD4_Bcell_list_negative = case_CD4_Bcell_list[case_CD4_Bcell_list < pc_CD4_base]\ncase_CD4_non_Bcell_list_positive = case_CD4_non_Bcell_list[case_CD4_non_Bcell_list > pc_CD4_base]\ncase_CD4_non_Bcell_list_negative = case_CD4_non_Bcell_list[case_CD4_non_Bcell_list < pc_CD4_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:15:47.113521Z","iopub.execute_input":"2023-10-11T11:15:47.113879Z","iopub.status.idle":"2023-10-11T11:15:47.253163Z","shell.execute_reply.started":"2023-10-11T11:15:47.113852Z","shell.execute_reply":"2023-10-11T11:15:47.252029Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_CD4 = case_CD4_non_Bcell_list_positive.fillna(-1)\ndf_CD4[df_CD4 != -1] =1\ndf_CD4.index = case_CD4_non_Bcell_list_com\n\ngCD4 = sns.clustermap(df_CD4, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngCD4.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngCD4.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:16:40.374449Z","iopub.execute_input":"2023-10-11T11:16:40.374825Z","iopub.status.idle":"2023-10-11T11:16:42.813088Z","shell.execute_reply.started":"2023-10-11T11:16:40.374798Z","shell.execute_reply":"2023-10-11T11:16:42.812074Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# For CD8 cells","metadata":{}},{"cell_type":"code","source":"case_CD8_positive = case_CD8[case_CD8 > pc_CD8_base]\ncase_CD8_negative = case_CD8[case_CD8 < pc_CD8_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-10T12:14:39.185932Z","iopub.execute_input":"2023-10-10T12:14:39.187711Z","iopub.status.idle":"2023-10-10T12:15:28.475201Z","shell.execute_reply.started":"2023-10-10T12:14:39.18766Z","shell.execute_reply":"2023-10-10T12:15:28.474032Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"case_CD8_Bcell_list = case[(case['cell_type']=='T cells CD8+')&(case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_CD8_non_Bcell_list = case[(case['cell_type']=='T cells CD8+')&(~case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_CD8_Bcell_list_com = case_CD8_com['sm_name'][case_CD8_Bcell_list.index]\ncase_CD8_non_Bcell_list_com = case_CD8_com['sm_name'][case_CD8_non_Bcell_list.index]\ncase_CD8_Bcell_list_positive = case_CD8_Bcell_list[case_CD8_Bcell_list > pc_CD8_base]\ncase_CD8_Bcell_list_negative = case_CD8_Bcell_list[case_CD8_Bcell_list < pc_CD8_base]\ncase_CD8_non_Bcell_list_positive = case_CD8_non_Bcell_list[case_CD8_non_Bcell_list > pc_CD8_base]\ncase_CD8_non_Bcell_list_negative = case_CD8_non_Bcell_list[case_CD8_non_Bcell_list < pc_CD8_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:18:06.122428Z","iopub.execute_input":"2023-10-11T11:18:06.122830Z","iopub.status.idle":"2023-10-11T11:18:06.263442Z","shell.execute_reply.started":"2023-10-11T11:18:06.122800Z","shell.execute_reply":"2023-10-11T11:18:06.261973Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_CD8 = case_CD8_non_Bcell_list_positive.fillna(-1)\ndf_CD8[df_CD8 != -1] =1\ndf_CD8.index = case_CD8_non_Bcell_list_com\n\ngCD8 = sns.clustermap(df_CD8, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngCD8.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngCD8.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:18:45.181669Z","iopub.execute_input":"2023-10-11T11:18:45.182003Z","iopub.status.idle":"2023-10-11T11:18:47.392486Z","shell.execute_reply.started":"2023-10-11T11:18:45.181978Z","shell.execute_reply":"2023-10-11T11:18:47.391456Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# For T-reg cells","metadata":{}},{"cell_type":"code","source":"case_reg_positive = case_reg[case_reg > pc_reg_base]\ncase_reg_negative = case_reg[case_reg < pc_reg_base]\n\ncase_reg_Bcell_list = case[(case['cell_type']=='T regulatory cells')&(case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_reg_non_Bcell_list = case[(case['cell_type']=='T regulatory cells')&(~case['sm_name'].isin(Bcell_list))].iloc[:,5:]\ncase_reg_Bcell_list_com = case_reg_com['sm_name'][case_reg_Bcell_list.index]\ncase_reg_non_Bcell_list_com = case_reg_com['sm_name'][case_reg_non_Bcell_list.index]\ncase_reg_Bcell_list_positive = case_reg_Bcell_list[case_reg_Bcell_list > pc_reg_base]\ncase_reg_Bcell_list_negative = case_reg_Bcell_list[case_reg_Bcell_list < pc_reg_base]\ncase_reg_non_Bcell_list_positive = case_reg_non_Bcell_list[case_reg_non_Bcell_list > pc_reg_base]\ncase_reg_non_Bcell_list_negative = case_reg_non_Bcell_list[case_reg_non_Bcell_list < pc_reg_base]","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:21:02.024949Z","iopub.execute_input":"2023-10-11T11:21:02.025311Z","iopub.status.idle":"2023-10-11T11:21:02.238386Z","shell.execute_reply.started":"2023-10-11T11:21:02.025285Z","shell.execute_reply":"2023-10-11T11:21:02.237508Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_reg = case_reg_non_Bcell_list_positive.fillna(-1)\ndf_reg[df_reg != -1] =1\ndf_reg.index = case_reg_non_Bcell_list_com\n\ngreg = sns.clustermap(df_reg, cmap=plt.cm.get_cmap('bwr', 2),row_cluster=False,col_cluster=False,\n                   method='ward',metric='euclidean',yticklabels=True)\ngreg.ax_heatmap.collections[0].colorbar.set_ticks([-0.5,0.5])\ngreg.ax_heatmap.collections[0].colorbar.set_ticklabels([\"negative\",\"positive\"])","metadata":{"execution":{"iopub.status.busy":"2023-10-11T11:21:29.222677Z","iopub.execute_input":"2023-10-11T11:21:29.223007Z","iopub.status.idle":"2023-10-11T11:21:31.817732Z","shell.execute_reply.started":"2023-10-11T11:21:29.222983Z","shell.execute_reply":"2023-10-11T11:21:31.816587Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Conclusion\n\n","metadata":{}},{"cell_type":"markdown","source":"**CD8 has a different expression pattern than other cells.**\n\n**For example, look at CEP18770 andMLN2238. you will see.**\n\n**I excluded CD8 data in Task 2 and Task 3.**\n\n**Scores improved！**","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}