Last active
October 15, 2024 14:56
-
-
Save flying-sheep/b2ae449ab70a9358e07a82f284de5dca to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/data/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"id": "48fbf2b0", | |
"metadata": {}, | |
"source": [ | |
"## Cell cycle scoring vignette testing score_genes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "37c3aa50", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import scanpy as sc\n", | |
"from matplotlib import rcParams\n", | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "4d7232fb", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"-----\n", | |
"anndata 0.10.9\n", | |
"scanpy 1.10.3\n", | |
"-----\n", | |
"Cython 3.0.11\n", | |
"PIL 10.4.0\n", | |
"asttokens NA\n", | |
"charset_normalizer 3.3.2\n", | |
"comm 0.2.2\n", | |
"cycler 0.12.1\n", | |
"cython 3.0.11\n", | |
"cython_runtime NA\n", | |
"dateutil 2.9.0.post0\n", | |
"debugpy 1.8.5\n", | |
"decorator 5.1.1\n", | |
"executing 2.1.0\n", | |
"h5py 3.11.0\n", | |
"igraph 0.11.6\n", | |
"ipykernel 6.29.5\n", | |
"jaraco NA\n", | |
"jedi 0.19.1\n", | |
"joblib 1.4.2\n", | |
"kiwisolver 1.4.7\n", | |
"legacy_api_wrap NA\n", | |
"leidenalg 0.10.2\n", | |
"llvmlite 0.43.0\n", | |
"louvain 0.8.2\n", | |
"matplotlib 3.9.2\n", | |
"matplotlib_inline 0.1.7\n", | |
"more_itertools 10.5.0\n", | |
"mpl_toolkits NA\n", | |
"natsort 8.4.0\n", | |
"numba 0.60.0\n", | |
"numpy 2.0.2\n", | |
"packaging 24.1\n", | |
"pandas 2.2.3\n", | |
"parso 0.8.4\n", | |
"patsy 0.5.6\n", | |
"pkg_resources NA\n", | |
"platformdirs 4.3.3\n", | |
"prompt_toolkit 3.0.47\n", | |
"psutil 6.0.0\n", | |
"pure_eval 0.2.3\n", | |
"pydev_ipython NA\n", | |
"pydevconsole NA\n", | |
"pydevd 2.9.5\n", | |
"pydevd_file_utils NA\n", | |
"pydevd_plugins NA\n", | |
"pydevd_tracing NA\n", | |
"pygments 2.18.0\n", | |
"pyparsing 3.1.4\n", | |
"pytz 2024.2\n", | |
"scipy 1.14.1\n", | |
"seaborn 0.13.2\n", | |
"session_info 1.0.0\n", | |
"six 1.16.0\n", | |
"sklearn 1.5.2\n", | |
"stack_data 0.6.3\n", | |
"statsmodels 0.14.3\n", | |
"texttable 1.7.0\n", | |
"threadpoolctl 3.5.0\n", | |
"tornado 6.4.1\n", | |
"traitlets 5.14.3\n", | |
"vscode NA\n", | |
"wcwidth 0.2.13\n", | |
"zmq 26.2.0\n", | |
"-----\n", | |
"IPython 8.27.0\n", | |
"jupyter_client 8.6.2\n", | |
"jupyter_core 5.7.2\n", | |
"-----\n", | |
"Python 3.12.7 (main, Oct 1 2024, 11:15:50) [GCC 14.2.1 20240910]\n", | |
"Linux-6.11.3-zen1-1-zen-x86_64-with-glibc2.40\n", | |
"-----\n", | |
"Session information updated at 2024-10-15 16:49\n", | |
"Running Scanpy 1.10.3, on 2024-10-15 16:49.\n" | |
] | |
} | |
], | |
"source": [ | |
"sc.settings.verbosity = 3 # verbosity: errors (0), warnings (1), info (2), hints (3)\n", | |
"sc.settings.set_figure_params(dpi=80) # low dpi (dots per inch) yields small inline figures\n", | |
"sc.logging.print_versions()\n", | |
"sc.logging.print_version_and_date()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "3b0d2c95", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"adata = sc.read_csv('data/nestorawa_forcellcycle_expressionMatrix.txt', delimiter='\\t').T" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "54c33f88", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"cell_cycle_genes = [x.strip() for x in open('data/regev_lab_cell_cycle_genes.txt')]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "701d7192", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"s_genes = cell_cycle_genes[:43]\n", | |
"g2m_genes = cell_cycle_genes[43:]\n", | |
"cell_cycle_genes = [x for x in cell_cycle_genes if x in adata.var_names]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "aef42cbe", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"filtered out 443 genes that are detected in less than 3 cells\n", | |
"normalizing by total count per cell\n", | |
" finished (0:00:00): normalized adata.X and added\n", | |
" 'n_counts', counts per cell before normalization (adata.obs)\n" | |
] | |
} | |
], | |
"source": [ | |
"sc.pp.filter_cells(adata, min_genes=200)\n", | |
"sc.pp.filter_genes(adata, min_cells=3)\n", | |
"sc.pp.normalize_per_cell(adata, counts_per_cell_after=1e4)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "8ecc3f73", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"sc.pp.scale(adata)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "57b468a9", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"WARNING: genes are not in var_names and ignored: Index(['MLF1IP', 'GMNN'], dtype='object')\n" | |
] | |
} | |
], | |
"source": [ | |
"import scanpy.tools._score_genes as score_genes\n", | |
"\n", | |
"gene_list, gene_pool, get_subset = score_genes._check_score_genes_args(adata, s_genes, None, use_raw=False)\n", | |
"bins = list(score_genes._score_genes_bins(gene_list, gene_pool, ctrl_as_ref=False, n_bins=25, ctrl_size=50, get_subset=get_subset))\n", | |
"mean_list = np.array([score_genes._nan_means(get_subset(genes), axis=1, dtype=\"float64\").mean() for genes in bins])\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"id": "1c06c97e", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0.5, 1.0, 'Mean expression value in each bin')" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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PGiznXnz5uX6jNy4caMRHBxss72qVavabc+Ro0eP5noeOMPyOGb16tW5lh0/ftzuc83y3+DBg40rV67Y7MeZ4wVn368MI/frIiYmxmacq77DOcvRNtz8el68eLEREBBgM6/GjRsb586dK3RehnHjuDUsLMzhY1GvXj1j3759Ntt59dVXnXpO+Pv7G5GRkQ7zys7ONl5//XWnPj/69u2bZ/3iekxdXXNw5+eOKzCgEBx6+umn9dFHH+nUqVNavny5Jk+erNatWxd3WrmcPn1aDz30kC5evKhHH31UnTt3VkBAgPbv36+PPvpIly5dUmxsrCZNmqS//e1v6tatm9LT0xUREaF27drJ399fP/30kz7++GMlJydrz549mjRpksNfwqUbg+Fs2rRJ9evX14gRIxQaGqrLly9r7dq1Wr16tQzD0IwZM+Tr66tp06ZZbSMuLk5t27Y1f0EODQ3VI488okaNGsnX11cnT57UypUrtWPHDu3Zs0cdOnTQnj17VKFCBbu5DRs2TJs3b1bjxo01ZMgQNWzYUKmpqfr+++/l7e2d78d52bJlGjx4sHk2RNu2bTVw4EDVqFFDCQkJWr16tTZu3Khr165p/PjxunbtmiZPnmyuX6lSJa1atUqStHTpUn3xxReSpAkTJqhLly75zudms2bNMkdgl6QuXbqoX79+qlSpkuLi4rRixQrFxsbqoYceUpkyZRy2t3HjRvXu3dv8dbFjx47q0aOHateuLcMwdPDgQS1cuFCnTp1SZGSkkpOTtXr1artngyYnJ6tnz546ePCgunTpooceekhVq1ZVUlKSli5dqq1btyojI0MjR45Uq1atbI5au3DhQo0aNUrZ2dkqUaKEevTooa5du6p69eq6fv269u7dq4ULFyoxMVHTp09XWlqaPvjggzzthIWF6cCBA5KkunXravDgweYvc1euXNFvv/2mnTt3OvWLtSu98sorioyMVI0aNTR8+HA1adJEkvT999/r888/V3p6ulauXKl3331XL774YqH62r9/vzp06GCezdyyZUs9/PDDql+/vnx8fHT06FEtWbJEBw8e1Pr169W9e3fFxsbK19c3T1tXr16Vv7+/OnTooLvuukv16tVTYGCgrl+/rt9++03/+c9/tGvXLp08eVIPPPCAfvrpJ5tnPiUnJ6t9+/bmWSolS5ZUv3791KFDB1WqVEnXrl3TkSNHtHnzZm3bts3hWUq38jHNcfnyZT388MP6/fff1b59e4WFhalKlSo6c+aMoqKitHv3bl29elXDhg1TUFCQHnzwwUL3WRzbCfwZjB49WjNnzlRmZqYWLFig559/Pk9MzlmdVapUUa9evfTTTz851barPrOys7OVlpamkJAQdenSRc2bN1fNmjVVunRppaSk6JdfftHy5ct18uRJbdq0Sf3799emTZscHvO46rPZWa+//rpefvllSVKpUqXUt29f3XfffapcubKuXr2q7du3KzIyUqmpqXruuedkGIaee+65XG3cddddmj59uiZOnKirV69q0KBB2rlzp0qXLm3GpKena+DAgeZVK9OmTdO9995rN7f//ve/WrVqlUqVKqVRo0apXbt28vHx0U8//aTPP/9cFy5c0P79+9W5c2ft3r3b4fHU9OnTtWbNGlWsWFEjRozQHXfcoRIlSmjfvn3m2cKS+xzXjB07Vlu2bJEkVa5cWUOHDjXPgLx27ZpOnjyp3bt369tvv7W73fYYhqEBAwbo66+/lnTj833o0KHq0KGDSpcurV9//VXz58/XqVOndPjwYd17773atWuXGjRoYLfdn3/+We+++66uX7+uYcOGqWPHjgoKCtKJEyc0d+5cHT9+XHFxcRo4cKD27t0rH5/8lwIaNGigdu3a6fvvv9f+/fu1Z88eu/fOv3z5sr766itJUkhIiHr27Jlr+fXr15WZmakaNWqoS5cuatq0qapWrSp/f39dunRJP/30k5YtW6b4+HgtXbpU3t7eioyMzHfeRaWovsO5SnR0tJYvXy5fX189/vjjuvvuu1W6dGkdOnRIn3zyic6fP69ff/1Vo0aNcnhLEkdSU1N133336eeff5Yk1ahRQwMHDlSzZs0UEBCguLg4/fe//9XGjRv122+/qUOHDvrxxx9Vv379PG1dvXpVJUqUUKtWrdS+fXuFhoaqfPny8vLy0tmzZ7Vlyxb997//1bVr1zR8+HCFhISoe/fuNnMbNWqUFixYYM537NhRPXv2VK1atZSdna3Tp09r27ZtWr9+vcPj6Vv5mFpyRc0hP4prOwul+OqqcFf6/5X4nF/yDcMwFixY4LDSX5xnbkoyypUrZ2zfvj1P3IEDB8xfaUqWLGnccccdRo0aNYxDhw7lif3pp5/MX8F9fHyM8+fPW+3b8lcUSUa/fv2s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zyzLe4k5uorkH//4h1ve3qhFixbmF85t27bluj9mQb366qvmwIf33HOPpk2bJi8vLy1atEhVq1aVdONzxNkzDA8dOmS3YHDo0CH997//lXSjWNizZ89C5e+JxzWFWf/uu+82B1n6+eef7RaCUlNTNXPmTHM+vwO13AoDBw40X5uLFy9WVlaWFixYYC63PM66mbOvacMw9NJLL7kgW+n222+XdGNkbXvHYuvWrdP+/fvttuUp3+FuBcsi95tvvlmoe3A6+7w4cuRIrueaNQ8++KB5+7ytW7c6LIa6s8LWHP4KKG6iwMaPH2+eLffll186PC3cx8dH3bt3l3Tj7DpbBbKFCxc6LD65k1OnTmn48OHm/XAsffXVV3r77bcl3bgpr7Vfzvv166f77rtP0o1fJfv37+/wl8mffvpJjz/+uAuyd96ECRPM+3wsX75cb731ltW4+fPnmwdiPj4+hS4YOWv8+PHmTes///xzzZkzx2rcu+++q5UrVzps7+9//7t58/P3339fL730kt1LTrKysrRmzZpcv+YXlWnTppk/FEyePFkfffSR3WJaenq6vvjiizxfGCIjIzV37txc90e9WWpqqubNm2fOt2jRopDZu5cnnnjCHH1w1apVGj16tN17YBmGoe+++87qa7lt27aSbvxy+uabb1pdf82aNRo3bpzDvFq1amUW+i5evKgHHnjA7pmlv//+u/lrrbtZsWKF1R8cDMPQiy++qO+++07SjctnHn300VudHgAbOnXqpO3bt5v3KyxXrlyB2nHVZ1bjxo3Ny0D/+9//Wj1jLjs7W//85z/d9v7QXl5emj59unmG+qOPPupwdPDU1FTNnTtXS5YsybNs06ZN5n0Iy5cvr6VLl5pnyYWEhGjx4sXmWZHh4eE6efKkU3mOHj3a6iWc58+fV1hYmHk8NGbMmFxXZhWUuxzXREdHa8aMGUpKSrK5fkZGhmbPnm11fWfcfGw8cuRI/fzzz3nirl69qiFDhphnGLZp08b8HuVOypQpowEDBki6ccbdRx99pNjYWEk3jmWaNm1qc93WrVubr4VPP/3U6mX6169f1xNPPKGNGze6JN9evXqZ088++6zVY/s9e/bYvE+oJU/5DncrtGzZ0jyGO3HihB588EGHtxE4evSonn32WcXHx+f6e87xtHTjPsvWfkA4duyYevfubZ4hbIu/v79eeeUVc37o0KFau3atzfjk5GSXPddcrbA1h78CBhRCgZUqVUrTpk0zf8m390tCjhdeeEFff/21srOz9corr2jnzp16+OGHFRQUpDNnzmj16tXaunWrbr/9dpUqVcptv6xbGjBggFauXKmff/5ZI0eOVIMGDZScnKy1a9fmOv39xRdf1F133WW1jRUrVujee+/V8ePH9c0336hOnTrq37+/7r77boWEhCgjI0OJiYk6cOCAYmJidOzYMXl7e9ss4BWFqlWrau7cuRo8eLAMw9Df/vY3ffXVVxo0aJCqV6+uhIQEffXVV1q/fr25zltvvXXLTomvW7eu3n77bT399NMyDENjx47VsmXL1LdvX1WuXFnnzp3TihUrFBsbq9DQUJUpU0Z79uyxeQls5cqV9eWXX+rBBx/U1atXNW3aNM2fP18DBgzQHXfcoaCgIF29elVnz57Vzz//rA0bNigpKUldu3Z1yc3w7WnatKkWLFigoUOHKjMzU+PHj9fMmTPVt29f3X777SpTpoxSU1N16tQp7dmzR99++61SUlI0evToXO0cO3ZMr776qiZMmKDOnTurdevWqlevnnlT8IMHD2rp0qXm5SHt2rVT586di3TbbjU/Pz/997//Vfv27ZWYmKjPP/9cq1ev1iOPPKJWrVqpQoUKSk9P1x9//KH9+/dr48aNOnv2rOrXr5/njMRnn33WvHzs//7v/7Rp0yb17t1b1apV0/nz57VmzRqtW7dOPj4+euyxx7Ro0SK7uX366ac6ePCg+e/2229X//791aFDB4WEhCgtLU3Hjh3Tli1b9N1332nGjBluV3y+8847lZKSosmTJ+urr75SWFiYKleurLNnz2rJkiXatWuXpBtnS3/22We5btAP4M/BVZ9ZJUuW1IQJE/TGG28oMzNTXbt21bBhw3TPPfeoXLlyOn78uJYuXar9+/erWrVqatq0aa5jEndx//33a/r06Zo8ebJSU1M1cOBAtWjRQr1791bDhg3l7++vlJQU/fbbb/rxxx8VExOj9PT0PD+enj9/XsOGDTOvdJo3b16u+8tJUufOnfXyyy/r1Vdf1cWLFzVkyBBt3brV5mXC0o0rYVatWqW77rpLw4cPV7t27eTj46Off/5Zn376qS5cuCDpxuWirhrgxV2Oa+Li4jR58mS9+OKLat++vdq2bavQ0FAFBgYqOTlZx44d09KlS80TOho0aKDBgwfne3uffPJJrVu3Tl9//bUSEhLUpk0bDR06VB07dpS/v78OHTqkefPmmcXocuXKueUAWTlGjhyphQsXSrpxWwTLv9tTtWpVDRkyRFFRUUpJSVGLFi0UHh6uFi1aqHTp0vr111+1ePFi/fbbb2rWrJl8fX31448/FirXUaNG6Z133tEff/yh6Oho3XXXXRo5cqRq1qypCxcuKCYmRitWrJCfn5/69u3r8IxnT/gOd6v8+9//1tGjR7Vjxw7t2LFDoaGheuihh3TfffepatWqys7OVlJSkg4ePKjY2Fjt27dP0o1BOC2Fh4frzTff1OXLl7V27VrdfvvtGjFihOrWraurV68qNjZWS5YsUXp6ukaNGpXrxwprnnrqKf3www9avHixkpOT1bNnT3Xq1Ek9evRQrVq1ZBiGzpw5o+3bt2vdunW6//771a1btyJ7nArKFTWHPz0DuIkkQ5IREBDgMDY7O9to1aqVuU7OvxMnTthc57333jO8vLzyrJPz78477zR+//13o2PHjubfrImJiTGXjxgxwm6elrH/+Mc/nI611W7t2rXNmOTkZKNr1642t0eS8eyzzxrZ2dl2+71w4YIxYMAAu+1Y/qtdu7bD3IrC8uXLjaCgILu5+fn5GR9++KHddv7xj3+Y8fPmzXNZfm+99Zbh7e1tM7eGDRsav/76q9GuXTtDkhEYGGi3vf379xt33HGH0/vF2nPmxIkT5vKOHTs63IYRI0Y49VrasmWLUbduXafy8vLyMl555ZVc60+dOtXp7erWrZuRmJjoMHdbnHkNWr7m7W23s+3lx6lTp4xOnTo5/XjY2o9vvvmm3fe3MmXKGFFRUca8efOcev5fvHjR6Nu3r1M5zZw5M8/6xfGY3vx8P3DggN3naenSpY0lS5YUKq/ifO4AnirndeDM8Z4tu3btcvrzrbCfWYZhGNevXzceeughu+vWq1fP2Lt3r8PP0qL6bHbWypUrjUqVKjn1eHh7extz5841183Kysp17Pn000/b7CcrKyvX59uUKVPyxNx8TDZz5kzDx8fHZj5NmzY1zpw5Y7NPy8cqJibG6cekuI9r5s+f7/T6LVq0sPk8cOZ5lZ6ebowaNcphP6GhocYvv/xisx3L4wlnPtNyvifY+h5RENnZ2UadOnVy5V2qVCkjKSnJ4bqXL1827r77boePdX6/G9p7LLZu3WoEBgba7C8kJMTYuHFjrteFveexq77DOcvR8yu/37Hy8z7oyLVr14xx48bZ/S5m+S84ONhISEjI086GDRuMsmXL2n39P/fcc8Zvv/1m/s1ePSArK8t46aWXjFKlSjnMqV+/fnnWL67H1NU1B3d+7rgCZ26iULy8vPTOO++oa9euTq/zzDPP6J577tHMmTP13XffKT4+XmXLllWjRo00ZMgQjRkzxhzJzhOULVtW69ev18KFC7Vo0SL98ssvunjxokJCQtS+fXs99dRT5iUL9pQvX14rVqzQzz//rEWLFmnr1q36/fffdenSJfn4+Cg4OFihoaFq27atunfv7lSbReGRRx5Rly5dNHv2bK1du1aHDx/WpUuXVLZsWdWrV0/du3fXE088kWv0y1vphRdeUI8ePfTBBx/o22+/VVxcnMqUKaP69evrkUce0bhx41S2bFnzspGKFSvaba9p06bau3ev1qxZo1WrVumHH35QXFyckpOTVbp0aVWpUkWNGzdW+/bt1atXLzVp0uRWbKakGzfJPnLkiFasWKGvv/5aO3fu1Pnz53XlyhUFBASoRo0auv3229WhQwf17t3bvI1Ejv/7v/9Tly5dFBMTo507d+rw4cOKi4tTWlqaSpcurZo1a6p169YaMmSIOTDBn1XNmjUVExOj7777Tl988YViY2N15swZXbp0SX5+fqpUqZIaNWqke+65Rz169LD5i+iLL76oDh06aObMmfr+++8VHx+vMmXKqGbNmurRo4fGjh2runXrmjfdd6RcuXJatWqVtm/froULF2rr1q06e/asUlJSFBAQoDp16qht27Z66KGHbI5GWtxuv/127d27Vx999JFWrlypEydO6Nq1a6pRo4Z69Oih5557Ls9zE8CfT2E/s6QbZ2+uXr1aUVFRmjdvnvbu3auUlBRVqFBBDRs2VL9+/TRmzBjz8nV31r9/f/Xo0UOLFy/WunXrtGfPHiUkJCgtLU1ly5ZVrVq11KxZM3Xq1Em9e/dW5cqVzXWnTZumb7/9VtKNS3/t3c6pRIkSioqK0p133qn4+Hi9++676ty5s93PjKefflrt27fXRx99pM2bN+vcuXPy9/dX48aNNWTIEI0dO7ZI7udW3Mc1w4cP1+23365NmzZpx44d+vXXX3XmzBldvXpVfn5+qlatmlq2bKlHHnlE/fv3Ny/5L4hSpUrp888/1xNPPKHPPvtMW7Zs0dmzZ5Wenq6QkBC1bNlS/fr102OPPWb3TFt34OXlpREjRujVV181/9anTx+nblkQGBiorVu3au7cuYqKitKBAwd09epVhYSEqEmTJgoLC9OoUaNc+ny777779Msvv+jdd9/VunXrdOrUKfn4+Kh27drq27evxo8fr8qVK5u3zXHEU77D3Qp+fn765JNPNHnyZM2fP1+bN2/WsWPHdOHCBZUoUULly5dXw4YNddddd+n+++9X165dre7bbt26af/+/ZoxY4aio6N16tQpeXt7q2rVqurQoYPCw8PVrl07h5e+5yhRooT++c9/asyYMZo7d642btyo48eP6+LFiypVqpSqVaumO++8Uw8++GCucSbciatqDn9mXoZh54YmAPAndOHCBYWEhCg7O1t9+/b1+NHzAAAACmrq1KlmYWrevHlO3W8QAAB3woBCAP5yPvzwQ/MeVfk56xgAAAAAALgXipsA/jQuXrzocBCqRYsW6fXXX5d041KYxx577FakBgAAAAAAioB738ADAPLh/PnzatmypZo2bapu3bqpSZMmKl++vNLS0nT8+HH997//1e7du834WbNmKSgoqBgzBgDPERMTowULFig2NlZxcXEqVaqUatSooQcffFCPP/64GjZs6LK+srKydOjQIe3Zs0e7d+/Wnj179NNPPyklJUWS1LFjR23evLlA7UZFRWnp0qXat2+f4uPjVa5cOTVo0EB9+/bVmDFjVK5cOafbS0tL0+eff64VK1bo0KFDSkpKUsWKFdWoUSM98sgjCg8Pl5+fX77zBAAAgPMobgL40zlw4IAOHDhgc7mfn58+/PBDztoEACekp6crIiJCkZGRuf5+9epVXbp0SQcOHNCsWbP01ltvaeLEiS7pc+DAgfryyy9d0laOkydPKiwsTLt27cr19/j4eMXHx2vbtm16//33FRkZqc6dOzts76efftLAgQN19OjRXH+Pi4tTXFycYmJi9MEHH2jZsmVq3ry5S7cFAAAA/0NxE8CfRv369bVixQpFR0dr7969io+PV1JSkjIyMlSuXDk1atRIXbt21dixY3ONOgoAsM4wDA0bNkwrV66UJJUpU0bh4eFq3bq10tPTFR0drRUrVigtLU3PPPOMSpYsqSeffLLQ/WZlZeWaDwwMVI0aNXTw4MECtZeY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qkiSsrKytHv3brvt/fjjj8rOzpYkVatWTRUrVixUfgAAAMjL7c/cBAAAwK3Xs2dPc3rdunVmkc6a48eP68iRI5Ju3Jfyvvvuc0m/a9assRu7ZcsWXblyRZLUsGFDNWzYsMD9SlJMTIw5fdtttxU6P8vllusBAADAdShuAgAAII927dqpVq1akqSTJ09qxYoVNmNnzJhhTvfv319+fn4F7vehhx5SQECAJOm7776ze/amZb9Dhw4tcJ+SdOjQIS1cuNCc79Onj9U4y37mzJmjlJQUq3HJycmaO3euOT9s2LBC5QcAAADrKG4CAAAgjxIlSui1114z5ydMmKBDhw7liVuxYoVmz54tSfL19dUrr7xis81OnTrJy8tLXl5emjp1qtWYoKAgTZkyxZwfPny4zp07lyduxowZWrt2rSQpODhYzz77rNX2/vnPf2rfvn02c5Kk3bt368EHH1R6erokqVmzZurfv7/V2K5du6pz586SpPPnz2vUqFG6fv16rpjr168rPDxc58+flyR169ZNnTp1spsDAAAACsatR0sHAABA8Rk+fLhWr16t1atXKz4+Xm3atFF4eLhat26t9PR0RUdHa/ny5TIMQ5I0ffp01atXr9D9Pv/881q3bp22b9+uw4cP684779SYMWPUtGlTJScna9WqVYqOjpZ0497sc+fOVVBQkNW2Vq5cqVdeeUVNmjRR586d1aRJE1WoUEFeXl46e/asNm7cqHXr1pnbEBwcrGXLlsnb29tmfv/+97917733KjExUStXrlSLFi00atQo1axZU6dPn9a8efPM0dYrVapkFn8BAADgehQ3AQAAYJWXl5eWLFmi8PBwLVmyRCkpKZo5c2aeOF9fX73xxhuaMGGCS/r19/fXN998o8GDB2vDhg1KSEjQG2+8kScuMDBQs2fPVt++fR22efDgQbPgaEu7du00f/58NWjQwG5cw4YNFR0drYEDB+r48eM6ePBgrrNNLeOWLVum+vXrO8wPAAAABUNxEwAAADb5+fkpKipKERERmj9/vr7//nvFxcWpVKlSqlGjhh544AGNHTtWoaGhLu23QoUKWr9+vVatWqXFixdr165dOn/+vAICAlS7dm317t1bY8eOVfXq1e22ExkZqdjYWO3YsUP79+9XYmKikpKSlJ6erqCgINWpU0dt27bVoEGD8jUQUsuWLbV//359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aty4sfz8/BQaGqrIyEjNnj1b6enprnwLAAAAAAAAACyihqsqmjt3rqZOnapz584V2Zabm6t9+/Zp3759WrZsmZ555hn9+9//1g033FBqnQcOHNDAgQP1zTffOLyelpamtLQ0bdmyRfPmzVNcXJx69uzpqrcCAAAAAAAAwAJcltxMSUkxE5sNGzbUTTfdpM6dOys0NFTnz5/Xt99+q0WLFunUqVPau3evevfurc8//1zXX399sfWdOHFCN998s1JSUiRJTZo0UUxMjFq3bq20tDTFx8dr69atOnLkiPr166fExER17tzZVW8HAAAAAAAAgJdzWXLTZrOpV69emjhxonr37q3q1as7bB82bJimTp2qO+64Q19//bWys7M1YsQI7dmzR9WqFX06fsqUKWZiMzIyUgkJCQoMDDS3jx07VuPGjdNrr72mM2fOaMSIEfr++++LtAsAAAAAAADg4uSyMTeff/55rVu3TrfeemuJCcaQkBAtW7ZMtWrVkiQlJydr06ZNRcqlpqYqNjZWkuTn56f4+HiHxKZ0IZk6d+5ctWvXTpL0448/Ki4uzlVvBwAAAP/ft99+qzFjxigiIkIBAQEKCAhQRESEHn30Ue3YsaPK2k1MTFR0dLRatWolf39/1atXT+3atdOkSZOUmprqVB2nTp3SBx98oNGjR+u6665TcHCwfHx8FBgYqMsvv1xDhgzRypUrlZ+f71R9NputXD9ZWVmV+RUAAACgDC5LbtavX9+pcpdddpm6d+9urv/www9Fynz44YcqKCiQJA0cOFBNmjQptq4aNWpo3Lhx5vrixYvLEzIAAABKYRiGJk2apC5duuiNN95QcnKysrKylJWVpeTkZP3rX/9S586d9fe//12GYbis3ZycHA0bNkxRUVF6//33tXfvXmVnZys9PV27d+/Wyy+/rPbt22v+/Pml1jNhwgSFhoZq8ODBevPNN7V161adPHlSeXl5On36tFJSUhQfH68777xTXbp00U8//eSy9wAAAAD3cNlj6eVhfxdmdnZ2ke0JCQnmct++fUutq0+fPuZyYmKizp49a94ZCgAAgIqbOHGiXnnlFUmSr6+vhg4dqm7dukmSNm3apLi4OJ0/f14zZ85UQUGBZs2aVek2DcPQkCFDtGzZMklSnTp1NHLkSHXu3Fk5OTlas2aNli5dqnPnzmn8+PHy8fHRmDFj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YjM4OFiPP/54sfWFh4dr+PDhkqScnBwNHjxYmZmZDmUMw9DEiRPNxGabNm00dOhQl7wfAAAAFOW1EwpJFzqgK1as0IoVK5SWlqYuXbpo5MiR6ty5s3JycrRmzRotWbJEhTefzp49u8yB3QEAAFC2Hj166LHHHtOrr76qs2fPKioqSsOGDTOH/9m0aZMWLVqk8+fPS5ImTJigyMjISrebnp6ul19+2eG1jIwMh+1PPfVUkf3sk7H2Jk+erNWrV+vrr79WcnKyrr76aj344INq27atMjMztXz5cq1Zs0bShbEx3377bQUFBZUY36xZs5SUlKRffvlFSUlJat++vWJiYtSqVSsdP35c8fHx+vrrryVJtWvX1nvvvVfmrOoAAACoOK99LL3QuXPnNHLkSH3wwQcllvHz89MLL7ygCRMmuDEyAACAi1vhXYjz588vcfzzatWqacKECZo1a5ZsNluJdUVHR+v999+XVPowQvaPoJc31pKcOnVK9913n9atW1dimcDAQC1YsED3339/mW3t27dPAwcO1LfffltimQYNGiguLk433XRTmfUBAACg4rw+uVlo/fr1io2N1ebNm3X06FH5+voqLCxMt9xyix5++GGFh4d7OkQAAICL0vbt2/XOO+8oMTFRhw8fliQ1atRIUVFRiomJUceOHcusw5PJzULLly/X4sWL9c033+j333+Xv7+/mjZtqttvv10PP/ywGjVq5HR7+fn5iouL00cffaQffvhBx48fV1BQkFq2bKm77rpLDz30kOrVq1fu9wEAAIDysUxyEwAAAAAAAADsee2EQgAAAAAAAABQGpKbAAAAAAAAACyJ5CYAAAAAAAAASyK5CQAAAAAAAMCSSG5WscTEREVHR6tVq1by9/dXvXr11K5dO02aNEmpqakei8swDKWmpuqjjz7SlClT1KtXL11yySWy2Wyy2Wxq1qyZx2KTpKysLK1YsULjx49Xt27dFBoaKl9fX9WpU0ctWrTQgAEDtHjxYuXk5Hgsxu3bt+uNN97QqFGjdO2116pFixYKDAyUr6+vgoODdd1112nChAnauXOnx2IsyVtvvWUea5vNphtvvNEjcURHRzvEUdbP66+/7pE4C+3Zs0dPPfWUOnfurAYNGsjX11ehoaFq3769oqOjFRsbq8zMTLfFM3369HL9/ux/9u/f77Y4JenQoUP6xz/+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rM6fP+/2eDZu3GguX3fddZKk//73v7rzzjvVqFEj+fn5KTQ0VD179tScOXPccqdhRbz99tvm8qBBgxw+9KpaZGSkQkJCJEnffvut3njjjWLL5eTk6JFHHjEHy54wYYJbJt4yDKPC+3rT9bo8nzs1atTQNddcU+y+KNv58+fNAe4l7/zc2bx5s3mu2Ww23XPPPR6OCFXNU31Prj2VUxV92JMnT6p3795q0KCBfH19Va9ePV155ZWKiYlxeFrhr8odfU3Oi4qryj4r50b5eOLv2DAMh+tiWe02bNhQYWFhkqS8vLxKTVB5MajKPmpycrK6d++ukJAQ+fj4KDg4WNdcc43+9re/adu2bS5rp7KYLd3F7O9Oat68eZnl7cv8/PPPVRLTxWrDhg366aefJEm+vr66+eabPRbL119/bT76l5ubq7S0NG3evFnLli0zO0tjxozR7bff7ta4Ch9Hz8rKUrNmzfTiiy+6tf3yWLdunbmck5OjrKws7du3T0uXLtW0adP0/vvvu2yWamfYX6gbNGigQYMG6eOPP3Yok5aWprS0NG3YsEEvv/yylixZoq5du7otxrJkZGRoyZIl5rq7H++pWbOm3nzzTd133306f/68xowZo3fffVd33323OVt6amqqOVu6zWbT5MmTNWXKFLfE17BhQ/3666+SLly727RpU2LZ3377zeEb4Z9++kn9+/ev8hjLYhiGwzfkzn7uJCUlSeJzp7zi4+OVkZEh6cJ1wZOzc65fv16ZmZmSLnRoDx8+rA0bNujTTz9VQUGBbDabXnzxRbVv395jMcI9PNH35NpTOVXVh83KynJI1KSnpys9PV179uzRwoULdcMNNyguLs6p43Uxquq+JudFxVV1n5Vzw3me+js+fPiwebNI9erV1bhxY6faPXTokNlux44dK9T2xaAq+6jHjh1zGObo5MmTOnnypHbu3Kl//vOfuuOOO7Rw4UKHIcY8geSmi/3xxx/msjMH175Menp6VYR0UcrOztbo0aPN9bFjx6pevXoei2fGjBn67LPPit121VVXaeLEiRo2bJibo5L+9a9/KTExUZL01ltvmY8MeBN/f39FRUWpS5cuatasmfz8/HT8+HF99dVXWrZsmc6ePatDhw6pd+/eWrp0qdsSSkePHjWXp02bpuTkZPn4+GjIkCHq3r27atWqpR9//FHvvvuujhw5omPHjql3797asmWLw7eXnrR48WLzkYS2bduad6C6U//+/bVhwwY9+uij+u6777R9+3Zt3769SLnBgwfriSeecOvvrnv37mZyMzY2VnfddVeJZd99912HdftrvSdlZWUpNzfXXOdzp+r8/vvvmjRpkrk+derUUh//rWqPPfaYOXTGn91www2aOnWqwyNbuHh5ou/JtafiqqoP26BBA/Xu3VvXXHONGjZsKEk6dOiQ1q1bp3Xr1skwDG3ZskXXXnuttmzZolatWlW6TatwV1+T86LiqrLPyrlRPp76O7b/LAsKCpKPj49b2r0YVGUftVmzZurVq5euuuoqXXrppcrNzdX+/fuVkJCgLVu2SJJWrlypG264QVu2bPFsgtNTMxldrHx8fMxZpVJTU8ss/9Zbb5nlb775ZjdEWDJvmS29LAUFBcbdd99txtq6dWsjMzPTozH17dvXYXaywp+goCBj0qRJxu7du90e06+//mrOcjdy5Mgi271htvRvvvmm1Fmxjxw5YvTo0cOMs3bt2sahQ4fcEtvll1/ucCzr1q1rbNu2rUi5jIwMo2vXrma59u3bGwUFBW6JsSxXX321Gderr77q0Vi2bNlidO/evdjzRJLh4+Nj9O/f30hJSXFbTF9//bVDDHPnzi223KpVqwxfX1+Hsg899FCVxFTe6/Dhw4cd4srNzS1znyeffLJS7+NinC29LOfOnTOuv/56s96uXbs69buuyhivvPLKYs+lBg0aGNOnT3fLrMDwDp7oe3ri2nMxqKo+7Jdffmnk5+eXuP3rr782Gjdu7DALdWnlLybu7GtyXlRcVfVZOTes0bc0DMPYvHmzWUejRo2c2mfw4MHmPi+88EKF2nUnK/RR7SUmJpa6/dNPPzXq1q1rtn3HHXe4pN2KYsxNWM7EiRP1n//8R5IUEBCgpUuXKiAgwKMxffrppzIMQ4ZhKDs7W8nJyfrnP/+p+vXra/bs2brmmmv06quvui0e4/8/jn7mzBk1bNhQc+bMcVvb5dGpUyfVqVOnxO0NGzbUZ599Zs78lp2drZkzZ7olNuNP4zHOnj272Nv7AwMD9dFHH6lmzZqSLowzs379erfEWJrt27dr586dki48Hj506FCPxJGenq6+ffvqhhtu0NatW/XUU09p9+7dOnv2rM6cOaPt27fr0UcfVX5+vpYvX65rr71WGzZscEts1157rcaOHWuuT5gwQd26ddO8efO0ZMkSvfXWW7rnnnvUp08fnT9/Xi1btjTLevKOPbhXfn6+hg4dqq+++krShevShx9+qBo1PPvwy+7du83PnTNnzmjXrl2aNWuWCgoKNH36dLVr167IUBoAPKuq+rDdunUr9XPp2muv1erVq+Xr6ytJ+u6777RixYpKt2sF3tzXxAVV2Wfl3MDFrKr7qDfeeGOp2/v27eswnMTKlSu1Y8cOl7RdEfx35mL2HRRnZuyyL+POiT6s6sknn9Qrr7wiSapTp44SEhK8bjyxWrVqKTw8XGPGjNGuXbvUvXt35ebmaty4cXrnnXfcEsPrr79uJojeeOMN1a1b1y3tVgV/f3899dRT5vrKlSvd0q79uezv71/qsAKXXXaZ7rzzTnPdfkwnT7EflH3AgAEeGbbh7Nmz6t69uxISEuTj46N169bpH//4h6688krVrFlTtWvXVseOHfX6669r8eLFki48kjJgwACdOnXKLTG+8sormjhxojmBUVJSkh5//HHde++9evjhh/Wf//xH1apV0/PPP69+/fqZ+9WvX98t8ZXlz/8U87njWgUFBYqOjtbSpUslXXi0bf369WrUqJGHI3NUu3ZttW3bVpMmTdKuXbvUpk0bZWVl6b777vOK6xGqlif6nlx7ys/TfdgrrrjCoS/jrv6UFbiqr8l5UTGe7rNybjjy1N9xeT/LXNWuVXlLH7VXr1666aabzHVPnj8kN13MPol04sSJMsvbl7FyAsodnnrqKXNCnMJOoTdN3lIcf39/xcbGmomTZ555plIzNDtj7969+vvf/y5Juvfeex2SblZlP7j7gQMHzDF5qpJ9x6pdu3by8/MrtXynTp3M5V9++aXK4nLGmTNn9MEHH5jr7p5IqNCCBQu0a9cuSdIDDzygbt26lVj2vvvuMz8YT548qffee88tMVavXl0vv/yyfvjhBz366KNq27atAgIC5Ovrq2bNmmnEiBHaunWrnnzySZ08edLcr0GDBm6Jryx16tRx+HaWzx3XKSgo0IgRIxQXFyfpf53GiIgID0dWuksvvdScLd0wDD399NMejghVzRN9T6495eMtfVj7/tRffWbhP3NFX5Pzovy8pc/KufE/nvo7tt8vIyNDeXl5bmnXirytj+ot5w8TCrlYRESEOUHFvn371LNnz1LL79u3z2FfFO/J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jRkzRpdddpl69eql9u3bKzQ0VLVq1dLp06eVkpKiVatWaefOneY+N910kyZPnuyW+Kzgu+++0/z589WgQQPdfPPNat++vRo0aCA/Pz+dOHFCX331lZYuXWpOjlStWjW9//77atKkidti7NSpk5555hlNnz5d6enpuuGGGzR06FD16NFDNWvW1I8//qiFCxeaY0tecsklio2NdVt8f7Z06VJzTNdWrVqVOalEVbvppps0dOhQc8Dr559/Xv/97381aNAgtWzZUgUFBdqzZ48WL17sMCD47Nmz3TYb+ZIlS/Tyyy8rKipKN9xwg5o3b64aNWro6NGj+uKLL5SQkGA+4jlu3DiNHTvWZW278jo8efJkrV69Wl9//bWSk5N19dVX68EHH1Tbtm2VmZmp5cuXa82aNZIujEv09ttvOzU2rCtj3LdvnxYuXOjwmv1QBPv27StSV7169TRx4sQqj2/EiBFatmyZJMnHx0ePP/64du7c6XANL05ERESZA7i7KsbVq1fr//7v/9SyZUtFRUWpbdu2Cg4Olq+vrzIyMrRnzx7997//VWpqqrnP8OHDNWTIkFLjw8XBU33Pqrr2WJUn+rDLli3T008/rSuuuEI9e/bUFVdcofr168tms+nw4cP6/PPPtXr1avPYBwcH6+OPP1b16tUr1J6VeKqvyXlRNnf0Wf+K54YV+pZlmTVrlpKSkvTLL78oKSlJ7du3V0xMjFq1aqXjx48rPj7eHJezdu3aeu+99xxmd/cWVuijlmbBggWaOXOmOnXqpK5duyoiIkL16tVTfn6+Dhw4oISEBG3atMks37JlS7377rsVbs8lPJpavYidPXvWuP/++x2y4n/+8fPzM+bMmeOR+Oy/NSjPjzvYfytanh93Ptr/wAMPOB2Xj4+PMXHiROPcuXNui88Znr5z0/7OhrJ+GjdubKxdu9btMRaaMWOG4evrW2qMERERxd4p407du3c343nppZc8Gkuh3NxcY+zYsebdQqX9+Pv7G2+++aZb45s6dWqZcQUFBRmvvvqqy9t29XX45MmTRu/evUvdNzAw0IiPj/dIjPbXHGd/yvpW21Xx2d9NUJ4fZx6/clWM5fls9Pf3N1588cUyny7AxcWVfU9n71AzjKq59liVq/uwztzpdNVVVzndTmRkpJGamlp1vwAv4+q+JueF61S2z8q5UTxv7ls6e+emYRjGr7/+anTs2LHUdhs0aGB8/vnn5f0VuY0391Hty5V052ZQUJDTbd15553GsWPHXPSbqzjvS3FfJGrWrKn4+HjFxMQoNjZWmzdv1tGjR+Xr66uwsDDdcsstevjhh71iAFiU36uvvqq77rpLmzZt0nfffae9e/fq+PHjysnJkb+/v4KDg9W2bVv16NFD9913nxo1auTpkL3O5MmT1aVLF23dulU7duzQsWPHdOLECWVlZalOnTpq0KCBOnXqpNtvv1133323RydwmTp1qu655x698847WrNmjQ4dOqTs7Gxdcskl6tixowYMGKAhQ4Z49FvDlJQUffnll5IufKsXHR3tsVjs1ahRQ6+++qoeeeQRvf/++0pKSlJKSooyMjJks9lUv359XXnllerVq5eio6MVGhrq1vhGjRqlSy65RBs3btRPP/2ktLQ0ZWdnKyQkROHh4br99ts1bNgwS0wEVr9+fa1du1bLly/X4sWL9c033+j333+Xv7+/mjZtqttvv10PP/ww1yOLWrp0qT7//HNt3rxZO3fu1L59+3Ty5Enl5uaqTp06Cg0NVbt27XTTTTfp3nvv1SWXXOLpkOFmnup7cu3xrLi4OCUlJWnr1q3atWuXTpw4oZMnTyonJ0dBQUFq1qyZrr32Wg0aNOgvN3mpJ/uanBclc1eflXOj8jz1d9y8eXNt3bpVcXFx+uijj/TDDz/o+PHjCgoKUsuWLXXXXXfpoYceYmb7KrR27Vp99dVX2rp1q3766Sfz/CkoKFDdunXVsmVLXX/99Ro6dKiuvvpqT4crSbIZxv+/DxsAAAAAAAAALKSapwMAAAAAAAAAgIoguQkAAAAAAADAkkhuAgAAAAAAALAkkpsAAAAAAAAALInkJgAAAAAAAABLIrkJAAAAAAAAwJJIbgIAAAAAAACwJJKbAAAAAAAAACyJ5CYAAAAAAAAASyK5CQAAAAAAAMCSSG4CAAAAAAAAsCSSmwAAAAAAAAAsieQmAAAAAAAAAEsiuQkAAAAAAADAkkhuAgAAAAAAALAkkpsAAAAAAAAALInkJgAAAAAAAABLIrkJAAAAAAAAwJJIbgIAAAAAAACwJJKbAAAAAAAAACzp/wFxeRHUF6BKXgAAAABJRU5ErkJggg==", | |
"text/plain": [ | |
"<Figure size 800x400 with 2 Axes>" | |
] | |
}, | |
"metadata": { | |
"image/png": { | |
"height": 360, | |
"width": 667 | |
} | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"rcParams['figure.figsize'] = 10, 5\n", | |
"fig, axs = plt.subplots(1, 2)\n", | |
"sns.barplot(x=range(len(bins)), y=list(map(len, bins)), ax=axs[0])\n", | |
"axs[0].set_title('Number of genes in each bin')\n", | |
"sns.lineplot(x=range(len(bins)), y=mean_list, ax=axs[1])\n", | |
"axs[1].set_ylim(-.1, .1)\n", | |
"axs[1].set_title('Mean expression value in each bin')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"id": "93bf0753", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"list(map(len, bins))" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "basic-scrna", | |
"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.12.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment