{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Sex-biased tissues per perturbagen analysis- Cancer drugs\n", "--------------------------------------------------------------------------------\n", "\n", "Author: Belén Otero Carrasco\n", "\n", "Last updated 19 March 2024\n", "\n", "\n", "--------------------------------------------------------------------------------" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'4.0.1'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pkg_resources\n", "# Print version of cmapPy being used in current conda environment \n", "pkg_resources.get_distribution(\"cmapPy\").version" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Usuario\\anaconda3\\lib\\site-packages\\pandas\\core\\computation\\expressions.py:20: UserWarning: Pandas requires version '2.7.3' or newer of 'numexpr' (version '2.7.1' currently installed).\n", " from pandas.core.computation.check import NUMEXPR_INSTALLED\n" ] } ], "source": [ "import pandas as pd\n", "import seaborn as sns\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from pandas import DataFrame\n", "from cmapPy.pandasGEXpress.parse import parse\n", "from scipy.stats import hypergeom\n", "from scipy.stats import fisher_exact\n", "from tqdm import tqdm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Functions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def signatures_ids_perturbagen(drug):\n", " sig_pertu_ids = final_sig_original_filter[\"sig_id\"][final_sig_original_filter[\"pert_iname\"] == drug]\n", " print(\"number of samples treated with this perturbagen:\")\n", " return sig_pertu_ids" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def perturbagen_significant_genes(sig_pertu_ids,drug):\n", " perturbagen_genes_exp = parse(\"./Touchstone/GSE92742_Broad_LINCS_Level5_COMPZ.MODZ_n473647x12328.gctx\", cid=sig_pertu_ids)\n", " df_perturbagen_genes_exp = perturbagen_genes_exp.data_df\n", " df_filter_significant = df_perturbagen_genes_exp[(df_perturbagen_genes_exp >2.0) | (df_perturbagen_genes_exp <-2.0)]\n", " df_bool_sign = df_filter_significant.notna()\n", " df_bool_sign[\"count\"] = df_bool_sign.sum(axis=1)\n", " df_bool_sign = df_bool_sign.reset_index()\n", " df_gene_change = df_bool_sign[df_bool_sign[\"count\"]> 0]\n", " df_gene_change_id = df_gene_change[[\"rid\",\"count\"]]\n", " df_gene_change_id[\"perturbagen_name\"] = drug\n", " df_gene_change_id[\"Signature_id\"] = sig_pertu_ids\n", " return df_gene_change_id " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def filter_by_tissue(tissue_type):\n", " data_gtex = pd.read_csv(\"signif.sbgenes.txt\", sep=\"\\t\")\n", " filtered_df_tissue = data_gtex[data_gtex[\"tissue\"] == tissue_type]\n", " return filtered_df_tissue" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def filter_by_ids_and_tissue(tissue_type):\n", " data_total_genes_share = pd.read_csv(\"genes_hugo+ensembl.csv\", sep=\",\")\n", " data_gtex_filter = data_gtex.merge(data_total_genes_share , on=\"gene\")\n", " filtered_df_tissue_ids = data_gtex_filter[data_gtex_filter[\"tissue\"] == tissue_type]\n", " return filtered_df_tissue_ids" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "def preprocesing_plot(dataframe,sig_cell_info):\n", " \n", " \n", " info_cell = sig_cell_info[[\"sig_id\",\"Signature_id\",\"cell_id\",\"primary_site\"]]\n", " info_cell = info_cell.drop_duplicates()\n", " clue_tiss_sig_gtex_ = dataframe.merge(info_tissue_cell, left_on=[\"Signature\"],right_on=[\"sig_id\"])\n", " clue_tiss_sig_gtex_['Significant'] = clue_tiss_sig_gtex_.apply(lambda row: 'No' if row['P-value'] > 0.05 else 'Yes', axis=1)\n", " \n", " return clue_tiss_sig_gtex_" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "def pivot_table_plot(df_general_plus_siggenes):\n", " \n", " clue_tiss_sig_gtex_pivot = df_general_plus_siggenes[[\"Signature_id\",\"Tissue_type\", \"Heatmap_values\"]]\n", " clue_tiss_sig_gtex_pivot = clue_tiss_sig_gtex_pivot.drop_duplicates()\n", " group_dis = clue_tiss_sig_gtex_pivot.pivot(index='Signature_id', columns='Tissue_type', values='Heatmap_values')\n", " \n", " return group_dis" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "def plot_heatmap(group_dis,drug):\n", " \n", " fig, ax = plt.subplots(figsize=(25, 25))\n", " ax = sns.heatmap(group_dis,linewidth=.5,cmap=[\"#FDEBD0\",\"#82E0AA\",\"#e65caa\",\"#2EC7CE\",\"#117A65\",\"#910956\",\"#175296\"],vmin=1, vmax=7)\n", " colorbar = ax.collections[0].colorbar\n", " #colorbar.set_ticks([0, 1, 2])\n", " plt.title(f'Sex-biased tissues on {drug} application', fontsize = 20) # title with fontsize 20\n", " plt.xlabel('Tissues', fontsize = 12) # x-axis label with fontsize 15\n", " plt.ylabel('Signatures', fontsize = 12) # y-axis label with fontsize 15\n", " plt.tight_layout()\n", " plt.savefig(f\"./images_sex-biased/heatmap_sig_tissue_{drug}.svg\")\n", " # plt.show()\n", " return None " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def plot_scatter(group_dis,drug):\n", " \n", " fig, ax = plt.subplots(figsize=(25, 25))\n", " ax = sns.heatmap(group_dis,linewidth=.5,cmap=[\"#FDEBD0\",\"#82E0AA\",\"#e65caa\",\"#2EC7CE\",\"#117A65\",\"#910956\",\"#175296\"],vmin=1, vmax=7)\n", " colorbar = ax.collections[0].colorbar\n", " #colorbar.set_ticks([0, 1, 2])\n", " plt.title(f'Sex-biased tissues on {drug} application', fontsize = 20) # title with fontsize 20\n", " plt.xlabel('Tissues', fontsize = 12) # x-axis label with fontsize 15\n", " plt.ylabel('Signatures', fontsize = 12) # y-axis label with fontsize 15\n", " plt.tight_layout()\n", " plt.savefig(f\"./images_sex-biased/heatmap_sig_tissue_{drug}.svg\")\n", " # plt.show()\n", " return None " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Signature information" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "## signatures unique per cell line by TAS and exemplar = 1 " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "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", " \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", "
cell_idbase_cell_idsample_typeprimary_sitetissueabrevsubtypesig_idpert_inametasis_exemplarSignature_id
0A375A375tumorskinSkin_Not_Sun_Exposed_SuprapubicSKINNSmalignant melanomaCPC018_A375_6H:BRD-K06817181-001-01-5:101,2,3,4,5,6-hexabromocyclohexane0.28235411,2,3,4,5,6-hexabromocyclohexane_A375_skin
1A375A375tumorskinSkin_Not_Sun_Exposed_SuprapubicSKINNSmalignant melanomaCPC017_A375_6H:BRD-K74430258-001-01-2:101,2-dichlorobenzene0.05764611,2-dichlorobenzene_A375_skin
2A375A375tumorskinSkin_Not_Sun_Exposed_SuprapubicSKINNSmalignant melanomaCPC010_A375_6H:BRD-K32795028-001-10-9:101-benzylimidazole0.22188511-benzylimidazole_A375_skin
3A375A375tumorskinSkin_Not_Sun_Exposed_SuprapubicSKINNSmalignant melanomaCPC018_A375_6H:BRD-A80928489-001-01-0:101-monopalmitin0.11844311-monopalmitin_A375_skin
4A375A375tumorskinSkin_Not_Sun_Exposed_SuprapubicSKINNSmalignant melanomaCPC018_A375_6H:BRD-K31491153-001-01-2:101-phenylbiguanide0.31394011-phenylbiguanide_A375_skin
\n", "
" ], "text/plain": [ " cell_id base_cell_id sample_type primary_site \\\n", "0 A375 A375 tumor skin \n", "1 A375 A375 tumor skin \n", "2 A375 A375 tumor skin \n", "3 A375 A375 tumor skin \n", "4 A375 A375 tumor skin \n", "\n", " tissue abrev subtype \\\n", "0 Skin_Not_Sun_Exposed_Suprapubic SKINNS malignant melanoma \n", "1 Skin_Not_Sun_Exposed_Suprapubic SKINNS malignant melanoma \n", "2 Skin_Not_Sun_Exposed_Suprapubic SKINNS malignant melanoma \n", "3 Skin_Not_Sun_Exposed_Suprapubic SKINNS malignant melanoma \n", "4 Skin_Not_Sun_Exposed_Suprapubic SKINNS malignant melanoma \n", "\n", " sig_id pert_iname \\\n", "0 CPC018_A375_6H:BRD-K06817181-001-01-5:10 1,2,3,4,5,6-hexabromocyclohexane \n", "1 CPC017_A375_6H:BRD-K74430258-001-01-2:10 1,2-dichlorobenzene \n", "2 CPC010_A375_6H:BRD-K32795028-001-10-9:10 1-benzylimidazole \n", "3 CPC018_A375_6H:BRD-A80928489-001-01-0:10 1-monopalmitin \n", "4 CPC018_A375_6H:BRD-K31491153-001-01-2:10 1-phenylbiguanide \n", "\n", " tas is_exemplar Signature_id \n", "0 0.282354 1 1,2,3,4,5,6-hexabromocyclohexane_A375_skin \n", "1 0.057646 1 1,2-dichlorobenzene_A375_skin \n", "2 0.221885 1 1-benzylimidazole_A375_skin \n", "3 0.118443 1 1-monopalmitin_A375_skin \n", "4 0.313940 1 1-phenylbiguanide_A375_skin " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sig_cell_info = pd.read_excel((\"new_signame_tas_exemplar.xlsx\"),engine='openpyxl')\n", "sig_cell_info.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "sig_cell_info_filter_site = sig_cell_info[(sig_cell_info[\"primary_site\"]!= \"ovary\")\n", " & (sig_cell_info[\"primary_site\"]!= \"endometrium\") & (sig_cell_info[\"primary_site\"]!= \"prostate\")]\n", "## deja mama porque en los de GTEX y puede estar en hombres tambien" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "cancer_drugs = pd.read_csv(\"drugs_cancer_clue.csv\", sep=\",\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "drugs_ids = cancer_drugs[[\"pert_iname\"]].drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "drugs_ids = drugs_ids.values.ravel().tolist()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "mapping_tissue_GTEX_CLUE = pd.read_excel((\"mapping_tissues_GTEX_CLUE.xlsx\"),engine='openpyxl')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Gene (row) annotations " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['pr_gene_id', 'pr_gene_symbol', 'pr_gene_title', 'pr_is_lm',\n", " 'pr_is_bing'],\n", " dtype='object')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gene_info = pd.read_csv(\"./GSE92742_Broad_LINCS_gene_info.txt\", sep=\"\\t\", dtype=str)\n", "gene_info.columns" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "pertub_id = pd.read_csv(\"./GSE92742_Broad_LINCS_pert_info.txt\", sep=\"\\t\", dtype=str)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "per_metrics_id = pd.read_csv(\"./GSE92742_Broad_LINCS_pert_metrics.txt\", sep=\"\\t\", dtype=str)\n", "per_metrics_id = per_metrics_id.replace({\"-666\":\"Unknown\"})" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "data_total_genes_share = pd.read_csv(\"genes_hugo+ensembl.csv\", sep=\",\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "data_gtex = pd.read_csv(\"signif.sbgenes.txt\", sep=\"\\t\")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "data_gtex['Sex-bias'] = data_gtex.apply(lambda row: 'Female' if row['effsize'] >= 0 else 'Male', axis=1)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "data_gtex_filter = data_gtex.merge(data_total_genes_share , on=\"gene\")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "pd.options.mode.chained_assignment = None " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "data_gtex_tissues = data_gtex[\"tissue\"].unique()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": true }, "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", " \n", " \n", " \n", " \n", "
Unnamed: 0ENSEMBL_gene_idHUGO_gene_idTissueShapley_sumTissue_gtex
00ENSG00000165566.12AMER2Adipose - Subcutaneous274.341640Adipose_Subcutaneous
11ENSG00000185053.13SGCZAdipose - Subcutaneous246.744640Adipose_Subcutaneous
22ENSG00000103449.11SALL1Adipose - Subcutaneous113.793976Adipose_Subcutaneous
33ENSG00000253967.1RP11-333A23.4Adipose - Subcutaneous105.479940Adipose_Subcutaneous
44ENSG00000258484.3SPESP1Adipose - Subcutaneous89.989280Adipose_Subcutaneous
\n", "
" ], "text/plain": [ " Unnamed: 0 ENSEMBL_gene_id HUGO_gene_id Tissue \\\n", "0 0 ENSG00000165566.12 AMER2 Adipose - Subcutaneous \n", "1 1 ENSG00000185053.13 SGCZ Adipose - Subcutaneous \n", "2 2 ENSG00000103449.11 SALL1 Adipose - Subcutaneous \n", "3 3 ENSG00000253967.1 RP11-333A23.4 Adipose - Subcutaneous \n", "4 4 ENSG00000258484.3 SPESP1 Adipose - Subcutaneous \n", "\n", " Shapley_sum Tissue_gtex \n", "0 274.341640 Adipose_Subcutaneous \n", "1 246.744640 Adipose_Subcutaneous \n", "2 113.793976 Adipose_Subcutaneous \n", "3 105.479940 Adipose_Subcutaneous \n", "4 89.989280 Adipose_Subcutaneous " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "top30_top5 = pd.read_excel((\"top_30_auto_top5_tissue.xlsx\"),engine='openpyxl')\n", "top30_top5.head()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "data_gtex_top5 = data_gtex.merge(top30_top5 , left_on=[\"gene\",\"tissue\"], right_on = [\"ENSEMBL_gene_id\",\"Tissue_gtex\"], how = \"right\")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genetissueeffsizeeffsize_selfsrSex-biasUnnamed: 0ENSEMBL_gene_idHUGO_gene_idTissueShapley_sumTissue_gtex
0ENSG00000165566.12Adipose_Subcutaneous-3.7206620.2576541.110223e-16Male0ENSG00000165566.12AMER2Adipose - Subcutaneous274.341640Adipose_Subcutaneous
1ENSG00000185053.13Adipose_Subcutaneous-2.2432920.1896070.000000e+00Male1ENSG00000185053.13SGCZAdipose - Subcutaneous246.744640Adipose_Subcutaneous
2ENSG00000103449.11Adipose_Subcutaneous1.0852010.0963194.733551e-27Female2ENSG00000103449.11SALL1Adipose - Subcutaneous113.793976Adipose_Subcutaneous
3ENSG00000253967.1Adipose_Subcutaneous-1.6661140.2094131.668665e-13Male3ENSG00000253967.1RP11-333A23.4Adipose - Subcutaneous105.479940Adipose_Subcutaneous
4ENSG00000258484.3Adipose_Subcutaneous-0.7805520.0740770.000000e+00Male4ENSG00000258484.3SPESP1Adipose - Subcutaneous89.989280Adipose_Subcutaneous
.......................................
215ENSG00000205611.4Whole_Blood-1.3472240.1051020.000000e+00Male1278ENSG00000205611.4LINC01597Whole Blood138.051800Whole_Blood
216ENSG00000253967.1Whole_Blood-1.1570270.1642969.159340e-13Male1279ENSG00000253967.1RP11-333A23.4Whole Blood115.951890Whole_Blood
217ENSG00000022556.15Whole_Blood0.4529900.0541221.500167e-18Female1280ENSG00000022556.15NLRP2Whole Blood75.203620Whole_Blood
218ENSG00000149531.15Whole_Blood-0.5990080.0454531.110223e-16Male1281ENSG00000149531.15FRG1BPWhole Blood66.512640Whole_Blood
219ENSG00000237238.2Whole_Blood0.6420730.1084921.515213e-10Female1282ENSG00000237238.2BMS1P10Whole Blood46.464928Whole_Blood
\n", "

220 rows × 12 columns

\n", "
" ], "text/plain": [ " gene tissue effsize effsize_se \\\n", "0 ENSG00000165566.12 Adipose_Subcutaneous -3.720662 0.257654 \n", "1 ENSG00000185053.13 Adipose_Subcutaneous -2.243292 0.189607 \n", "2 ENSG00000103449.11 Adipose_Subcutaneous 1.085201 0.096319 \n", "3 ENSG00000253967.1 Adipose_Subcutaneous -1.666114 0.209413 \n", "4 ENSG00000258484.3 Adipose_Subcutaneous -0.780552 0.074077 \n", ".. ... ... ... ... \n", "215 ENSG00000205611.4 Whole_Blood -1.347224 0.105102 \n", "216 ENSG00000253967.1 Whole_Blood -1.157027 0.164296 \n", "217 ENSG00000022556.15 Whole_Blood 0.452990 0.054122 \n", "218 ENSG00000149531.15 Whole_Blood -0.599008 0.045453 \n", "219 ENSG00000237238.2 Whole_Blood 0.642073 0.108492 \n", "\n", " lfsr Sex-bias Unnamed: 0 ENSEMBL_gene_id HUGO_gene_id \\\n", "0 1.110223e-16 Male 0 ENSG00000165566.12 AMER2 \n", "1 0.000000e+00 Male 1 ENSG00000185053.13 SGCZ \n", "2 4.733551e-27 Female 2 ENSG00000103449.11 SALL1 \n", "3 1.668665e-13 Male 3 ENSG00000253967.1 RP11-333A23.4 \n", "4 0.000000e+00 Male 4 ENSG00000258484.3 SPESP1 \n", ".. ... ... ... ... ... \n", "215 0.000000e+00 Male 1278 ENSG00000205611.4 LINC01597 \n", "216 9.159340e-13 Male 1279 ENSG00000253967.1 RP11-333A23.4 \n", "217 1.500167e-18 Female 1280 ENSG00000022556.15 NLRP2 \n", "218 1.110223e-16 Male 1281 ENSG00000149531.15 FRG1BP \n", "219 1.515213e-10 Female 1282 ENSG00000237238.2 BMS1P10 \n", "\n", " Tissue Shapley_sum Tissue_gtex \n", "0 Adipose - Subcutaneous 274.341640 Adipose_Subcutaneous \n", "1 Adipose - Subcutaneous 246.744640 Adipose_Subcutaneous \n", "2 Adipose - Subcutaneous 113.793976 Adipose_Subcutaneous \n", "3 Adipose - Subcutaneous 105.479940 Adipose_Subcutaneous \n", "4 Adipose - Subcutaneous 89.989280 Adipose_Subcutaneous \n", ".. ... ... ... \n", "215 Whole Blood 138.051800 Whole_Blood \n", "216 Whole Blood 115.951890 Whole_Blood \n", "217 Whole Blood 75.203620 Whole_Blood \n", "218 Whole Blood 66.512640 Whole_Blood \n", "219 Whole Blood 46.464928 Whole_Blood \n", "\n", "[220 rows x 12 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_gtex_top5" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "111" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(data_gtex_top5[\"HUGO_gene_id\"].unique())" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "#drugs_ids_check = [\"sirolimus\"]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\r", " 0%| | 0/95 [00:00\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SignaturePerturbagen_nameP-value
0CPC011_A375_6H:BRD-K69650333-003-11-6:10idarubicin0.998693
0CPC011_A549_6H:BRD-K69650333-003-11-6:10idarubicin0.999996
0CPC006_A673_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000
0CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000
0CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000
............
0CPC020_A549_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000
0CPC020_HA1E_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000
0CPC020_HCC515_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000
0CPC020_HT29_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000
0CPC020_MCF7_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000
\n", "

1663 rows × 3 columns

\n", "" ], "text/plain": [ " Signature Perturbagen_name P-value\n", "0 CPC011_A375_6H:BRD-K69650333-003-11-6:10 idarubicin 0.998693\n", "0 CPC011_A549_6H:BRD-K69650333-003-11-6:10 idarubicin 0.999996\n", "0 CPC006_A673_6H:BRD-A71390734-001-01-7:0.08 idarubicin 1.000000\n", "0 CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08 idarubicin 1.000000\n", "0 CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08 idarubicin 1.000000\n", ".. ... ... ...\n", "0 CPC020_A549_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone 1.000000\n", "0 CPC020_HA1E_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone 1.000000\n", "0 CPC020_HCC515_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone 1.000000\n", "0 CPC020_HT29_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone 1.000000\n", "0 CPC020_MCF7_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone 1.000000\n", "\n", "[1663 rows x 3 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "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", " \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", "
perturbagen_nameSignature_idHUGO_gene_idSex-bias
0idarubicinCPC011_A375_6H:BRD-K69650333-003-11-6:10WISP2Male
1idarubicinCPC011_A375_6H:BRD-K69650333-003-11-6:10PPFIA3Female
0idarubicinCPC011_A549_6H:BRD-K69650333-003-11-6:10SALL1Female
1idarubicinCPC011_A549_6H:BRD-K69650333-003-11-6:10SALL1Female
2idarubicinCPC011_A549_6H:BRD-K69650333-003-11-6:10SALL1Female
...............
25-aminolevulinic-acidCPC020_HCC515_6H:BRD-K57631554-001-07-4:10WISP2Male
35-aminolevulinic-acidCPC020_HCC515_6H:BRD-K57631554-001-07-4:10SHHFemale
45-aminolevulinic-acidCPC020_HCC515_6H:BRD-K57631554-001-07-4:10ACKR1NaN
55-aminolevulinic-acidCPC020_HCC515_6H:BRD-K57631554-001-07-4:10CDH20Male
65-aminolevulinic-acidCPC020_HCC515_6H:BRD-K57631554-001-07-4:10NLRP2Female
\n", "

3469 rows × 4 columns

\n", "
" ], "text/plain": [ " perturbagen_name Signature_id \\\n", "0 idarubicin CPC011_A375_6H:BRD-K69650333-003-11-6:10 \n", "1 idarubicin CPC011_A375_6H:BRD-K69650333-003-11-6:10 \n", "0 idarubicin CPC011_A549_6H:BRD-K69650333-003-11-6:10 \n", "1 idarubicin CPC011_A549_6H:BRD-K69650333-003-11-6:10 \n", "2 idarubicin CPC011_A549_6H:BRD-K69650333-003-11-6:10 \n", ".. ... ... \n", "2 5-aminolevulinic-acid CPC020_HCC515_6H:BRD-K57631554-001-07-4:10 \n", "3 5-aminolevulinic-acid CPC020_HCC515_6H:BRD-K57631554-001-07-4:10 \n", "4 5-aminolevulinic-acid CPC020_HCC515_6H:BRD-K57631554-001-07-4:10 \n", "5 5-aminolevulinic-acid CPC020_HCC515_6H:BRD-K57631554-001-07-4:10 \n", "6 5-aminolevulinic-acid CPC020_HCC515_6H:BRD-K57631554-001-07-4:10 \n", "\n", " HUGO_gene_id Sex-bias \n", "0 WISP2 Male \n", "1 PPFIA3 Female \n", "0 SALL1 Female \n", "1 SALL1 Female \n", "2 SALL1 Female \n", ".. ... ... \n", "2 WISP2 Male \n", "3 SHH Female \n", "4 ACKR1 NaN \n", "5 CDH20 Male \n", "6 NLRP2 Female \n", "\n", "[3469 rows x 4 columns]" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_all" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "info_cell = sig_cell_info[[\"sig_id\",\"Signature_id\",\"cell_id\"]]\n", "info_cell = info_cell.drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sig_idSignature_idcell_id
0CPC018_A375_6H:BRD-K06817181-001-01-5:101,2,3,4,5,6-hexabromocyclohexane_A375_skinA375
1CPC017_A375_6H:BRD-K74430258-001-01-2:101,2-dichlorobenzene_A375_skinA375
2CPC010_A375_6H:BRD-K32795028-001-10-9:101-benzylimidazole_A375_skinA375
3CPC018_A375_6H:BRD-A80928489-001-01-0:101-monopalmitin_A375_skinA375
4CPC018_A375_6H:BRD-K31491153-001-01-2:101-phenylbiguanide_A375_skinA375
............
258599KDB008_SKL_96H:TRCN0000020197:-666ZNF589_SKL_muscleSKL
258600KDB002_SKL_96H:TRCN0000236645:-666ZNF629_SKL_muscleSKL
258601KDB001_SKL_96H:TRCN0000150938:-666ZW10_SKL_muscleSKL
258602KDB007_SKL_96H:TRCN0000072242:-666lacZ_SKL_muscleSKL
258603KDB008_SKL_96H:TRCN0000145620:-666pgw_SKL_muscleSKL
\n", "

173142 rows × 3 columns

\n", "
" ], "text/plain": [ " sig_id \\\n", "0 CPC018_A375_6H:BRD-K06817181-001-01-5:10 \n", "1 CPC017_A375_6H:BRD-K74430258-001-01-2:10 \n", "2 CPC010_A375_6H:BRD-K32795028-001-10-9:10 \n", "3 CPC018_A375_6H:BRD-A80928489-001-01-0:10 \n", "4 CPC018_A375_6H:BRD-K31491153-001-01-2:10 \n", "... ... \n", "258599 KDB008_SKL_96H:TRCN0000020197:-666 \n", "258600 KDB002_SKL_96H:TRCN0000236645:-666 \n", "258601 KDB001_SKL_96H:TRCN0000150938:-666 \n", "258602 KDB007_SKL_96H:TRCN0000072242:-666 \n", "258603 KDB008_SKL_96H:TRCN0000145620:-666 \n", "\n", " Signature_id cell_id \n", "0 1,2,3,4,5,6-hexabromocyclohexane_A375_skin A375 \n", "1 1,2-dichlorobenzene_A375_skin A375 \n", "2 1-benzylimidazole_A375_skin A375 \n", "3 1-monopalmitin_A375_skin A375 \n", "4 1-phenylbiguanide_A375_skin A375 \n", "... ... ... \n", "258599 ZNF589_SKL_muscle SKL \n", "258600 ZNF629_SKL_muscle SKL \n", "258601 ZW10_SKL_muscle SKL \n", "258602 lacZ_SKL_muscle SKL \n", "258603 pgw_SKL_muscle SKL \n", "\n", "[173142 rows x 3 columns]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info_cell" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "clue_tiss_sig_gtex_ = df.merge(info_cell, left_on=[\"Signature\"],right_on=[\"sig_id\"])\n", "clue_tiss_sig_gtex_['Significant'] = clue_tiss_sig_gtex_.apply(lambda row: 'No' if row['P-value'] > 0.05 else 'Yes', axis=1)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SignaturePerturbagen_nameP-valuesig_idSignature_idcell_idSignificant
0CPC011_A375_6H:BRD-K69650333-003-11-6:10idarubicin0.998693CPC011_A375_6H:BRD-K69650333-003-11-6:10idarubicin_A375_skinA375No
1CPC011_A549_6H:BRD-K69650333-003-11-6:10idarubicin0.999996CPC011_A549_6H:BRD-K69650333-003-11-6:10idarubicin_A549_lungA549No
2CPC006_A673_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000CPC006_A673_6H:BRD-A71390734-001-01-7:0.08idarubicin_A673_boneA673No
3CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08idarubicin_AGS_stomachAGSNo
4CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08idarubicin1.000000CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08idarubicin_CL34_large intestineCL34No
........................
1658CPC020_A549_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000CPC020_A549_6H:BRD-K82216340-001-19-7:10medroxyprogesterone_A549_lungA549No
1659CPC020_HA1E_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000CPC020_HA1E_6H:BRD-K82216340-001-19-7:10medroxyprogesterone_HA1E_kidneyHA1ENo
1660CPC020_HCC515_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000CPC020_HCC515_6H:BRD-K82216340-001-19-7:10medroxyprogesterone_HCC515_lungHCC515No
1661CPC020_HT29_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000CPC020_HT29_6H:BRD-K82216340-001-19-7:10medroxyprogesterone_HT29_large intestineHT29No
1662CPC020_MCF7_6H:BRD-K82216340-001-19-7:10medroxyprogesterone1.000000CPC020_MCF7_6H:BRD-K82216340-001-19-7:10medroxyprogesterone_MCF7_breastMCF7No
\n", "

1663 rows × 7 columns

\n", "
" ], "text/plain": [ " Signature Perturbagen_name \\\n", "0 CPC011_A375_6H:BRD-K69650333-003-11-6:10 idarubicin \n", "1 CPC011_A549_6H:BRD-K69650333-003-11-6:10 idarubicin \n", "2 CPC006_A673_6H:BRD-A71390734-001-01-7:0.08 idarubicin \n", "3 CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08 idarubicin \n", "4 CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08 idarubicin \n", "... ... ... \n", "1658 CPC020_A549_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone \n", "1659 CPC020_HA1E_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone \n", "1660 CPC020_HCC515_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone \n", "1661 CPC020_HT29_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone \n", "1662 CPC020_MCF7_6H:BRD-K82216340-001-19-7:10 medroxyprogesterone \n", "\n", " P-value sig_id \\\n", "0 0.998693 CPC011_A375_6H:BRD-K69650333-003-11-6:10 \n", "1 0.999996 CPC011_A549_6H:BRD-K69650333-003-11-6:10 \n", "2 1.000000 CPC006_A673_6H:BRD-A71390734-001-01-7:0.08 \n", "3 1.000000 CPC006_AGS_6H:BRD-A71390734-001-01-7:0.08 \n", "4 1.000000 CPC006_CL34_6H:BRD-A71390734-001-01-7:0.08 \n", "... ... ... \n", "1658 1.000000 CPC020_A549_6H:BRD-K82216340-001-19-7:10 \n", "1659 1.000000 CPC020_HA1E_6H:BRD-K82216340-001-19-7:10 \n", "1660 1.000000 CPC020_HCC515_6H:BRD-K82216340-001-19-7:10 \n", "1661 1.000000 CPC020_HT29_6H:BRD-K82216340-001-19-7:10 \n", "1662 1.000000 CPC020_MCF7_6H:BRD-K82216340-001-19-7:10 \n", "\n", " Signature_id cell_id Significant \n", "0 idarubicin_A375_skin A375 No \n", "1 idarubicin_A549_lung A549 No \n", "2 idarubicin_A673_bone A673 No \n", "3 idarubicin_AGS_stomach AGS No \n", "4 idarubicin_CL34_large intestine CL34 No \n", "... ... ... ... \n", "1658 medroxyprogesterone_A549_lung A549 No \n", "1659 medroxyprogesterone_HA1E_kidney HA1E No \n", "1660 medroxyprogesterone_HCC515_lung HCC515 No \n", "1661 medroxyprogesterone_HT29_large intestine HT29 No \n", "1662 medroxyprogesterone_MCF7_breast MCF7 No \n", "\n", "[1663 rows x 7 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clue_tiss_sig_gtex_" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "data_sig = clue_tiss_sig_gtex_[clue_tiss_sig_gtex_[\"Significant\"]==\"Yes\"] " ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "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", " \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", "
SignaturePerturbagen_nameP-valuesig_idSignature_idcell_idSignificant
128CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine1.412917e-02CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515Yes
386CPC020_A549_6H:BRD-K67043667-001-21-5:10altretamine5.242388e-04CPC020_A549_6H:BRD-K67043667-001-21-5:10altretamine_A549_lungA549Yes
614CPC006_NCIH596_6H:BRD-K19796430-001-01-5:10sonidegib2.426766e-03CPC006_NCIH596_6H:BRD-K19796430-001-01-5:10sonidegib_NCIH596_lungNCIH596Yes
726CPC006_DV90_6H:BRD-K08845546-001-02-2:22.2tacrolimus1.826632e-08CPC006_DV90_6H:BRD-K08845546-001-02-2:22.2tacrolimus_DV90_lungDV90Yes
885CPC006_LOVO_6H:BRD-A79768653-001-02-1:10sirolimus1.429427e-06CPC006_LOVO_6H:BRD-A79768653-001-02-1:10sirolimus_LOVO_large intestineLOVOYes
976CPC016_HEPG2_6H:BRD-A35588707-001-03-0:10teniposide3.108834e-03CPC016_HEPG2_6H:BRD-A35588707-001-03-0:10teniposide_HEPG2_liverHEPG2Yes
1386CPD001_MCF7_6H:BRD-K23204545-001-09-9:10busulfan3.604655e-10CPD001_MCF7_6H:BRD-K23204545-001-09-9:10busulfan_MCF7_breastMCF7Yes
1508CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine1.760271e-03CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1Yes
\n", "
" ], "text/plain": [ " Signature Perturbagen_name \\\n", "128 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine \n", "386 CPC020_A549_6H:BRD-K67043667-001-21-5:10 altretamine \n", "614 CPC006_NCIH596_6H:BRD-K19796430-001-01-5:10 sonidegib \n", "726 CPC006_DV90_6H:BRD-K08845546-001-02-2:22.2 tacrolimus \n", "885 CPC006_LOVO_6H:BRD-A79768653-001-02-1:10 sirolimus \n", "976 CPC016_HEPG2_6H:BRD-A35588707-001-03-0:10 teniposide \n", "1386 CPD001_MCF7_6H:BRD-K23204545-001-09-9:10 busulfan \n", "1508 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine \n", "\n", " P-value sig_id \\\n", "128 1.412917e-02 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 \n", "386 5.242388e-04 CPC020_A549_6H:BRD-K67043667-001-21-5:10 \n", "614 2.426766e-03 CPC006_NCIH596_6H:BRD-K19796430-001-01-5:10 \n", "726 1.826632e-08 CPC006_DV90_6H:BRD-K08845546-001-02-2:22.2 \n", "885 1.429427e-06 CPC006_LOVO_6H:BRD-A79768653-001-02-1:10 \n", "976 3.108834e-03 CPC016_HEPG2_6H:BRD-A35588707-001-03-0:10 \n", "1386 3.604655e-10 CPD001_MCF7_6H:BRD-K23204545-001-09-9:10 \n", "1508 1.760271e-03 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 \n", "\n", " Signature_id cell_id Significant \n", "128 decitabine_HCC515_lung HCC515 Yes \n", "386 altretamine_A549_lung A549 Yes \n", "614 sonidegib_NCIH596_lung NCIH596 Yes \n", "726 tacrolimus_DV90_lung DV90 Yes \n", "885 sirolimus_LOVO_large intestine LOVO Yes \n", "976 teniposide_HEPG2_liver HEPG2 Yes \n", "1386 busulfan_MCF7_breast MCF7 Yes \n", "1508 gemcitabine_SKLU1_lung SKLU1 Yes " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_sig" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "df_genes_tiss_sb = data_sig.merge(df_all, left_on= [\"sig_id\",\"Perturbagen_name\"], right_on=[\"Signature_id\",\"perturbagen_name\"], how =\"inner\")" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "scrolled": true }, "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", " \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", " \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", " \n", " \n", " \n", " \n", "
SignaturePerturbagen_nameP-valuesig_idSignature_id_xcell_idSignificantperturbagen_nameSignature_id_yHUGO_gene_idSex-bias
0CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine0.014129CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515YesdecitabineCPC013_HCC515_6H:BRD-K79254416-001-08-5:10HSD11B1Male
1CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine0.014129CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515YesdecitabineCPC013_HCC515_6H:BRD-K79254416-001-08-5:10SALL1Female
2CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine0.014129CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515YesdecitabineCPC013_HCC515_6H:BRD-K79254416-001-08-5:10SALL1Female
3CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine0.014129CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515YesdecitabineCPC013_HCC515_6H:BRD-K79254416-001-08-5:10SALL1Female
4CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine0.014129CPC013_HCC515_6H:BRD-K79254416-001-08-5:10decitabine_HCC515_lungHCC515YesdecitabineCPC013_HCC515_6H:BRD-K79254416-001-08-5:10HOXD11NaN
....................................
88CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine0.001760CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1YesgemcitabineCPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08DDX43Male
89CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine0.001760CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1YesgemcitabineCPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08DDX43Male
90CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine0.001760CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1YesgemcitabineCPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08DDX43Male
91CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine0.001760CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1YesgemcitabineCPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08DDX43Male
92CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine0.001760CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08gemcitabine_SKLU1_lungSKLU1YesgemcitabineCPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08DDX43Male
\n", "

93 rows × 11 columns

\n", "
" ], "text/plain": [ " Signature Perturbagen_name P-value \\\n", "0 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine 0.014129 \n", "1 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine 0.014129 \n", "2 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine 0.014129 \n", "3 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine 0.014129 \n", "4 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine 0.014129 \n", ".. ... ... ... \n", "88 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine 0.001760 \n", "89 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine 0.001760 \n", "90 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine 0.001760 \n", "91 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine 0.001760 \n", "92 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine 0.001760 \n", "\n", " sig_id Signature_id_x \\\n", "0 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine_HCC515_lung \n", "1 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine_HCC515_lung \n", "2 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine_HCC515_lung \n", "3 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine_HCC515_lung \n", "4 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 decitabine_HCC515_lung \n", ".. ... ... \n", "88 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine_SKLU1_lung \n", "89 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine_SKLU1_lung \n", "90 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine_SKLU1_lung \n", "91 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine_SKLU1_lung \n", "92 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 gemcitabine_SKLU1_lung \n", "\n", " cell_id Significant perturbagen_name \\\n", "0 HCC515 Yes decitabine \n", "1 HCC515 Yes decitabine \n", "2 HCC515 Yes decitabine \n", "3 HCC515 Yes decitabine \n", "4 HCC515 Yes decitabine \n", ".. ... ... ... \n", "88 SKLU1 Yes gemcitabine \n", "89 SKLU1 Yes gemcitabine \n", "90 SKLU1 Yes gemcitabine \n", "91 SKLU1 Yes gemcitabine \n", "92 SKLU1 Yes gemcitabine \n", "\n", " Signature_id_y HUGO_gene_id Sex-bias \n", "0 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 HSD11B1 Male \n", "1 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 SALL1 Female \n", "2 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 SALL1 Female \n", "3 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 SALL1 Female \n", "4 CPC013_HCC515_6H:BRD-K79254416-001-08-5:10 HOXD11 NaN \n", ".. ... ... ... \n", "88 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 DDX43 Male \n", "89 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 DDX43 Male \n", "90 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 DDX43 Male \n", "91 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 DDX43 Male \n", "92 CPC006_SKLU1_6H:BRD-K15108141-001-01-7:0.08 DDX43 Male \n", "\n", "[93 rows x 11 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_genes_tiss_sb" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "df_genes_tiss_sb = df_genes_tiss_sb.fillna(1)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "df_genes_tiss_sb_fil = df_genes_tiss_sb[[\"Signature_id_x\",\"Sex-bias\"]]" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "# Agrupar por ID y obtener la categoría con el mayor conteo para cada ID\n", "max_category_by_id = df_genes_tiss_sb_fil.groupby('Signature_id_x')['Sex-bias'].apply(lambda x: x.value_counts().idxmax())\n", "\n", "# Convertir la serie resultante en un DataFrame\n", "result_df = max_category_by_id.reset_index(name='Sex-bias')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "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", "
Signature_id_xSex-bias
0altretamine_A549_lungMale
1busulfan_MCF7_breastMale
2decitabine_HCC515_lungFemale
3gemcitabine_SKLU1_lungMale
4sirolimus_LOVO_large intestineMale
5sonidegib_NCIH596_lungMale
6tacrolimus_DV90_lungMale
7teniposide_HEPG2_liverMale
\n", "
" ], "text/plain": [ " Signature_id_x Sex-bias\n", "0 altretamine_A549_lung Male\n", "1 busulfan_MCF7_breast Male\n", "2 decitabine_HCC515_lung Female\n", "3 gemcitabine_SKLU1_lung Male\n", "4 sirolimus_LOVO_large intestine Male\n", "5 sonidegib_NCIH596_lung Male\n", "6 tacrolimus_DV90_lung Male\n", "7 teniposide_HEPG2_liver Male" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result_df" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "result_df.loc[result_df[\"Sex-bias\"] == \"Male\", 'Gene-bias'] = 2\n", "result_df.loc[result_df[\"Sex-bias\"] == \"Female\", 'Gene-bias'] = 3" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Define the colors for each category\n", "category_colors = {\n", " 1: 'green', # No direction\n", " 2: 'blue', # Male sex-biased\n", " 3: 'red' # Female sex-biased\n", "}\n", "\n", "fig, ax = plt.subplots(figsize=(20, 20))\n", "\n", "# Plot the scatter plot with colors based on category\n", "scatter = plt.scatter(result_df['Gene-bias'], result_df['Signature_id_x'], c=result_df['Gene-bias'].map(category_colors), s=100, zorder=2)\n", "\n", "# Set labels and x-axis ticks\n", "#plt.xlabel('Sex-bias', fontsize=12)\n", "plt.ylabel('Cancer drug + Signature', fontsize=12)\n", "plt.xticks(range(4), [\" \",'No direction', 'Male sex-biased', 'Female sex-biased'])\n", "\n", "# Add grid\n", "plt.grid(color='grey', linestyle='--', linewidth=0.5)\n", "\n", "# Customize font for axes labels\n", "plt.setp(ax.get_xticklabels(), fontsize=12, color=\"black\", fontweight=\"normal\")\n", "plt.setp(ax.get_yticklabels(), fontsize=12, color=\"black\", fontweight=\"normal\")\n", "\n", "# Save the plot\n", "plt.tight_layout()\n", "plt.savefig(\"./images_genes_overlap/enrichment_top30top5.svg\")\n", "plt.show()\n" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "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.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }