{ "cells": [ { "cell_type": "markdown", "id": "b971065a-12f6-46f6-91fc-db1ed436a1fe", "metadata": {}, "source": [ "# Assign NK cell annotations\n", "\n", "To assemble our annotations, we'll read our clustered Myeloid cell data and assign our expert annotations to those clusters. We'll then inspect the annotations in our UMAP projections, and output final labels for these cells.\n", "\n", "For NK cells, we have two groups of cells to label - Most of the NK cells were assigned labels at one resolution, and the CD56dim cells were assigned labels after additional, iterative clustering. So, we'll load both of these sets, remove iteratively clustered cells from the rest of the NK cells, assign identities based on clusters in each, and finally concatenate all of the cell barcodes." ] }, { "cell_type": "code", "execution_count": 1, "id": "230df7e0-86a6-456f-beef-ac9b5be3862c", "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.simplefilter(action='ignore', category=FutureWarning)\n", "warnings.simplefilter(action='ignore', category=RuntimeWarning)\n", "\n", "from datetime import date\n", "import hisepy\n", "import os\n", "import pandas as pd\n", "import scanpy as sc" ] }, { "cell_type": "markdown", "id": "28076c2f-be93-4537-a454-8beeafcd34fa", "metadata": {}, "source": [ "### Helper function\n", "\n", "This function makes it easy to pull csv files stored in HISE as a pandas data.frame" ] }, { "cell_type": "code", "execution_count": 2, "id": "4911fb2e-8593-4c76-be24-f5a204c3d16e", "metadata": {}, "outputs": [], "source": [ "def read_csv_uuid(csv_uuid):\n", " csv_path = '/home/jupyter/cache/{u}'.format(u = csv_uuid)\n", " if not os.path.isdir(csv_path):\n", " hise_res = hisepy.reader.cache_files([csv_uuid])\n", " csv_filename = os.listdir(csv_path)[0]\n", " csv_file = '{p}/{f}'.format(p = csv_path, f = csv_filename)\n", " df = pd.read_csv(csv_file, index_col = 0)\n", " return df" ] }, { "cell_type": "markdown", "id": "dd7aef57-d060-4176-944f-28a63b99092d", "metadata": {}, "source": [ "## Read subclustering results from HISE" ] }, { "cell_type": "code", "execution_count": 3, "id": "1cc80200-a137-4174-b3bc-01e0e71322d4", "metadata": {}, "outputs": [], "source": [ "cell_class = 'nk'" ] }, { "cell_type": "code", "execution_count": 4, "id": "f430e546-d54a-49f5-8d3b-8ee936246fe1", "metadata": {}, "outputs": [], "source": [ "h5ad_uuid = 'b2a3d1ba-312d-41ec-9e51-8ef4c33192fe'\n", "h5ad_path = '/home/jupyter/cache/{u}'.format(u = h5ad_uuid)" ] }, { "cell_type": "code", "execution_count": 5, "id": "154f4e71-7d40-4dc7-9c18-d05adb7049e5", "metadata": {}, "outputs": [], "source": [ "if not os.path.isdir(h5ad_path):\n", " hise_res = hisepy.reader.cache_files([h5ad_uuid])" ] }, { "cell_type": "code", "execution_count": 6, "id": "ee5bcd03-674a-4e11-beb1-aa67180ad020", "metadata": {}, "outputs": [], "source": [ "h5ad_filename = os.listdir(h5ad_path)[0]\n", "h5ad_file = '{p}/{f}'.format(p = h5ad_path, f = h5ad_filename)" ] }, { "cell_type": "code", "execution_count": 7, "id": "1449a68b-a3b6-43a1-8a1e-8f83d6a42d34", "metadata": { "tags": [] }, "outputs": [], "source": [ "adata = sc.read_h5ad(h5ad_file)" ] }, { "cell_type": "code", "execution_count": 8, "id": "8e14a410-a67d-4171-a110-cbc7050835a7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(160848, 1357)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "adata.shape" ] }, { "cell_type": "markdown", "id": "68818a13-cb35-42b4-9957-33d76dc5246d", "metadata": {}, "source": [ "## Read CD56dim subclustering results from HISE" ] }, { "cell_type": "code", "execution_count": 9, "id": "c495c5ea-9f75-47ee-864f-63d73a868862", "metadata": {}, "outputs": [], "source": [ "dim_uuid = '9b961a21-482c-44a6-ab08-823ed33257a4'\n", "dim_path = '/home/jupyter/cache/{u}'.format(u = dim_uuid)" ] }, { "cell_type": "code", "execution_count": 10, "id": "3be7ebc6-8bfa-45e0-ba8c-743ddaf87ff6", "metadata": {}, "outputs": [], "source": [ "if not os.path.isdir(dim_path):\n", " hise_res = hisepy.reader.cache_files([dim_path])" ] }, { "cell_type": "code", "execution_count": 11, "id": "1450af39-49cd-4947-ba30-b2d8c137520d", "metadata": {}, "outputs": [], "source": [ "dim_filename = os.listdir(dim_path)[0]\n", "dim_file = '{p}/{f}'.format(p = dim_path, f = dim_filename)" ] }, { "cell_type": "code", "execution_count": 12, "id": "bd0741ea-0aea-49eb-99eb-1ef681e3273a", "metadata": { "tags": [] }, "outputs": [], "source": [ "dim_adata = sc.read_h5ad(dim_file)" ] }, { "cell_type": "code", "execution_count": 13, "id": "2a376cd2-8d74-4260-a290-6ac86be459fa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(105676, 1587)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dim_adata.shape" ] }, { "cell_type": "markdown", "id": "df420289-dff4-49da-8abf-cad08ef4c7f7", "metadata": {}, "source": [ "## Subset non-CD56dim cells" ] }, { "cell_type": "code", "execution_count": 14, "id": "4b647a92-2812-46b5-940d-4c0d39bc5460", "metadata": {}, "outputs": [], "source": [ "drop_lgl = [not x for x in adata.obs['barcodes'].isin(dim_adata.obs['barcodes'])]" ] }, { "cell_type": "code", "execution_count": 15, "id": "b9f40b6a-d251-4b46-8e10-99087471b470", "metadata": {}, "outputs": [], "source": [ "nondim_adata = adata[drop_lgl].copy()" ] }, { "cell_type": "code", "execution_count": 16, "id": "f91223d5-aed5-4508-8b27-4f82f7b29867", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(55172, 1357)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nondim_adata.shape" ] }, { "cell_type": "markdown", "id": "95bd8d92-cb5a-408a-ac5b-7e74a38244a2", "metadata": {}, "source": [ "## Read non-dim annotations" ] }, { "cell_type": "code", "execution_count": 17, "id": "100bfc18-2c78-4b49-bd67-cf896bdbd93a", "metadata": {}, "outputs": [], "source": [ "anno_uuid = 'f4170e78-2989-4a86-b256-3360b7561e44'" ] }, { "cell_type": "code", "execution_count": 18, "id": "2c486e20-c91e-403a-a1b2-c4de65e4ea87", "metadata": {}, "outputs": [], "source": [ "anno = read_csv_uuid(anno_uuid)" ] }, { "cell_type": "markdown", "id": "74dfa1cc-115f-4375-be89-9cf9f6f79ec6", "metadata": {}, "source": [ "## Assign non-dim labels" ] }, { "cell_type": "code", "execution_count": 19, "id": "8d44c9d7-9915-47ca-a71c-0ad01c681654", "metadata": {}, "outputs": [], "source": [ "join_col = 'leiden_resolution_1.5'" ] }, { "cell_type": "code", "execution_count": 20, "id": "0ddefe94-0ab1-4f06-a97c-01f5645fd2c6", "metadata": {}, "outputs": [], "source": [ "anno[join_col] = anno[join_col].astype('string').astype('category')" ] }, { "cell_type": "code", "execution_count": 21, "id": "3fdcb8bb-b03d-4bcb-bbd3-6319650a4e95", "metadata": {}, "outputs": [], "source": [ "obs = nondim_adata.obs" ] }, { "cell_type": "code", "execution_count": 22, "id": "32e4816d-4c37-46c8-b0fa-da953d75d13b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "55172" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(obs[join_col].isin(anno[join_col]))" ] }, { "cell_type": "code", "execution_count": 23, "id": "e9dcb3a2-a816-4e3f-a34d-6dbd700460e1", "metadata": {}, "outputs": [], "source": [ "nondim_anno = obs.merge(anno, how = 'left', on = join_col)" ] }, { "cell_type": "code", "execution_count": 24, "id": "625de0d5-310a-439c-8aa7-d9b1afeb82c0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | barcodes | \n", "batch_id | \n", "cell_name | \n", "cell_uuid | \n", "chip_id | \n", "hto_barcode | \n", "hto_category | \n", "n_genes | \n", "n_mito_umis | \n", "n_reads | \n", "... | \n", "total_counts_mito | \n", "log1p_total_counts_mito | \n", "pct_counts_mito | \n", "leiden | \n", "leiden_resolution_1 | \n", "leiden_resolution_1.5 | \n", "leiden_resolution_2 | \n", "AIFI_L3 | \n", "AIFI_L1 | \n", "AIFI_L2 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001 | \n", "shrewd_chocolaty_xrayfish | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1229 | \n", "51 | \n", "8644 | \n", "... | \n", "51 | \n", "3.951244 | \n", "1.943598 | \n", "4 | \n", "3 | \n", "3 | \n", "3 | \n", "GZMK+ CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
1 | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001 | \n", "subocean_bold_oriole | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2005 | \n", "246 | \n", "18676 | \n", "... | \n", "246 | \n", "5.509388 | \n", "4.392073 | \n", "4 | \n", "8 | \n", "11 | \n", "13 | \n", "NK+T Doublets | \n", "NK cell | \n", "NK+T Doublets | \n", "
2 | \n", "cf7577c648b611ea8957bafe6d70929e | \n", "B001 | \n", "purply_religious_gelada | \n", "cf7577c648b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1374 | \n", "221 | \n", "10388 | \n", "... | \n", "221 | \n", "5.402677 | \n", "7.031499 | \n", "4 | \n", "7 | \n", "6 | \n", "6 | \n", "Adaptive NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
3 | \n", "cf774a9c48b611ea8957bafe6d70929e | \n", "B001 | \n", "cleverish_landpoor_tadpole | \n", "cf774a9c48b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1848 | \n", "69 | \n", "16561 | \n", "... | \n", "69 | \n", "4.248495 | \n", "1.351881 | \n", "4 | \n", "8 | \n", "11 | \n", "13 | \n", "NK+T Doublets | \n", "NK cell | \n", "NK+T Doublets | \n", "
4 | \n", "cf7a833848b611ea8957bafe6d70929e | \n", "B001 | \n", "inartistic_abusive_turtledove | \n", "cf7a833848b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1197 | \n", "138 | \n", "8657 | \n", "... | \n", "138 | \n", "4.934474 | \n", "5.369650 | \n", "4 | \n", "7 | \n", "6 | \n", "6 | \n", "Adaptive NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
5 rows × 56 columns
\n", "\n", " | barcodes | \n", "batch_id | \n", "cell_name | \n", "cell_uuid | \n", "chip_id | \n", "hto_barcode | \n", "hto_category | \n", "n_genes | \n", "n_mito_umis | \n", "n_reads | \n", "... | \n", "log1p_total_counts_mito | \n", "pct_counts_mito | \n", "leiden | \n", "leiden_resolution_1 | \n", "leiden_resolution_1.5 | \n", "leiden_resolution_2 | \n", "leiden_resolution_1.5_nk-cells-dim | \n", "AIFI_L3 | \n", "AIFI_L1 | \n", "AIFI_L2 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001 | \n", "observant_fathomable_barracuda | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "921 | \n", "37 | \n", "5216 | \n", "... | \n", "3.637586 | \n", "2.355188 | \n", "4 | \n", "1 | \n", "1 | \n", "0 | \n", "2 | \n", "GZMK- CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
1 | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001 | \n", "omniscient_slim_hoki | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2153 | \n", "117 | \n", "16241 | \n", "... | \n", "4.770685 | \n", "2.358395 | \n", "4 | \n", "0 | \n", "0 | \n", "1 | \n", "3 | \n", "GZMK- CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
2 | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001 | \n", "glossy_intimate_ladybug | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1497 | \n", "131 | \n", "9952 | \n", "... | \n", "4.882802 | \n", "4.069587 | \n", "4 | \n", "12 | \n", "15 | \n", "18 | \n", "10 | \n", "GZMK- CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
3 | \n", "cf7802de48b611ea8957bafe6d70929e | \n", "B001 | \n", "illbred_mobile_sable | \n", "cf7802de48b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1535 | \n", "172 | \n", "10832 | \n", "... | \n", "5.153292 | \n", "4.992743 | \n", "4 | \n", "4 | \n", "4 | \n", "18 | \n", "7 | \n", "GZMK- CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
4 | \n", "cf7ab2a448b611ea8957bafe6d70929e | \n", "B001 | \n", "dishonest_virile_beauceron | \n", "cf7ab2a448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1528 | \n", "46 | \n", "10767 | \n", "... | \n", "3.850148 | \n", "1.396055 | \n", "4 | \n", "2 | \n", "10 | \n", "9 | \n", "8 | \n", "GZMK- CD56dim NK cell | \n", "NK cell | \n", "CD56dim NK cell | \n", "
5 rows × 57 columns
\n", "\n", " | barcodes | \n", "batch_id | \n", "cell_name | \n", "cell_uuid | \n", "chip_id | \n", "hto_barcode | \n", "hto_category | \n", "n_genes | \n", "n_mito_umis | \n", "n_reads | \n", "... | \n", "total_counts_mito | \n", "log1p_total_counts_mito | \n", "pct_counts_mito | \n", "leiden | \n", "leiden_resolution_1 | \n", "leiden_resolution_1.5 | \n", "leiden_resolution_2 | \n", "AIFI_L1 | \n", "AIFI_L2 | \n", "AIFI_L3 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
barcodes | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
cf72d2f048b611ea8957bafe6d70929e | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001 | \n", "shrewd_chocolaty_xrayfish | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1229 | \n", "51 | \n", "8644 | \n", "... | \n", "51 | \n", "3.951244 | \n", "1.943598 | \n", "4 | \n", "3 | \n", "3 | \n", "3 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK+ CD56dim NK cell | \n", "
cf73d29048b611ea8957bafe6d70929e | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001 | \n", "subocean_bold_oriole | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2005 | \n", "246 | \n", "18676 | \n", "... | \n", "246 | \n", "5.509388 | \n", "4.392073 | \n", "4 | \n", "8 | \n", "11 | \n", "13 | \n", "NK cell | \n", "NK+T Doublets | \n", "NK+T Doublets | \n", "
cf73ecda48b611ea8957bafe6d70929e | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001 | \n", "observant_fathomable_barracuda | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "921 | \n", "37 | \n", "5216 | \n", "... | \n", "37 | \n", "3.637586 | \n", "2.355188 | \n", "4 | \n", "1 | \n", "1 | \n", "0 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "
cf7430b448b611ea8957bafe6d70929e | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001 | \n", "omniscient_slim_hoki | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2153 | \n", "117 | \n", "16241 | \n", "... | \n", "117 | \n", "4.770685 | \n", "2.358395 | \n", "4 | \n", "0 | \n", "0 | \n", "1 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "
cf754e0448b611ea8957bafe6d70929e | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001 | \n", "glossy_intimate_ladybug | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1497 | \n", "131 | \n", "9952 | \n", "... | \n", "131 | \n", "4.882802 | \n", "4.069587 | \n", "4 | \n", "12 | \n", "15 | \n", "18 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "
5 rows × 56 columns
\n", "\n", " | barcodes | \n", "batch_id | \n", "cell_name | \n", "cell_uuid | \n", "chip_id | \n", "hto_barcode | \n", "hto_category | \n", "n_genes | \n", "n_mito_umis | \n", "n_reads | \n", "... | \n", "pct_counts_mito | \n", "leiden | \n", "leiden_resolution_1 | \n", "leiden_resolution_1.5 | \n", "leiden_resolution_2 | \n", "AIFI_L1 | \n", "AIFI_L2 | \n", "AIFI_L3 | \n", "umap_1 | \n", "umap_2 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001 | \n", "shrewd_chocolaty_xrayfish | \n", "cf72d2f048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1229 | \n", "51 | \n", "8644 | \n", "... | \n", "1.943598 | \n", "4 | \n", "3 | \n", "3 | \n", "3 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK+ CD56dim NK cell | \n", "0.883505 | \n", "7.876848 | \n", "
1 | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001 | \n", "subocean_bold_oriole | \n", "cf73d29048b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2005 | \n", "246 | \n", "18676 | \n", "... | \n", "4.392073 | \n", "4 | \n", "8 | \n", "11 | \n", "13 | \n", "NK cell | \n", "NK+T Doublets | \n", "NK+T Doublets | \n", "-0.265153 | \n", "12.770269 | \n", "
2 | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001 | \n", "observant_fathomable_barracuda | \n", "cf73ecda48b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "921 | \n", "37 | \n", "5216 | \n", "... | \n", "2.355188 | \n", "4 | \n", "1 | \n", "1 | \n", "0 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "-2.538007 | \n", "7.109251 | \n", "
3 | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001 | \n", "omniscient_slim_hoki | \n", "cf7430b448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "2153 | \n", "117 | \n", "16241 | \n", "... | \n", "2.358395 | \n", "4 | \n", "0 | \n", "0 | \n", "1 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "-0.433553 | \n", "3.528103 | \n", "
4 | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001 | \n", "glossy_intimate_ladybug | \n", "cf754e0448b611ea8957bafe6d70929e | \n", "B001-P1C1 | \n", "TGATGGCCTATTGGG | \n", "singlet | \n", "1497 | \n", "131 | \n", "9952 | \n", "... | \n", "4.069587 | \n", "4 | \n", "12 | \n", "15 | \n", "18 | \n", "NK cell | \n", "CD56dim NK cell | \n", "GZMK- CD56dim NK cell | \n", "0.191648 | \n", "5.767444 | \n", "
5 rows × 58 columns
\n", "\n", "-----\n", "anndata 0.10.3\n", "hisepy 0.3.0\n", "pandas 2.1.4\n", "scanpy 1.9.6\n", "session_info 1.0.0\n", "-----\n", "\n", "
\n", "PIL 10.0.1\n", "anyio NA\n", "arrow 1.3.0\n", "asttokens NA\n", "attr 23.2.0\n", "attrs 23.2.0\n", "babel 2.14.0\n", "beatrix_jupyterlab NA\n", "brotli NA\n", "cachetools 5.3.1\n", "certifi 2024.02.02\n", "cffi 1.16.0\n", "charset_normalizer 3.3.2\n", "cloudpickle 2.2.1\n", "colorama 0.4.6\n", "comm 0.1.4\n", "cryptography 41.0.7\n", "cycler 0.10.0\n", "cython_runtime NA\n", "dateutil 2.8.2\n", "db_dtypes 1.1.1\n", "debugpy 1.8.0\n", "decorator 5.1.1\n", "defusedxml 0.7.1\n", "deprecated 1.2.14\n", "exceptiongroup 1.2.0\n", "executing 2.0.1\n", "fastjsonschema NA\n", "fqdn NA\n", "google NA\n", "greenlet 2.0.2\n", "grpc 1.58.0\n", "grpc_status NA\n", "h5py 3.10.0\n", "idna 3.6\n", "igraph 0.10.8\n", "importlib_metadata NA\n", "ipykernel 6.28.0\n", "ipython_genutils 0.2.0\n", "ipywidgets 8.1.1\n", "isoduration NA\n", "jedi 0.19.1\n", "jinja2 3.1.2\n", "joblib 1.3.2\n", "json5 NA\n", "jsonpointer 2.4\n", "jsonschema 4.20.0\n", "jsonschema_specifications NA\n", "jupyter_events 0.9.0\n", "jupyter_server 2.12.1\n", "jupyterlab_server 2.25.2\n", "jwt 2.8.0\n", "kiwisolver 1.4.5\n", "leidenalg 0.10.1\n", "llvmlite 0.41.0\n", "lz4 4.3.2\n", "markupsafe 2.1.3\n", "matplotlib 3.8.0\n", "matplotlib_inline 0.1.6\n", "mpl_toolkits NA\n", "mpmath 1.3.0\n", "natsort 8.4.0\n", "nbformat 5.9.2\n", "numba 0.58.0\n", "numpy 1.24.0\n", "opentelemetry NA\n", "overrides NA\n", "packaging 23.2\n", "parso 0.8.3\n", "pexpect 4.8.0\n", "pickleshare 0.7.5\n", "pkg_resources NA\n", "platformdirs 4.1.0\n", "plotly 5.18.0\n", "prettytable 3.9.0\n", "prometheus_client NA\n", "prompt_toolkit 3.0.42\n", "proto NA\n", "psutil NA\n", "ptyprocess 0.7.0\n", "pure_eval 0.2.2\n", "pyarrow 13.0.0\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.17.2\n", "pynvml NA\n", "pyparsing 3.1.1\n", "pyreadr 0.5.0\n", "pythonjsonlogger NA\n", "pytz 2023.3.post1\n", "referencing NA\n", "requests 2.31.0\n", "rfc3339_validator 0.1.4\n", "rfc3986_validator 0.1.1\n", "rpds NA\n", "scipy 1.11.4\n", "send2trash NA\n", "shapely 1.8.5.post1\n", "six 1.16.0\n", "sklearn 1.3.2\n", "sniffio 1.3.0\n", "socks 1.7.1\n", "sql NA\n", "sqlalchemy 2.0.21\n", "sqlparse 0.4.4\n", "stack_data 0.6.2\n", "sympy 1.12\n", "termcolor NA\n", "texttable 1.7.0\n", "threadpoolctl 3.2.0\n", "torch 2.1.2+cu121\n", "torchgen NA\n", "tornado 6.3.3\n", "tqdm 4.66.1\n", "traitlets 5.9.0\n", "typing_extensions NA\n", "uri_template NA\n", "urllib3 1.26.18\n", "wcwidth 0.2.12\n", "webcolors 1.13\n", "websocket 1.7.0\n", "wrapt 1.15.0\n", "xarray 2023.12.0\n", "yaml 6.0.1\n", "zipp NA\n", "zmq 25.1.2\n", "zoneinfo NA\n", "zstandard 0.22.0\n", "\n", "
\n", "-----\n", "IPython 8.19.0\n", "jupyter_client 8.6.0\n", "jupyter_core 5.6.1\n", "jupyterlab 4.1.2\n", "notebook 6.5.4\n", "-----\n", "Python 3.10.13 | packaged by conda-forge | (main, Dec 23 2023, 15:36:39) [GCC 12.3.0]\n", "Linux-5.15.0-1052-gcp-x86_64-with-glibc2.31\n", "-----\n", "Session information updated at 2024-03-05 22:00\n", "\n", "