{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SPACEc: ML-enabled cell type annotation - STELLAR" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After preprocessing the single-cell data, the next step is to assign cell types. Alternatively to the SVM (see notebook 3_cell_annotation_ml) model we included a wrapper for STELLAR, that allows to use the model in a more user-friendly way. Further information about STELLAR can be found here: http://snap.stanford.edu/stellar/" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root: * TissUUmaps version: 3.1.1.6\n", "/home/tim/miniforge3/envs/spacec/lib/python3.9/site-packages/numba/np/ufunc/parallel.py:371: NumbaWarning: The TBB threading layer requires TBB version 2021 update 6 or later i.e., TBB_INTERFACE_VERSION >= 12060. Found TBB_INTERFACE_VERSION = 12050. The TBB threading layer is disabled.\n", " warnings.warn(problem)\n", "/home/tim/miniforge3/envs/spacec/lib/python3.9/site-packages/cudf/utils/gpu_utils.py:89: UserWarning: A GPU with NVIDIA Volta™ (Compute Capability 7.0) or newer architecture is required.\n", "Detected GPU 0: NVIDIA GeForce GTX 1070\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \n", "Detected Compute Capability: 6.1\n", " warnings.warn(\n" ] } ], "source": [ "# import spacec first\n", "import spacec as sp\n", "\n", "#import standard packages\n", "import os\n", "from pathlib import Path\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import scanpy as sc\n", "import seaborn as sns\n", "import sys\n", "import os\n", "from git import Repo\n", "import anndata\n", "\n", "# silencing warnings\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "sc.settings.set_figure_params(dpi=80, facecolor='white')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Specify the path to the data\n", "root_path = \"/home/user/path/SPACEc/\" # inset your own path\n", "data_path = root_path + 'example_data/raw/' # where the data is stored\n", "\n", "# where you want to store the output\n", "output_dir = root_path + 'example_data/output/'\n", "os.makedirs(output_dir, exist_ok=True)\n", "\n", "# STELLAR path\n", "STELLAR_path = Path(root_path + 'example_data/STELLAR/')\n", "\n", "# Test if the path exists, if not create it\n", "if not STELLAR_path.exists():\n", " STELLAR_path.mkdir(exist_ok=True, parents=True)\n", " repo_url = 'https://github.com/snap-stanford/stellar.git'\n", " Repo.clone_from(repo_url, STELLAR_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Explanation\n", "Annotated tonsil data is used as training & test data. \n", "Tonsillitis data is used as validation data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Load training data\n", "adata = sc.read(output_dir + \"adata_nn_demo_annotated.h5ad\")\n", "adata_train = adata[adata.obs['condition'] == 'tonsil']\n", "adata_val = adata[adata.obs['condition'] == 'tonsillitis']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Training" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "np.isnan(adata_train.X).sum()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# downsample the data for demonstration purposes\n", "adata_train = adata_train[0:1000, :]\n", "adata_val = adata_val[0:1000, :]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Preparing input data\n", "Building dataset\n", "Running STELLAR\n", "WARNING: You’re trying to run this on 58 dimensions of `.X`, if you really want this, set `use_rep='X'`.\n", " Falling back to preprocessing with `sc.pp.pca` and default params.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 2.237149\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.928735\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.684190\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.572017\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.502303\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.448647\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.406881\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.371281\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.346250\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.323699\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.302637\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.286958\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.273654\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.258830\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.251026\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.244413\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.237930\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.232046\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.233523\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.221670\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.093954\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.896790\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.284005\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.209281\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.157147\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.157361\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.068299\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.099013\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.043633\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.081980\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.055788\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.059038\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.043263\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.047102\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.044601\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.001311\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.003115\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.033478\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.029879\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.025037\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.063846\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.000488\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.000435\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.096257\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.007849\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.034967\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.004217\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.023694\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.026860\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.111071\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.067288\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.008144\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.041159\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.026449\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.088483\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.077746\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.063356\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.043450\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.019570\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.033152\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.043104\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.021286\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.047572\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.043748\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.000301\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: 0.031850\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.062338\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.038398\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.057324\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Computing METIS partitioning...\n", "Done!\n", "Computing METIS partitioning...\n", "Done!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Loss: -0.090590\n" ] } ], "source": [ "adata_new = sp.tl.adata_stellar(adata_train, \n", " adata_val, \n", " celltype_col = \"cell_type\", \n", " x_col = 'x', \n", " y_col = 'y', \n", " sample_rate = 0.5, \n", " distance_thres = 50,\n", " STELLAR_path = STELLAR_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inspect the results" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | DAPI | \n", "x | \n", "y | \n", "area | \n", "region_num | \n", "unique_region | \n", "condition | \n", "leiden_1 | \n", "leiden_1_subcluster | \n", "cell_type_coarse | \n", "cell_type_coarse_subcluster | \n", "cell_type_coarse_f | \n", "cell_type_coarse_f_subcluster | \n", "cell_type | \n", "stellar_pred | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "105.993197 | \n", "1472.238095 | \n", "4.986395 | \n", "147.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "10 | \n", "10 | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "12 | \n", "
| 1 | \n", "123.677686 | \n", "1322.851240 | \n", "5.359504 | \n", "242.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "15 | \n", "15 | \n", "M2 Macrophage | \n", "M2 Macrophage | \n", "M2 Macrophage | \n", "M2 Macrophage | \n", "M2 Macrophage | \n", "12 | \n", "
| 2 | \n", "107.203125 | \n", "1506.226562 | \n", "5.710938 | \n", "256.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "10 | \n", "10 | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "12 | \n", "
| 4 | \n", "148.702532 | \n", "1303.702532 | \n", "9.006329 | \n", "158.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "17 | \n", "17,2 | \n", "recluster | \n", "recluster,9 | \n", "recluster | \n", "recluster,14 | \n", "CD4+ T cell | \n", "11 | \n", "
| 5 | \n", "148.981132 | \n", "1485.911950 | \n", "8.899371 | \n", "159.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "10 | \n", "10 | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "Vessel | \n", "12 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 1034 | \n", "27.318707 | \n", "1679.764434 | \n", "264.575058 | \n", "433.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "21 | \n", "21 | \n", "Epithelial cell | \n", "Epithelial cell | \n", "Epithelial cell | \n", "Epithelial cell | \n", "Epithelial cell | \n", "10 | \n", "
| 1035 | \n", "76.632812 | \n", "1731.346354 | \n", "264.697917 | \n", "384.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "12 | \n", "12,3 | \n", "DC | \n", "DC | \n", "DC | \n", "DC | \n", "DC | \n", "11 | \n", "
| 1036 | \n", "97.325123 | \n", "1899.123153 | \n", "265.847291 | \n", "203.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "3 | \n", "3,1 | \n", "DC | \n", "DC | \n", "DC | \n", "DC | \n", "DC | \n", "11 | \n", "
| 1037 | \n", "84.231092 | \n", "1957.092437 | \n", "265.638655 | \n", "238.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "4 | \n", "4 | \n", "CD4+ T cell | \n", "CD4+ T cell | \n", "CD4+ T cell | \n", "CD4+ T cell | \n", "CD4+ T cell | \n", "11 | \n", "
| 1038 | \n", "91.180645 | \n", "2151.245161 | \n", "266.135484 | \n", "155.0 | \n", "1 | \n", "reg002 | \n", "tonsillitis | \n", "0 | \n", "0,0 | \n", "B cell | \n", "B cell | \n", "B cell | \n", "B cell | \n", "B cell | \n", "11 | \n", "
1000 rows × 15 columns
\n", "