{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "658fea78", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from scipy import stats, sparse\n", "import bottleneck\n", "from scipy.stats import mannwhitneyu" ] }, { "cell_type": "code", "execution_count": 2, "id": "4efd3b89", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from scipy import stats, sparse\n", "import bottleneck\n", "def run_egad(go, nw, **kwargs):\n", " \"\"\"EGAD running function\n", " \n", " Wrapper to lower level functions for EGAD\n", "\n", " EGAD measures modularity of gene lists in co-expression networks. \n", "\n", " This was translated from the MATLAB version, which does tiled Cross Validation\n", " \n", " The useful kwargs are:\n", " int - nFold : Number of CV folds to do, default is 3, \n", " int - {min,max}_count : limits for number of terms in each gene list, these are exclusive values\n", "\n", "\n", " Arguments:\n", " go {pd.DataFrame} -- dataframe of genes x terms of values [0,1], where 1 is included in gene lists\n", " nw {pd.DataFrame} -- dataframe of co-expression network, genes x genes\n", " **kwargs \n", " \n", " Returns:\n", " pd.DataFrame -- dataframe of terms x metrics where the metrics are \n", " ['AUC', 'AVG_NODE_DEGREE', 'DEGREE_NULL_AUC', 'P_Value']\n", " \"\"\"\n", " assert nw.shape[0] == nw.shape[1] , 'Network is not square'\n", " #print(nw.index)\n", " #nw.columns = nw.columns.astype(int)\n", " #print(nw.columns.astype(int))\n", " assert np.all(nw.index == nw.columns) , 'Network index and columns are not in the same order'\n", "\n", " #nw_mask = nw.isna().sum(axis=1) != nw.shape[1]\n", " #nw = nw.loc[nw_mask, nw_mask].astype('float')\n", " #np.fill_diagonal(nw.values, 1)\n", " return _runNV(go, nw, **kwargs)\n", "\n", "def _runNV(go, nw, nFold=3, min_count=10, max_count=1000000):\n", "\n", " #Make sure genes are same in go and nw\n", " #go.index = go.index.map(str) \n", " #nw.index = nw.index.map(str)\n", " #nw.index = nw.index.str.replace('_', '')\n", " #go.index = go.index.str.replace('_', '')\n", " #print (nw)\n", " genes_intersect = go.index.intersection(nw.index)\n", "\n", "\n", " #print (genes_intersect)\n", " go = go.loc[genes_intersect, :]\n", " nw = nw.loc[genes_intersect, genes_intersect]\n", " #print (go)\n", " print (nw.shape)\n", " print (go.shape)\n", " sparsity = 1.0 - np.count_nonzero(go) / go.size\n", " print (sparsity)\n", " sparsity = 1.0 - np.count_nonzero(nw) / nw.size\n", " print (sparsity)\n", " #print(nw\n", " #print(go\n", " nw_mask = nw.isna().sum(axis=1) != nw.shape[1]\n", " nw = nw.loc[nw_mask, nw_mask].astype('float')\n", " np.fill_diagonal(nw.values, 1)\n", " #Make sure there aren't duplicates\n", " duplicates = nw.index.duplicated(keep='first')\n", " nw = nw.loc[~duplicates, ~duplicates]\n", "\n", " go = go.loc[:, (go.sum(axis=0) > min_count) & (go.sum(axis=0) < max_count)]\n", " go = go.loc[~go.index.duplicated(keep='first'), :]\n", " #print(go)\n", "\n", " roc = _new_egad(go.values, nw.values, nFold)\n", "\n", " col_names = ['AUC', 'AVG_NODE_DEGREE', 'DEGREE_NULL_AUC', 'P_Value']\n", " #Put output in dataframe\n", " return pd.DataFrame(dict(zip(col_names, roc)), index=go.columns), go\n", "\n", "def _new_egad(go, nw, nFold):\n", "\n", " #Build Cross validated Positive\n", " x, y = np.where(go)\n", " #print(x, y)\n", " cvgo = {}\n", " for i in np.arange(nFold):\n", " a = x[i::nFold]\n", " #print(a)\n", " b = y[i::nFold]\n", " dat = np.ones_like(a)\n", " mask = sparse.coo_matrix((dat, (a, b)), shape=go.shape)\n", " cvgo[i] = go - mask.toarray()\n", "\n", " CVgo = np.concatenate(list(cvgo.values()), axis=1)\n", " #print(CVgo)\n", "\n", " sumin = np.matmul(nw.T, CVgo)\n", "\n", " degree = np.sum(nw, axis=0)\n", " #print(degree)\n", " #print(degree[:, None])\n", "\n", " predicts = sumin / degree[:, None]\n", " #print(predicts)\n", "\n", " np.place(predicts, CVgo > 0, np.nan)\n", "\n", " #print(predicts)\n", "\n", " #Calculate ranks of positives\n", " rank_abs = lambda x: stats.rankdata(np.abs(x))\n", " predicts2 = np.apply_along_axis(rank_abs, 0, predicts)\n", " #print(predicts2)\n", "\n", " #Masking Nans that were ranked (how tiedrank works in matlab)\n", " predicts2[np.isnan(predicts)] = np.nan\n", " #print(predicts2)\n", "\n", " filtering = np.tile(go, nFold)\n", " #print(filtering)\n", "\n", " #negatives :filtering == 0\n", " #Sets Ranks of negatives to 0\n", " np.place(predicts2, filtering == 0, 0)\n", "\n", " #Sum of ranks for each prediction\n", " p = bottleneck.nansum(predicts2, axis=0)\n", " n_p = np.sum(filtering, axis=0) - np.sum(CVgo, axis=0)\n", "\n", " #Number of negatives\n", " #Number of GO terms - number of postiive\n", " n_n = filtering.shape[0] - np.sum(filtering, axis=0)\n", "\n", " roc = (p / n_p - (n_p + 1) / 2) / n_n\n", " U = roc * n_p * n_n\n", " Z = (np.abs(U - (n_p * n_n / 2))) / np.sqrt(n_p * n_n *\n", " (n_p + n_n + 1) / 12)\n", " roc = roc.reshape(nFold, go.shape[1])\n", " Z = Z.reshape(nFold, go.shape[1])\n", " #Stouffer Z method\n", " Z = bottleneck.nansum(Z, axis=0) / np.sqrt(nFold)\n", " #Calc ROC of Neighbor Voting\n", " roc = bottleneck.nanmean(roc, axis=0)\n", " P = stats.norm.sf(Z)\n", "\n", " #Average degree for nodes in each go term\n", " avg_degree = degree.dot(go) / np.sum(go, axis=0)\n", "\n", " #Calc null auc for degree\n", " ranks = np.tile(stats.rankdata(degree), (go.shape[1], 1)).T\n", "\n", " np.place(ranks, go == 0, 0)\n", "\n", " n_p = bottleneck.nansum(go, axis=0)\n", " nn = go.shape[0] - n_p\n", " p = bottleneck.nansum(ranks, axis=0)\n", "\n", " roc_null = (p / n_p - ((n_p + 1) / 2)) / nn\n", " #print(roc)\n", " return roc, avg_degree, roc_null, P" ] }, { "cell_type": "code", "execution_count": 3, "id": "7197919c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:numexpr.utils:Note: detected 192 virtual cores but NumExpr set to maximum of 64, check \"NUMEXPR_MAX_THREADS\" environment variable.\n", "INFO:numexpr.utils:Note: NumExpr detected 192 cores but \"NUMEXPR_MAX_THREADS\" not set, so enforcing safe limit of 8.\n", "INFO:numexpr.utils:NumExpr defaulting to 8 threads.\n" ] } ], "source": [ "from hicmatrix import HiCMatrix as hm\n", "from hicmatrix.lib import MatrixFileHandler" ] }, { "cell_type": "code", "execution_count": 4, "id": "a9067cf9", "metadata": {}, "outputs": [], "source": [ "exp_file_path=f'/grid/gillis/data/lohia/hi_c_data_processing/software/CoCoCoNet/networks/human_prioAggNet.h5'\n", "\n", "jac_exp = hm.hiCMatrix(exp_file_path)\n", "all_genes = [x[3].decode() for x in jac_exp.cut_intervals]\n", "df_exp_corr = pd.DataFrame(jac_exp.matrix.toarray() , index=all_genes, columns = all_genes)" ] }, { "cell_type": "code", "execution_count": 5, "id": "b7ba028b", "metadata": {}, "outputs": [], "source": [ "resolution_human = 1000\n", "species = \"human\"\n", "SRP_name = \"aggregates\"\n", "resolution = \"1kbp_raw\"\n", "\n", "\n", "\n", "input_path=f'/grid/gillis/data/lohia/hi_c_data_processing/data_{species}/{SRP_name}/{resolution}/max/'\n", "bins_bed = pd.read_csv(f'{input_path}/all_bins.bed', names=['chr', 'start', 'end', 'bin_id'])" ] }, { "cell_type": "code", "execution_count": 6, "id": "4b23d662", "metadata": {}, "outputs": [], "source": [ " if species == 'human':\n", "\n", " df_cre = pd.read_csv('/grid/gillis/data/lohia/hi_c_data_processing/data_human/aggregates/li2022/GRCh38-cCREs.bed', sep='\\t', names=['chr', 'start', 'end', 't1', 't2', 't3'])\n", "\n", " else:\n", "\n", " df_cre = pd.read_csv('/grid/gillis/data/lohia/ATAC_Risa/mm10-cCREs.bed', sep='\\t', names=['chr', 'start', 'end', 't1', 't2', 't3'])\n", "\n", " df_cre['start_bin'] = df_cre['start']/resolution_human\n", " df_cre['start_bin'] = df_cre['start_bin'].astype('int')\n", " df_cre['start_bin'] = df_cre['start_bin']*resolution_human\n", " df_cre['start_bin'] = df_cre['start_bin'].astype('str')\n", " df_cre['start_bin'] = df_cre['chr'] + '_' + df_cre['start_bin']\n", " #df_cre_1kb_encode = df_cre.drop_duplicates(subset=['start_bin'])\n", " df_cre['cre'] = 1\n", " df_cre = df_cre.groupby(['start_bin'])['cre'].sum().reset_index()\n", " input_path=f'/grid/gillis/data/lohia/hi_c_data_processing/data_{species}/{SRP_name}/{resolution}/max/'\n", " bins_bed = pd.read_csv(f'{input_path}/all_bins.bed', names=['chr', 'start', 'end', 'bin_id'])\n", " bins_bed['bin_id'] = bins_bed.index\n", " bins_bed['pos'] = bins_bed['chr'] + '_' + bins_bed['start'].astype('str')\n", " df_cre_1kb_encode = df_cre.merge(bins_bed, left_on='start_bin', right_on='pos')\n", " " ] }, { "cell_type": "code", "execution_count": 7, "id": "d3597e9e", "metadata": {}, "outputs": [], "source": [ "from hicmatrix import HiCMatrix as hm\n", "from hicmatrix.lib import MatrixFileHandler\n", "import numpy as np\n", "import pandas as pd\n", "from scipy import stats, sparse\n", "import bottleneck\n", "from scipy.stats import mannwhitneyu\n", "import h5py\n", "import h5py\n", "import logging\n", "import numpy as np\n", "import pandas as pd\n", "from hicmatrix import HiCMatrix as hm\n", "from hicmatrix.lib import MatrixFileHandler\n", "from scipy.sparse import csr_matrix, dia_matrix, triu, tril, coo_matrix\n", "import scipy.stats as stats\n", "import os.path" ] }, { "cell_type": "code", "execution_count": 8, "id": "f1aa8888", "metadata": {}, "outputs": [], "source": [ "with h5py.File(f'/grid/gillis/data/lohia/hi_c_data_processing/data_{species}/{SRP_name}/{resolution}/max/hic_gene_gw_none_by_allbins_none_ranked_inter.h5', 'r') as hf:\n", " my_data = hf['matrix'][:]\n", " gene_list = hf['gene_list'][:]\n", " bins_bed = hf['bins_bed'][:]" ] }, { "cell_type": "code", "execution_count": 9, "id": "dfb95b3a", "metadata": {}, "outputs": [], "source": [ "my_percen = np.nanpercentile(my_data, 99, axis=1, keepdims=True)" ] }, { "cell_type": "code", "execution_count": 10, "id": "ffe2308a", "metadata": {}, "outputs": [], "source": [ "my_data_thresh = my_data > my_percen\n", "\n", "my_data_thresh = my_data_thresh.astype(int)" ] }, { "cell_type": "code", "execution_count": 11, "id": "39475a96", "metadata": {}, "outputs": [], "source": [ "df_gene_tp = pd.DataFrame(my_data_thresh , index=[x.decode() for x in gene_list.tolist()], columns = bins_bed.tolist())\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "a151249a", "metadata": {}, "outputs": [], "source": [ "exp_genes = pd.read_csv(\"/grid/gillis/data/lohia/hi_c_data_processing/software/CoCoCoNet/Homo_sapiens_average_rank.csv\")\n", "\n", "exp_genes['genes'] = [x.split('.')[0] for x in exp_genes['genes']]\n", "\n", "exp_genes.set_index('genes', inplace=True)\n", "\n", "exp_genes['avg_rank'] = exp_genes.sum(axis=1)\n", "\n", "exp_genes['avg_rank'] = [ x/ exp_genes.shape[1] for x in exp_genes['avg_rank']]\n", "\n", "exp_genes = exp_genes[['avg_rank']]\n", "\n", "exp_genes.reset_index(inplace=True)\n", "\n", "exp_genes.drop_duplicates(['genes'], inplace=True)" ] }, { "cell_type": "code", "execution_count": 55, "id": "be64add3", "metadata": {}, "outputs": [], "source": [ "high_auc_gene = exp_genes[exp_genes['avg_rank'] > 0.8]['genes'].tolist()" ] }, { "cell_type": "code", "execution_count": 56, "id": "1b0412f8", "metadata": {}, "outputs": [], "source": [ "df_gene_tp_sel = df_gene_tp[df_gene_tp.index.isin(high_auc_gene)]" ] }, { "cell_type": "code", "execution_count": 1, "id": "45f15b2c", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'df_cre_1kb_encode' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcre_bins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf_cre_1kb_encode\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf_cre_1kb_encode\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'cre'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'bin_id'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'df_cre_1kb_encode' is not defined" ] } ], "source": [ "cre_bins = df_cre_1kb_encode[df_cre_1kb_encode['cre']>1]['bin_id'].tolist()" ] }, { "cell_type": "code", "execution_count": 58, "id": "0de2442f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.3577666666666666" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(cre_bins)/30000" ] }, { "cell_type": "code", "execution_count": 59, "id": "3db81ed4", "metadata": {}, "outputs": [], "source": [ "df_gene_tp_sel = df_gene_tp_sel[cre_bins]" ] }, { "cell_type": "code", "execution_count": 60, "id": "a6250dd2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(8060, 8060)\n", "(8060, 70733)\n", "0.9918145225751795\n", "0.0\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ ":133: RuntimeWarning: invalid value encountered in true_divide\n", " roc = (p / n_p - (n_p + 1) / 2) / n_n\n" ] } ], "source": [ "df_2d_jac, go_chrom = run_egad(df_gene_tp_sel, df_exp_corr)" ] }, { "cell_type": "code", "execution_count": 61, "id": "0b78ef20", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 62, "id": "3bc709be", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/grid/gillis/home/lohia/.conda/envs/hicexplorer/lib/python3.8/site-packages/seaborn/_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", " warnings.warn(\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" }, { "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", "sns.scatterplot(df_2d_jac['AUC'], df_2d_jac['DEGREE_NULL_AUC'])\n", "plt.plot([0, 1], [0, 1], c='black')\n", "plt.axvline(x=df_2d_jac['AUC'].mean(),c='black',ls='--')\n", "plt.axhline(y=df_2d_jac['DEGREE_NULL_AUC'].mean(), c='black', ls='--')" ] }, { "cell_type": "code", "execution_count": 47, "id": "61aad2ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5637896331194727" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_2d_jac['AUC'].mean()" ] }, { "cell_type": "code", "execution_count": 63, "id": "8f7a2bdd", "metadata": {}, "outputs": [], "source": [ "df_t = df_2d_jac.merge(df_gene_tp_sel.sum().reset_index(), left_on=df_2d_jac.index, right_on='index')\n" ] }, { "cell_type": "code", "execution_count": 26, "id": "18ab45d4", "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", "
AUCAVG_NODE_DEGREEDEGREE_NULL_AUCP_Valueindex0
00.54864810432.2513300.5000192.071635e-02177492147
10.59345410135.5782460.4425645.234711e-0217755726
20.53645410060.6682460.4078402.975338e-0117756520
30.62454310300.1791060.4781415.764654e-07177566127
40.46189710385.4440570.5161286.432477e-02177580129
.....................
78760.60138910454.0277720.5109801.831122e-08163474249
78770.56014910544.3219320.5298884.074555e-03163477159
78780.52562910027.9083660.4159762.571734e-0116355760
78790.66011110531.9339670.4986883.683678e-0316356232
78800.69296910628.6372470.5471721.431164e-17163634162
\n", "

7881 rows × 6 columns

\n", "
" ], "text/plain": [ " AUC AVG_NODE_DEGREE DEGREE_NULL_AUC P_Value index 0\n", "0 0.548648 10432.251330 0.500019 2.071635e-02 177492 147\n", "1 0.593454 10135.578246 0.442564 5.234711e-02 177557 26\n", "2 0.536454 10060.668246 0.407840 2.975338e-01 177565 20\n", "3 0.624543 10300.179106 0.478141 5.764654e-07 177566 127\n", "4 0.461897 10385.444057 0.516128 6.432477e-02 177580 129\n", "... ... ... ... ... ... ...\n", "7876 0.601389 10454.027772 0.510980 1.831122e-08 163474 249\n", "7877 0.560149 10544.321932 0.529888 4.074555e-03 163477 159\n", "7878 0.525629 10027.908366 0.415976 2.571734e-01 163557 60\n", "7879 0.660111 10531.933967 0.498688 3.683678e-03 163562 32\n", "7880 0.692969 10628.637247 0.547172 1.431164e-17 163634 162\n", "\n", "[7881 rows x 6 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_t" ] }, { "cell_type": "code", "execution_count": 64, "id": "3373c21f", "metadata": {}, "outputs": [], "source": [ "df_t['quintile'] = pd.qcut(df_t[0] , 10, labels=np.arange(10, 0, -1))\n", "\n" ] }, { "cell_type": "code", "execution_count": 65, "id": "93502c98", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/grid/gillis/home/lohia/.conda/envs/hicexplorer/lib/python3.8/site-packages/seaborn/_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", " warnings.warn(\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.boxplot(df_t['quintile'], df_t['AUC'])\n", "\n" ] }, { "cell_type": "code", "execution_count": 34, "id": "aae13296", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'kl' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mkl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'kl' is not defined" ] } ], "source": [ "kl" ] }, { "cell_type": "code", "execution_count": 31, "id": "f3410979", "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", "
AUCAVG_NODE_DEGREEDEGREE_NULL_AUCP_Valueindex0quintile
50.61639310677.1105810.5749542.229388e-6817759119831
140.66338910572.3408110.5441119.583433e-10517771615361
150.70715310588.8458150.5397165.304060e-17417773116041
180.70747810582.9089730.5417112.018835e-23417773522061
230.59815810705.3178710.5886702.556946e-6317776326361
........................
77610.64228010809.8336240.6107192.569722e-12215695424421
77660.52647010515.7064320.5290046.451476e-0415699612771
77690.51880310666.1000790.5771768.463337e-0415708925031
77740.57720610723.2433490.5917328.175634e-3815716324671
77780.70211310578.2503680.5377833.649385e-18815721718391
\n", "

787 rows × 7 columns

\n", "
" ], "text/plain": [ " AUC AVG_NODE_DEGREE DEGREE_NULL_AUC P_Value index 0 \\\n", "5 0.616393 10677.110581 0.574954 2.229388e-68 177591 1983 \n", "14 0.663389 10572.340811 0.544111 9.583433e-105 177716 1536 \n", "15 0.707153 10588.845815 0.539716 5.304060e-174 177731 1604 \n", "18 0.707478 10582.908973 0.541711 2.018835e-234 177735 2206 \n", "23 0.598158 10705.317871 0.588670 2.556946e-63 177763 2636 \n", "... ... ... ... ... ... ... \n", "7761 0.642280 10809.833624 0.610719 2.569722e-122 156954 2442 \n", "7766 0.526470 10515.706432 0.529004 6.451476e-04 156996 1277 \n", "7769 0.518803 10666.100079 0.577176 8.463337e-04 157089 2503 \n", "7774 0.577206 10723.243349 0.591732 8.175634e-38 157163 2467 \n", "7778 0.702113 10578.250368 0.537783 3.649385e-188 157217 1839 \n", "\n", " quintile \n", "5 1 \n", "14 1 \n", "15 1 \n", "18 1 \n", "23 1 \n", "... ... \n", "7761 1 \n", "7766 1 \n", "7769 1 \n", "7774 1 \n", "7778 1 \n", "\n", "[787 rows x 7 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_t[df_t['quintile'] == 1]" ] }, { "cell_type": "code", "execution_count": null, "id": "84d10361", "metadata": {}, "outputs": [], "source": [ "kl" ] }, { "cell_type": "code", "execution_count": null, "id": "9f4f1efd", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "hicexp", "language": "python", "name": "hicexp" }, "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.10" } }, "nbformat": 4, "nbformat_minor": 5 }