{"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":"Here is simple graphical EDA for CITESEQ target transcripts  ","metadata":{}},{"cell_type":"code","source":"# LIBRARIES IMPORT\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport os\nimport gc\n\nimport numpy as np\nimport pandas as pd\n\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\nfrom tqdm import tqdm\n\nif not os.path.exists('/opt/conda/lib/python3.7/site-packages/tables'):\n    !pip install --quiet tables\n    \n# READ METADATA\nmeta = pd.read_csv(\"../input/open-problems-multimodal/metadata.csv\", index_col = 'cell_id')\nmeta = meta[meta.technology == 'citeseq']\nmeta.drop('technology', axis = 1, inplace = True)","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-10-13T12:17:52.107509Z","iopub.execute_input":"2022-10-13T12:17:52.108112Z","iopub.status.idle":"2022-10-13T12:17:53.870485Z","shell.execute_reply.started":"2022-10-13T12:17:52.107991Z","shell.execute_reply":"2022-10-13T12:17:53.868101Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cd_dict={'CD86': ['ENSG00000114013_CD86'],\n             'CD274': ['ENSG00000120217_CD274'],\n             'CD270': ['ENSG00000157873_TNFRSF14'],\n             'CD155': ['ENSG00000073008_PVR'],\n             'CD112': ['ENSG00000130202_NECTIN2'],\n             'CD47': ['ENSG00000196776_CD47'],\n             'CD48': ['ENSG00000117091_CD48'],\n             'CD40': ['ENSG00000101017_CD40'],\n             'CD154': ['ENSG00000102245_CD40LG'],\n             'CD52': ['ENSG00000169442_CD52'],\n             'CD3': ['ENSG00000167286_CD3D'],\n             'CD8': [],\n             'CD56': ['ENSG00000149294_NCAM1'],\n             'CD19': ['ENSG00000177455_CD19'],\n             'CD33': ['ENSG00000105383_CD33'],\n             'CD11c': ['ENSG00000140678_ITGAX'],\n             'HLA-A-B-C': ['ENSG00000204525_HLA-C',\n              'ENSG00000206503_HLA-A',\n              'ENSG00000234745_HLA-B'],\n             'CD45RA': ['ENSG00000081237_PTPRC'],\n             'CD123': ['ENSG00000185291_IL3RA'],\n             'CD7': ['ENSG00000173762_CD7'],\n             'CD105': ['ENSG00000106991_ENG'],\n             'CD49f': ['ENSG00000091409_ITGA6'],\n             'CD194': ['ENSG00000183813_CCR4'],\n             'CD4': ['ENSG00000010610_CD4'],\n             'CD44': ['ENSG00000026508_CD44'],\n             'CD14': ['ENSG00000170458_CD14'],\n             'CD16': [],\n             'CD25': ['ENSG00000134460_IL2RA'],\n             'CD45RO': ['ENSG00000081237_PTPRC'],\n             'CD279': [],\n             'TIGIT': [],\n             'Mouse-IgG1': [],\n             'Mouse-IgG2a': [],\n             'Mouse-IgG2b': [],\n             'Rat-IgG2b': [],\n             'CD20': ['ENSG00000156738_MS4A1'],\n             'CD335': ['ENSG00000189430_NCR1'],\n             'CD31': ['ENSG00000261371_PECAM1'],\n             'Podoplanin': [],\n             'CD146': ['ENSG00000076706_MCAM'],\n             'IgM': ['ENSG00000211899_IGHM'],\n             'CD5': [],\n             'CD195': ['ENSG00000160791_CCR5'],\n             'CD32': ['ENSG00000143226_FCGR2A'],\n             'CD196': [],\n             'CD185': ['ENSG00000160683_CXCR5'],\n             'CD103': ['ENSG00000083457_ITGAE'],\n             'CD69': ['ENSG00000110848_CD69'],\n             'CD62L': ['ENSG00000188404_SELL'],\n             'CD161': ['ENSG00000111796_KLRB1'],\n             'CD152': [],\n             'CD223': ['ENSG00000089692_LAG3'],\n             'KLRG1': ['ENSG00000139187_KLRG1'],\n             'CD27': ['ENSG00000139193_CD27'],\n             'CD107a': ['ENSG00000185896_LAMP1'],\n             'CD95': ['ENSG00000026103_FAS'],\n             'CD134': ['ENSG00000186827_TNFRSF4'],\n             'HLA-DR': ['ENSG00000204287_HLA-DRA'],\n             'CD1c': ['ENSG00000158481_CD1C'],\n             'CD11b': ['ENSG00000169896_ITGAM'],\n             'CD64': ['ENSG00000150337_FCGR1A'],\n             'CD141': ['ENSG00000178726_THBD'],\n             'CD1d': ['ENSG00000158473_CD1D'],\n             'CD314': [],\n             'CD35': ['ENSG00000203710_CR1'],\n             'CD57': [],\n             'CD272': [],\n             'CD278': ['ENSG00000163600_ICOS'],\n             'CD58': ['ENSG00000116815_CD58'],\n             'CD39': ['ENSG00000138185_ENTPD1'],\n             'CX3CR1': ['ENSG00000168329_CX3CR1'],\n             'CD24': ['ENSG00000272398_CD24'],\n             'CD21': ['ENSG00000117322_CR2'],\n             'CD11a': ['ENSG00000005844_ITGAL'],\n             'CD79b': ['ENSG00000007312_CD79B'],\n             'CD244': ['ENSG00000122223_CD244'],\n             'CD169': [],\n             'integrinB7': ['ENSG00000139626_ITGB7'],\n             'CD268': ['ENSG00000159958_TNFRSF13C'],\n             'CD42b': ['ENSG00000185245_GP1BA'],\n             'CD54': ['ENSG00000090339_ICAM1'],\n             'CD62P': ['ENSG00000174175_SELP'],\n             'CD119': ['ENSG00000027697_IFNGR1'],\n             'TCR': [],\n             'Rat-IgG1': [],\n             'Rat-IgG2a': [],\n             'CD192': ['ENSG00000121807_CCR2'],\n             'CD122': ['ENSG00000100385_IL2RB'],\n             'FceRIa': ['ENSG00000179639_FCER1A'],\n             'CD41': ['ENSG00000005961_ITGA2B'],\n             'CD137': ['ENSG00000049249_TNFRSF9'],\n             'CD163': ['ENSG00000177575_CD163'],\n             'CD83': ['ENSG00000112149_CD83'],\n             'CD124': ['ENSG00000077238_IL4R'],\n             'CD13': ['ENSG00000166825_ANPEP'],\n             'CD2': ['ENSG00000116824_CD2'],\n             'CD226': ['ENSG00000150637_CD226'],\n             'CD29': ['ENSG00000150093_ITGB1'],\n             'CD303': ['ENSG00000198178_CLEC4C'],\n             'CD49b': ['ENSG00000164171_ITGA2'],\n             'CD81': ['ENSG00000110651_CD81'],\n             'IgD': ['ENSG00000211898_IGHD'],\n             'CD18': ['ENSG00000160255_ITGB2'],\n             'CD28': [],\n             'CD38': ['ENSG00000004468_CD38'],\n             'CD127': ['ENSG00000168685_IL7R'],\n             'CD45': ['ENSG00000081237_PTPRC'],\n             'CD22': ['ENSG00000012124_CD22'],\n             'CD71': ['ENSG00000072274_TFRC'],\n             'CD26': ['ENSG00000197635_DPP4'],\n             'CD115': ['ENSG00000182578_CSF1R'],\n             'CD63': ['ENSG00000135404_CD63'],\n             'CD304': ['ENSG00000099250_NRP1'],\n             'CD36': ['ENSG00000135218_CD36'],\n             'CD172a': ['ENSG00000198053_SIRPA'],\n             'CD72': ['ENSG00000137101_CD72'],\n             'CD158': [],\n             'CD93': ['ENSG00000125810_CD93'],\n             'CD49a': ['ENSG00000213949_ITGA1'],\n             'CD49d': ['ENSG00000115232_ITGA4'],\n             'CD73': [],\n             'CD9': ['ENSG00000010278_CD9'],\n             'TCRVa7.2': [],\n             'TCRVd2': [],\n             'LOX-1': ['ENSG00000173391_OLR1'],\n             'CD158b': [],\n             'CD158e1': [],\n             'CD142': ['ENSG00000117525_F3'],\n             'CD319': ['ENSG00000026751_SLAMF7'],\n             'CD352': ['ENSG00000162739_SLAMF6'],\n             'CD94': ['ENSG00000134539_KLRD1'],\n             'CD162': ['ENSG00000110876_SELPLG'],\n             'CD85j': ['ENSG00000104972_LILRB1'],\n             'CD23': ['ENSG00000104921_FCER2'],\n             'CD328': ['ENSG00000168995_SIGLEC7'],\n             'HLA-E': ['ENSG00000204592_HLA-E'],\n             'CD82': ['ENSG00000085117_CD82'],\n             'CD101': ['ENSG00000134256_CD101'],\n             'CD88': ['ENSG00000197405_C5AR1'],\n             'CD224': ['ENSG00000100031_GGT1']}\ncd_cols=list(set([x for s in cd_dict.values() for x in s]))\nlen(cd_cols)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-10-13T12:45:28.514916Z","iopub.execute_input":"2022-10-13T12:45:28.515392Z","iopub.status.idle":"2022-10-13T12:45:28.554485Z","shell.execute_reply.started":"2022-10-13T12:45:28.515356Z","shell.execute_reply":"2022-10-13T12:45:28.552939Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# READ TARGETS\nY = pd.read_hdf('../input/open-problems-multimodal/train_cite_inputs.h5')[cd_cols]\n\n'''\n# REMOVE 2% OF OULIERS\n\nfor i in range(len(cd_cols)):\n    col = cd_cols[i]\n    v = Y[col]\n    threshold = 1.0\n    m1 = np.percentile(v, threshold)\n    m2 = np.percentile(v, 100 - threshold)\n    v = np.clip(v, m1, m2)\n    Y[col] = v\n'''    \n# SHRINK META TO TRAIN SIZE\nmeta = meta[meta.index.isin(Y.index)]\n\n# MERGE TARGETS WITH METADATA\ndf = Y.join(meta)\n\n# CELL TYPE LIST = CTL\nctl = list(meta.cell_type.value_counts().index)","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-10-13T12:55:10.784109Z","iopub.execute_input":"2022-10-13T12:55:10.785694Z","iopub.status.idle":"2022-10-13T12:56:09.204461Z","shell.execute_reply.started":"2022-10-13T12:55:10.785641Z","shell.execute_reply":"2022-10-13T12:56:09.202843Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import warnings\nwarnings.simplefilter(\"ignore\", UserWarning)\nwarnings.simplefilter(\"ignore\", RuntimeWarning)","metadata":{"execution":{"iopub.status.busy":"2022-10-13T12:56:09.207501Z","iopub.execute_input":"2022-10-13T12:56:09.208010Z","iopub.status.idle":"2022-10-13T12:56:09.214687Z","shell.execute_reply.started":"2022-10-13T12:56:09.207971Z","shell.execute_reply":"2022-10-13T12:56:09.213597Z"},"_kg_hide-input":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# BUILDING PLOTS\nfor i in range((len(cd_cols))):\n    fig, axs = plt.subplots(ncols =  7, figsize=(30, 4))\n    fig.suptitle(Y.columns[i], fontsize = 20)\n    fig.tight_layout(pad=1.5)\n    for j in range(7):\n        ct = ctl[j]\n        temp_df = df[df.cell_type == ct]\n        m2 = temp_df[temp_df.day == 2][cd_cols[i]].median()\n        m3 = temp_df[temp_df.day == 3][cd_cols[i]].median()\n        m4 = temp_df[temp_df.day == 4][cd_cols[i]].median()\n        try:\n            g = sns.kdeplot(\n            data=temp_df, x=temp_df[cd_cols[i]], hue=\"day\",\n            palette=\"Set1\", alpha = 1, ax = axs[j])\n        except:\n            print(cd_cols[i])\n        \n        g.set_xlabel(ct, fontsize = 14)\n        g.set_ylabel('', fontsize = 14)\n        \n        g.axvline(x=m2, color='tab:red', ls='solid')\n        g.axvline(x=m3, color='tab:blue', ls='dashed')\n        g.axvline(x=m4, color='tab:green', ls='dotted')","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-10-13T12:56:09.216647Z","iopub.execute_input":"2022-10-13T12:56:09.217128Z"},"trusted":true},"execution_count":null,"outputs":[]}]}