From 3a5c4cba99e73932f09d454d70f0ae9629fde287 Mon Sep 17 00:00:00 2001 From: wallet-maker Date: Sat, 25 Jul 2026 17:30:44 +0200 Subject: [PATCH 1/6] added colab tutorials --- README.md | 8 +- .../01_training_PBMC_classifier.ipynb | 1292 +++++++++++++++++ ...ning_PBMC_classifier.ipynb:Zone.Identifier | Bin 0 -> 25 bytes .../02_pretrained_classifiers.ipynb | 634 ++++++++ ...etrained_classifiers.ipynb:Zone.Identifier | Bin 0 -> 25 bytes 5 files changed, 1931 insertions(+), 3 deletions(-) create mode 100644 colab_tutorials/01_training_PBMC_classifier.ipynb create mode 100644 colab_tutorials/01_training_PBMC_classifier.ipynb:Zone.Identifier create mode 100644 colab_tutorials/02_pretrained_classifiers.ipynb create mode 100644 colab_tutorials/02_pretrained_classifiers.ipynb:Zone.Identifier diff --git a/README.md b/README.md index 1bd0cf3..a546374 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Compocyte is a composite classifier for modular hierarchical cell type annotation of single cell data. Using Compocyte you can build different hierarchical classifier architectures following a local classifier per parent node approach. Local classifiers are built around pytorch, sklearn or CatBoost. Local classifiers can be individually modified to account for alterations in classification taxonomies or selectively improve specific annotations in human-in-the-loop approaches. While compocyte has been primarily developed for single cell RNA sequencing data it can also be used with other single cell data compatible with the AnnData and scanpy packages. +If you use Compocyte please cite our [preprint](https://doi.org/10.64898/2026.05.30.728980)
## Installation @@ -51,13 +52,14 @@ pbmc_hc = Compocyte.pretrained.pbmc_pretrained() til_hc = Compocyte.pretrained.til_pretrained() ``` -## Colab tutorials +## Interactive Colab tutorials Alternatively, refer to our tutorials on Google Colab. -[Using our pretrained Compocyte classifiers.](https://colab.research.google.com/drive/17pItBWQqf_ClAAzGch5o00dKlR13jEKL) +Learn how to label your data using pretrained models [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/main/colab_tutorials/02_pretrained_classifiers.ipynb) + +Learn how to train a Compocyte classifier [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/main/colab_tutorials/01_training_PBMC_classifier.ipynb) -[Training a simple Compocyte classifier with PBMC data.](https://colab.research.google.com/drive/1IQTwwHSW9Q2UtnZ_ioA6Mhs9kkKgzYiY) ## Getting started diff --git a/colab_tutorials/01_training_PBMC_classifier.ipynb b/colab_tutorials/01_training_PBMC_classifier.ipynb new file mode 100644 index 0000000..3cd981b --- /dev/null +++ b/colab_tutorials/01_training_PBMC_classifier.ipynb @@ -0,0 +1,1292 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7f8bd806", + "metadata": { + "id": "7f8bd806" + }, + "source": [ + "# Training a simple Compocyte classifier with PBMC data." + ] + }, + { + "cell_type": "code", + "source": [ + "!sudo apt-get install -qq -o=Dpkg::Use-Pty=0 -y graphviz graphviz-dev\n", + "!pip install --quiet pygraphviz" + ], + "metadata": { + "id": "1OhlBT2UDBnW" + }, + "id": "1OhlBT2UDBnW", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!pip install --quiet git+https://github.com/WALL-E-Lab/Compocyte.git" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tdhK0v97JxRF", + "outputId": "bc7194ce-e2bd-4cf8-8348-78a9b5af78b7" + }, + "id": "tdhK0v97JxRF", + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "id": "139caa13", + "metadata": { + "id": "139caa13" + }, + "source": [ + "In this tutorial, you will learn how to train a Compocyte classifier on any data. For simplicity, we will use published PBMC data. However, for your understanding we will go through the process of labelling these cells and fitting a hierarchy to the labels so that Compocyte has everything it needs to work." + ] + }, + { + "cell_type": "markdown", + "id": "8ff67182", + "metadata": { + "id": "8ff67182" + }, + "source": [ + "## Preprocessing and analysis" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4d98ffc", + "metadata": { + "id": "d4d98ffc" + }, + "outputs": [], + "source": [ + "import scanpy as sc\n", + "import numpy as np\n", + "\n", + "# Load the 10x PBMC dataset\n", + "adata = sc.datasets.pbmc3k()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83f6aa1e", + "metadata": { + "id": "83f6aa1e", + "outputId": "989bd81c-4e96-412b-c438-8feaaed64201", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "AnnData object with n_obs × n_vars = 2700 × 32738\n", + " var: 'gene_ids'" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ], + "source": [ + "adata" + ] + }, + { + "cell_type": "markdown", + "id": "62ecf547", + "metadata": { + "id": "62ecf547" + }, + "source": [ + "We will make sure to save the count data to .raw, split off 33 % of cells for testing, then normalize, log-transform our data and subset to highly-variable genes. This will improve clustering results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f494f19f", + "metadata": { + "id": "f494f19f", + "outputId": "9dc320b7-4c8e-40ea-f0ae-bf663488c908", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "X after preprocessing: \n", + " Coords\tValues\n", + " (0, 2)\t1.111715316772461\n", + " (0, 4)\t1.111715316772461\n", + " (1, 2)\t1.4292607307434082\n", + " (2, 2)\t1.5663871765136719\n", + " (4, 8)\t1.7219784259796143\n", + " (7, 2)\t1.6449213027954102\n", + " (8, 2)\t1.4576793909072876\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "\n", + "# Preprocess the data\n", + "adata.raw = adata.copy()\n", + "# Generate holdout data for testing.\n", + "rng = np.random.default_rng(seed=0)\n", + "test_adata = adata[rng.choice(adata.obs_names, size=900, replace=False), :].copy()\n", + "if not os.path.exists(\"./exclude\"):\n", + " os.makedirs(\"./exclude\")\n", + "\n", + "test_adata.write(\"./exclude/test_adata.h5ad\")\n", + "adata = adata[~adata.obs_names.isin(test_adata.obs_names)].copy()\n", + "# Normalize to 10,000 counts per cell\n", + "sc.pp.normalize_total(adata, target_sum=1e4)\n", + "# Log-transform the data\n", + "sc.pp.log1p(adata)\n", + "# Select the top 2000 highly variable genes for better signal-to-noise ratio upon clustering\n", + "sc.pp.highly_variable_genes(adata, n_top_genes=2000)\n", + "adata = adata[:, adata.var.highly_variable]\n", + "print('X after preprocessing: ', adata.X[:10, :10])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e545785a", + "metadata": { + "id": "e545785a", + "outputId": "07922e7c-479c-4790-a4ad-03f52413f36d", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/scanpy/preprocessing/_pca/__init__.py:359: ImplicitModificationWarning: Setting element `.obsm['X_pca']` of view, initializing view as actual.\n", + " adata.obsm[key_obsm] = x_pca\n" + ] + } + ], + "source": [ + "# Cluster cells using Leiden clustering after principal component analysis\n", + "sc.tl.pca(adata, n_comps=50)\n", + "sc.pp.neighbors(adata, n_neighbors=15, n_pcs=50)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01cae0f9", + "metadata": { + "id": "01cae0f9", + "outputId": "b4458f35-c8ab-4dc7-ac5a-2c961718c562", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/tmp/ipykernel_29727/3412306151.py:1: FutureWarning: The `igraph` implementation of leiden clustering is *orders of magnitude faster*. Set the flavor argument to (and install if needed) 'igraph' to use it.\n", + "In the future, the default backend for leiden will be igraph instead of leidenalg. To achieve the future defaults please pass: `flavor='igraph'` and `n_iterations=2`. `directed` must also be `False` to work with igraph’s implementation.\n", + " sc.tl.leiden(adata, resolution=0.8)\n" + ] + } + ], + "source": [ + "sc.tl.leiden(adata, resolution=0.8)" + ] + }, + { + "cell_type": "markdown", + "id": "859c1126", + "metadata": { + "id": "859c1126" + }, + "source": [ + "## Labelling cell types" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c2231ad", + "metadata": { + "id": "9c2231ad" + }, + "outputs": [], + "source": [ + "sc.tl.umap(adata)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a31b22cb", + "metadata": { + "id": "a31b22cb", + "outputId": "b9a89299-3fc3-46c1-f02b-15668fdbcdbc", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 448 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "sc.pl.umap(\n", + " adata,\n", + " color=[\"leiden\"],\n", + " size=30,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4293f10f", + "metadata": { + "id": "4293f10f", + "outputId": "3ae3e921-6b91-4d03-9c3f-9d58046618ef", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 359 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAFWCAYAAABJkcj7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAau1JREFUeJzt3XdcU9f7B/BPwt5TGQqiouCAqlVxj7rF0TrR1qqtrdVav1rt0Fq1dbbW1v769avWqrXuVffCheKs1jpwUhVBhiArzADJ+f1BSUVAIdwkgJ/365WXJPfe8zzBkDw599xzZEIIASIiIiIqE7mhEyAiIiKqjFhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWmBRRQRERGRFlhEEREREWnBWF+B1Go1YmJiYGNjA5lMpq+wRERkQEIIpKWl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\n" + }, + "metadata": {} + } + ], + "source": [ + "sc.pl.dotplot(adata, var_names=['CD3D', 'CD4', 'CD8A', 'KLRB1', 'NCAM1', 'FCGR3A', 'CD19', 'CD38', 'CD14', 'VCAN', 'FCER1A', 'CLEC4C', 'HBB', 'ITGB3'], groupby='leiden')" + ] + }, + { + "cell_type": "markdown", + "id": "984ab4e6", + "metadata": { + "id": "984ab4e6" + }, + "source": [ + "The above is a very simplistic overview of some information that will help us classify the cells present in the dataset: spatial relationships in the gene space by dimensionality reduction with UMAP and gene expression on an aggregated per-cluster level in the dotplot. While one must be careful assigning meaning to spatial relationships on a UMAP during cell-type labelling, these two plots shall suffice for the purpose of cell-type labelling in this short tutorial without any claim to completeness." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c957a2ee", + "metadata": { + "id": "c957a2ee" + }, + "outputs": [], + "source": [ + "# Map Leiden clusters to cell type labels based on the dotplot and known marker genes for each cell type\n", + "adata.obs['label'] = adata.obs['leiden'].map(\n", + " {\n", + " '0': 'CD4 T cells',\n", + " '1': 'Classical monocytes',\n", + " '2': 'CD8 T cells', # probably includes both antigen-naive and antigen-experienced B cells\n", + " '3': 'B cells',\n", + " '4': 'Non-classical monocytes',\n", + " '5': 'ILCs', # in the sense of both NK cells and other ILCs\n", + " '6': 'mixed'\n", + " }\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6b149190", + "metadata": { + "id": "6b149190", + "outputId": "eb711e7c-a003-492c-fd27-a8ebabe0fdce", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "np.False_" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ], + "source": [ + "adata.obs['label'].isna().any()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d12d47ef", + "metadata": { + "id": "d12d47ef" + }, + "outputs": [], + "source": [ + "# Removed mixed cluster since it is not a well-defined cell type and would likely introduce noise into the classifier.\n", + "adata = adata[adata.obs.label != 'mixed'].copy()" + ] + }, + { + "cell_type": "markdown", + "id": "db37c657", + "metadata": { + "id": "db37c657" + }, + "source": [ + "## Building a hierarchy" + ] + }, + { + "cell_type": "markdown", + "id": "82c489f7", + "metadata": { + "id": "82c489f7" + }, + "source": [ + "This is where it gets interesting. We have assigned, by cluster, one label per cell. This is the input data cell type classifiers usually receive.\n", + "To harness the potential of Compocyte's structure, we need to explicitly define a hierarchy on which all above labels can be found. This will help the classifier weight relationships between different cell type labels and define branching points in the classification process that can be modified by exchange or extension down the road.\n", + "\n", + "There is one very important assumption that Compocyte works with that is important to keep in mind when building a hierarchy. For the labels at the bottom of the hierarchy, also called leaf nodes, all **prior labels of this branch must also be true**. I. e. a dendritic cell is also a myeloid cell and it is also a blood cell. A CD8 T cell is also a T cell and it is also a lymphoid cell.\n", + "\n", + "Violating this assumption will lead to performance issues should you try to build your hierarchy from a more developmental point of view. The point of the hierarchy is to group transcriptomically similar cells into shared classification branches.\n", + "\n", + "A simple such hierarchy would be:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a186f8c8", + "metadata": { + "id": "a186f8c8" + }, + "outputs": [], + "source": [ + "from Compocyte.core.tools import make_graph_from_edges\n", + "import networkx as nx\n", + "\n", + "hierarchy = {\n", + " 'Blood': {\n", + " 'Lymphoid': {\n", + " 'T cells': {'CD4 T cells': {}, 'CD8 T cells': {}},\n", + " 'B cells': {},\n", + " 'ILCs': {}\n", + " },\n", + " 'Myeloid': {\n", + " 'Classical monocytes': {}, 'Non-classical monocytes': {},\n", + " },\n", + " }\n", + "}\n", + "graph = nx.DiGraph()\n", + "make_graph_from_edges(hierarchy, graph)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0ff4f80", + "metadata": { + "id": "c0ff4f80", + "outputId": "6d1fa387-deaa-4d37-8a95-73ed91bf7339", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 516 + } + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "from networkx.drawing.nx_agraph import graphviz_layout\n", + "\n", + "# Plot the graph structure we gave to the classifier during training.\n", + "pos = graphviz_layout(\n", + " graph,prog=\"dot\",\n", + " root='Blood',\n", + " args='-Gsplines=curved -Gnodesep=8 -Goverlap=scalexy -Gbeautify=false'\n", + ")\n", + "\n", + "nx.draw(\n", + " graph, pos,\n", + " with_labels=True,\n", + " node_color=\"#9ecae1\",\n", + " node_size=1200,\n", + " edge_color=\"#888\",\n", + " width=1.5,\n", + " font_size=10,\n", + " font_weight=\"bold\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e2a70fa3", + "metadata": { + "id": "e2a70fa3" + }, + "source": [ + "## Training the classifier" + ] + }, + { + "cell_type": "markdown", + "id": "0e15f72e", + "metadata": { + "id": "0e15f72e" + }, + "source": [ + "We have now defined cell type labels and a hierarchy that fits these labels and that can tell how we want our classifier structure to be set up. However there is still a small task to be completed before we can begin training.\n", + "\n", + "To provide training labels for training local classifiers at every branching point, we need to infer the intermediate labels of each cell in the hierarchy. This is done by using the `infer_levels` function takes in the hierarchy, the name of the column in `adata.obs` that contains the cell type labels, the name of the root node in the hierarchy, and the `adata` object itself. It adds the level annnotations as separate obs columns in the provided AnnData object and returns as `obs_names` the column names it used. These can then be passed to the classifier so it knows where to look." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58f40b35", + "metadata": { + "id": "58f40b35" + }, + "outputs": [], + "source": [ + "from Compocyte.core.tools import infer_levels\n", + "\n", + "# Save level labels to adata.obs and receive the list of obs columns where they have been saved.\n", + "_, obs_names = infer_levels(\n", + " hierarchy=hierarchy,\n", + " labels='label',\n", + " root_node='Blood',\n", + " adata=adata\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a21512c9", + "metadata": { + "id": "a21512c9", + "outputId": "581a790b-0a45-47de-9e10-bdece0881a11", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "['Level_0', 'Level_1', 'Level_2', 'Level_3']" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ], + "source": [ + "obs_names" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1ae2b96f", + "metadata": { + "id": "1ae2b96f", + "outputId": "a29b31fc-c6f5-4495-abc9-587c02f4a6b2", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 455 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " leiden label Level_0 Level_1 \\\n", + "index \n", + "AAACATTGAGCTAC-1 3 B cells Blood Lymphoid \n", + "AAACATTGATCAGC-1 0 CD4 T cells Blood Lymphoid \n", + "AAACCGTGCTTCCG-1 1 Classical monocytes Blood Myeloid \n", + "AAACGCACTGGTAC-1 0 CD4 T cells Blood Lymphoid \n", + "AAACGCTGACCAGT-1 2 CD8 T cells Blood Lymphoid \n", + "... ... ... ... ... \n", + "TTTCGAACACCTGA-1 3 B cells Blood Lymphoid \n", + "TTTCGAACTCTCAT-1 1 Classical monocytes Blood Myeloid \n", + "TTTCTACTGAGGCA-1 3 B cells Blood Lymphoid \n", + "TTTCTACTTCCTCG-1 3 B cells Blood Lymphoid \n", + "TTTGCATGAGAGGC-1 3 B cells Blood Lymphoid \n", + "\n", + " Level_2 Level_3 \n", + "index \n", + "AAACATTGAGCTAC-1 B cells \n", + "AAACATTGATCAGC-1 T cells CD4 T cells \n", + "AAACCGTGCTTCCG-1 Classical monocytes \n", + "AAACGCACTGGTAC-1 T cells CD4 T cells \n", + "AAACGCTGACCAGT-1 T cells CD8 T cells \n", + "... ... ... \n", + "TTTCGAACACCTGA-1 B cells \n", + "TTTCGAACTCTCAT-1 Classical monocytes \n", + "TTTCTACTGAGGCA-1 B cells \n", + "TTTCTACTTCCTCG-1 B cells \n", + "TTTGCATGAGAGGC-1 B cells \n", + "\n", + "[1792 rows x 6 columns]" + ], + "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", + "
leidenlabelLevel_0Level_1Level_2Level_3
index
AAACATTGAGCTAC-13B cellsBloodLymphoidB cells
AAACATTGATCAGC-10CD4 T cellsBloodLymphoidT cellsCD4 T cells
AAACCGTGCTTCCG-11Classical monocytesBloodMyeloidClassical monocytes
AAACGCACTGGTAC-10CD4 T cellsBloodLymphoidT cellsCD4 T cells
AAACGCTGACCAGT-12CD8 T cellsBloodLymphoidT cellsCD8 T cells
.....................
TTTCGAACACCTGA-13B cellsBloodLymphoidB cells
TTTCGAACTCTCAT-11Classical monocytesBloodMyeloidClassical monocytes
TTTCTACTGAGGCA-13B cellsBloodLymphoidB cells
TTTCTACTTCCTCG-13B cellsBloodLymphoidB cells
TTTGCATGAGAGGC-13B cellsBloodLymphoidB cells
\n", + "

1792 rows × 6 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"adata\",\n \"rows\": 1792,\n \"fields\": [\n {\n \"column\": \"index\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 1792,\n \"samples\": [\n \"CAGGAACTCTCAGA-1\",\n \"ACGTCCTGTGAACC-1\",\n \"GACTTTACGACAGG-1\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"leiden\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"3\",\n \"0\",\n \"5\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 6,\n \"samples\": [\n \"B cells\",\n \"CD4 T cells\",\n \"ILCs\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_0\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Blood\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_1\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"Myeloid\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_2\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"T cells\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_3\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 18 + } + ], + "source": [ + "adata.obs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "326ea424", + "metadata": { + "id": "326ea424", + "outputId": "86b6a133-c0bb-4bfa-d45f-1c4e48b61203", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:110: UserWarning: Features [ 40 197 229 426 440 484 554 882 951 978 1084 1195 1341 1414\n", + " 1446 1467 1639 1712 1864 1870 1942] are constant.\n", + " warnings.warn(\"Features %s are constant.\" % constant_features_idx, UserWarning)\n", + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:111: RuntimeWarning: invalid value encountered in divide\n", + " f = msb / msw\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Training at Blood.\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:110: UserWarning: Features [ 24 40 67 127 151 168 186 197 207 216 229 233 243 277\n", + " 283 313 321 339 412 426 440 455 473 484 516 549 554 560\n", + " 568 661 681 707 726 794 851 882 901 902 937 940 951 961\n", + " 969 978 990 1015 1019 1024 1054 1084 1123 1131 1150 1184 1195 1196\n", + " 1206 1207 1219 1259 1289 1321 1341 1349 1397 1411 1414 1431 1446 1467\n", + " 1491 1504 1524 1535 1607 1639 1652 1674 1677 1697 1699 1712 1713 1755\n", + " 1765 1832 1864 1870 1873 1882 1899 1906 1915 1942] are constant.\n", + " warnings.warn(\"Features %s are constant.\" % constant_features_idx, UserWarning)\n", + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:111: RuntimeWarning: invalid value encountered in divide\n", + " f = msb / msw\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Training at Lymphoid.\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:110: UserWarning: Features [ 11 12 22 24 40 47 52 67 81 90 107 115 127 151\n", + " 168 186 189 197 207 216 226 229 231 233 237 239 243 267\n", + " 277 280 283 304 313 315 317 318 321 325 328 339 347 354\n", + " 362 364 398 399 412 423 426 437 440 455 473 484 494 515\n", + " 516 529 532 549 554 560 562 568 573 587 591 629 661 681\n", + " 690 707 719 722 726 744 746 749 767 781 788 794 805 807\n", + " 843 851 870 882 885 889 896 901 902 924 937 940 949 951\n", + " 961 969 974 978 982 990 999 1014 1015 1018 1019 1022 1024 1050\n", + " 1053 1054 1059 1060 1076 1084 1100 1123 1131 1132 1150 1151 1152 1153\n", + " 1154 1182 1184 1194 1195 1196 1198 1199 1206 1207 1214 1219 1223 1230\n", + " 1240 1259 1273 1278 1280 1289 1301 1321 1341 1343 1344 1349 1375 1385\n", + " 1386 1397 1410 1411 1414 1426 1431 1436 1446 1450 1461 1467 1474 1475\n", + " 1491 1504 1520 1524 1535 1541 1542 1551 1561 1562 1570 1586 1589 1607\n", + " 1639 1652 1669 1674 1677 1695 1697 1699 1712 1713 1734 1755 1765 1783\n", + " 1799 1832 1837 1842 1843 1864 1870 1873 1876 1882 1899 1906 1912 1915\n", + " 1918 1926 1933 1940 1942 1957 1978] are constant.\n", + " warnings.warn(\"Features %s are constant.\" % constant_features_idx, UserWarning)\n", + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:111: RuntimeWarning: invalid value encountered in divide\n", + " f = msb / msw\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Training at T cells.\n", + "Training at Myeloid.\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:110: UserWarning: Features [ 1 6 11 12 18 26 30 40 41 48 52 57 61 77\n", + " 79 84 90 92 96 100 101 103 104 107 108 115 117 131\n", + " 136 166 170 176 178 179 185 188 189 191 197 208 209 219\n", + " 226 229 231 237 239 253 254 258 266 267 275 276 278 285\n", + " 286 289 306 315 317 318 325 328 337 354 364 381 398 399\n", + " 403 406 407 411 422 423 424 426 429 438 440 441 447 459\n", + " 467 471 472 480 484 494 508 510 530 541 546 551 554 557\n", + " 565 573 584 587 591 598 611 619 620 629 631 671 672 692\n", + " 711 719 722 732 742 744 749 756 758 761 764 767 781 784\n", + " 788 805 807 808 812 814 838 843 846 847 848 849 850 852\n", + " 861 864 870 880 882 885 887 894 895 896 909 912 941 945\n", + " 949 951 954 964 974 978 979 982 991 1002 1014 1018 1022 1029\n", + " 1032 1056 1057 1059 1060 1063 1069 1074 1076 1084 1093 1100 1103 1108\n", + " 1109 1115 1151 1153 1160 1168 1179 1186 1187 1190 1191 1194 1195 1204\n", + " 1215 1221 1224 1228 1230 1234 1242 1243 1247 1248 1250 1273 1279 1280\n", + " 1284 1287 1300 1301 1313 1331 1341 1344 1359 1360 1365 1372 1375 1376\n", + " 1377 1385 1386 1388 1390 1392 1398 1405 1409 1410 1413 1414 1418 1421\n", + " 1426 1430 1436 1439 1446 1452 1453 1455 1458 1461 1466 1467 1474 1475\n", + " 1489 1501 1518 1520 1526 1533 1534 1542 1543 1547 1551 1556 1562 1567\n", + " 1568 1570 1578 1579 1586 1587 1618 1623 1632 1637 1639 1642 1660 1669\n", + " 1671 1672 1684 1689 1695 1701 1702 1703 1708 1712 1715 1720 1724 1734\n", + " 1739 1740 1754 1759 1768 1775 1777 1783 1788 1798 1800 1801 1808 1813\n", + " 1823 1825 1837 1849 1851 1861 1864 1866 1870 1871 1876 1883 1894 1897\n", + " 1904 1908 1911 1912 1918 1924 1926 1933 1935 1938 1942 1955 1957 1971\n", + " 1978 1982] are constant.\n", + " warnings.warn(\"Features %s are constant.\" % constant_features_idx, UserWarning)\n", + "/usr/local/lib/python3.12/dist-packages/sklearn/feature_selection/_univariate_selection.py:111: RuntimeWarning: invalid value encountered in divide\n", + " f = msb / msw\n" + ] + } + ], + "source": [ + "from Compocyte.core.hierarchical_classifier import HierarchicalClassifier\n", + "from Compocyte.core.models.log_reg import LogisticRegression\n", + "\n", + "# Train the hierarchical classifier. This will train a separate classifier for each parent node in the hierarchy.\n", + "classifier = HierarchicalClassifier(\n", + " save_path=\"./exclude/pbmc_classifier\",\n", + " adata=adata,\n", + " root_node='Blood',\n", + " dict_of_cell_relations=hierarchy,\n", + " obs_names=obs_names)\n", + "# For training speed, set the classifier type for all nodes to logistic regression.\n", + "# In practice, one would likely want to experiment with different classifier types for different nodes in the hierarchy.\n", + "# The default is a 2-layer FCNN with 64 nodes each.\n", + "for node in classifier.graph.nodes:\n", + " classifier.set_classifier_type(node, LogisticRegression)\n", + "\n", + "classifier.train_all_child_nodes()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "819d52a9", + "metadata": { + "id": "819d52a9", + "outputId": "f55d2946-7f30-4268-a7b6-50ed728f8e2c", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Predicting at Blood.\n", + "Predicting at Lymphoid.\n", + "Predicting at T cells.\n", + "Predicting at Myeloid.\n" + ] + } + ], + "source": [ + "# Make sure the classifier has been trained by predicting on the test data.\n", + "# This will add columns with predicted labels to adata.obs for each parent node in the hierarchy.\n", + "classifier.load_adata(test_adata)\n", + "classifier.predict_all_child_nodes('Blood')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97286ade", + "metadata": { + "id": "97286ade", + "outputId": "9124a6cc-b0f2-4053-b159-0b4960332218", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 455 + } + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Level_1_pred Level_2_pred Level_3_pred\n", + "index \n", + "GCTCAAGAACCATG-1 Myeloid Non-classical monocytes \n", + "TATTTCCTGGTGTT-1 Lymphoid T cells CD4 T cells\n", + "TATAAGTGTGGTGT-1 Myeloid Non-classical monocytes \n", + "AGCACTGATGCTTT-1 Myeloid Classical monocytes \n", + "GAAACAGACATTCT-1 Lymphoid T cells CD4 T cells\n", + "... ... ... ...\n", + "CTTAGACTAAACGA-1 Lymphoid T cells CD4 T cells\n", + "CTAGAGACTTTGGG-1 Myeloid Non-classical monocytes \n", + "TCATCAACTGTTCT-1 Myeloid Classical monocytes \n", + "TAAGATTGTTGCTT-1 Lymphoid T cells CD4 T cells\n", + "CTTGAACTACGCAT-1 Lymphoid T cells CD4 T cells\n", + "\n", + "[900 rows x 3 columns]" + ], + "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", + "
Level_1_predLevel_2_predLevel_3_pred
index
GCTCAAGAACCATG-1MyeloidNon-classical monocytes
TATTTCCTGGTGTT-1LymphoidT cellsCD4 T cells
TATAAGTGTGGTGT-1MyeloidNon-classical monocytes
AGCACTGATGCTTT-1MyeloidClassical monocytes
GAAACAGACATTCT-1LymphoidT cellsCD4 T cells
............
CTTAGACTAAACGA-1LymphoidT cellsCD4 T cells
CTAGAGACTTTGGG-1MyeloidNon-classical monocytes
TCATCAACTGTTCT-1MyeloidClassical monocytes
TAAGATTGTTGCTT-1LymphoidT cellsCD4 T cells
CTTGAACTACGCAT-1LymphoidT cellsCD4 T cells
\n", + "

900 rows × 3 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "summary": "{\n \"name\": \"classifier\",\n \"rows\": 900,\n \"fields\": [\n {\n \"column\": \"index\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 900,\n \"samples\": [\n \"ATCCTAACGACGGA-1\",\n \"TAACTCACGTATCG-1\",\n \"CATCAGGATAGCCA-1\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_1_pred\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"Lymphoid\",\n \"Myeloid\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_2_pred\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"T cells\",\n \"ILCs\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Level_3_pred\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"\",\n \"CD4 T cells\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 21 + } + ], + "source": [ + "classifier.adata.obs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "230e62b3", + "metadata": { + "id": "230e62b3" + }, + "outputs": [], + "source": [ + "classifier.save()" + ] + }, + { + "cell_type": "markdown", + "id": "b0788533", + "metadata": { + "id": "b0788533" + }, + "source": [ + "Congratulations. You have trained your own Compocyte classifier. Check out the other tutorials to see how it can be used!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.14.4" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/colab_tutorials/01_training_PBMC_classifier.ipynb:Zone.Identifier b/colab_tutorials/01_training_PBMC_classifier.ipynb:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..d6c1ec682968c796b9f5e9e080cc6f674b57c766 GIT binary patch literal 25 dcma!!%Fjy;DN4*MPD?F{<>dl#JyUFr831@K2x\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Level_1_predLevel_2_predLevel_3_predLevel_4_predLevel_5_predLevel_6_predLevel_7_predLevel_8_pred
index
AAACATACAACCAC-1leukocyteTNKTabTCD8-TCD8-T-effectorCD8-T-KLRG1pos-effectorCD8-T-KLRG1pos-effector_nonexhausted
AAACATTGAGCTAC-1leukocytePBB
AAACATTGATCAGC-1leukocyteTNKTabTCD4-TCD4-T-naive
AAACCGTGCTTCCG-1leukocyteMmonoc-monoinf-c-mono
AAACCGTGTATGCG-1leukocyteTNKILCNKCD56dim-NK
...........................
TTTCGAACTCTCAT-1leukocyteMmonoc-monoinf-c-mono
TTTCTACTGAGGCA-1leukocytePBplasma-blastplasma-blast_proliferating
TTTCTACTTCCTCG-1leukocytePBBB-naive
TTTGCATGAGAGGC-1leukocytePBBB-naive
TTTGCATGCCTCAC-1leukocyteTNKTabTCD4-TCD4-T-naive
\n", + "

2700 rows × 8 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n" + ], + "text/plain": [ + " Level_1_pred Level_2_pred Level_3_pred \\\n", + "index \n", + "AAACATACAACCAC-1 leukocyte TNK T \n", + "AAACATTGAGCTAC-1 leukocyte PB B \n", + "AAACATTGATCAGC-1 leukocyte TNK T \n", + "AAACCGTGCTTCCG-1 leukocyte M mono \n", + "AAACCGTGTATGCG-1 leukocyte TNK ILC \n", + "... ... ... ... \n", + "TTTCGAACTCTCAT-1 leukocyte M mono \n", + "TTTCTACTGAGGCA-1 leukocyte PB plasma-blast \n", + "TTTCTACTTCCTCG-1 leukocyte PB B \n", + "TTTGCATGAGAGGC-1 leukocyte PB B \n", + "TTTGCATGCCTCAC-1 leukocyte TNK T \n", + "\n", + " Level_4_pred Level_5_pred Level_6_pred \\\n", + "index \n", + "AAACATACAACCAC-1 abT CD8-T CD8-T-effector \n", + "AAACATTGAGCTAC-1 \n", + "AAACATTGATCAGC-1 abT CD4-T CD4-T-naive \n", + "AAACCGTGCTTCCG-1 c-mono inf-c-mono \n", + "AAACCGTGTATGCG-1 NK CD56dim-NK \n", + "... ... ... ... \n", + "TTTCGAACTCTCAT-1 c-mono inf-c-mono \n", + "TTTCTACTGAGGCA-1 plasma-blast_proliferating \n", + "TTTCTACTTCCTCG-1 B-naive \n", + "TTTGCATGAGAGGC-1 B-naive \n", + "TTTGCATGCCTCAC-1 abT CD4-T CD4-T-naive \n", + "\n", + " Level_7_pred \\\n", + "index \n", + "AAACATACAACCAC-1 CD8-T-KLRG1pos-effector \n", + "AAACATTGAGCTAC-1 \n", + "AAACATTGATCAGC-1 \n", + "AAACCGTGCTTCCG-1 \n", + "AAACCGTGTATGCG-1 \n", + "... ... \n", + "TTTCGAACTCTCAT-1 \n", + "TTTCTACTGAGGCA-1 \n", + "TTTCTACTTCCTCG-1 \n", + "TTTGCATGAGAGGC-1 \n", + "TTTGCATGCCTCAC-1 \n", + "\n", + " Level_8_pred \n", + "index \n", + "AAACATACAACCAC-1 CD8-T-KLRG1pos-effector_nonexhausted \n", + "AAACATTGAGCTAC-1 \n", + "AAACATTGATCAGC-1 \n", + "AAACCGTGCTTCCG-1 \n", + "AAACCGTGTATGCG-1 \n", + "... ... \n", + "TTTCGAACTCTCAT-1 \n", + "TTTCTACTGAGGCA-1 \n", + "TTTCTACTTCCTCG-1 \n", + "TTTGCATGAGAGGC-1 \n", + "TTTGCATGCCTCAC-1 \n", + "\n", + "[2700 rows x 8 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hc.adata.obs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "TTuv1b1Pt4lA", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TTuv1b1Pt4lA", + "outputId": "44e0dfd1-0cb0-45b7-87a3-6865d0d82301" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AnnData object with n_obs × n_vars = 2700 × 5000\n", + " obs: 'Level_1_pred', 'Level_2_pred', 'Level_3_pred', 'Level_4_pred', 'Level_5_pred', 'Level_6_pred', 'Level_7_pred', 'Level_8_pred'\n", + " var: 'gene_ids'\n", + " uns: 'log1p'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hc.adata" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ce0c47e", + "metadata": {}, + "outputs": [], + "source": [ + "#convert into hierarchical annotation with Cytopus\n", + "\n", + "#load cytopus knowledge base\n", + "G = cp.KnowledgeBase()\n", + "\n", + "#get nested dict of hierarchy in cytopus knowledge base\n", + "hierarchy_dict = cp.tl.hierarchy.get_hierarchy_dict(G)\n", + "#build hierarchy class\n", + "H = cp.tl.hierarchy.Hierarchy(hierarchy_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6c40072", + "metadata": {}, + "outputs": [], + "source": [ + "#add cells to annotation object\n", + "H.add_cells(hc.adata, obs_columns=['Level_1_pred', 'Level_2_pred', 'Level_3_pred', 'Level_4_pred', 'Level_5_pred', 'Level_6_pred', 'Level_7_pred', 'Level_8_pred'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cc5ab9e", + "metadata": {}, + "outputs": [], + "source": [ + "#starting on top of the hierarchy we can find the most granular label for each cell. Here, we start from the root node 'all-cells' so that all cells will be annotated.\n", + "H.query_ancestors(query_node='all-cells', adata=hc.adata, obs_key='hierarchical_query')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4293f10f", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "4293f10f", + "outputId": "06845f9a-0bce-43a5-bae7-97959093b3bf" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwwAAAHCCAYAAABCAk6WAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAApxhJREFUeJzs3XdYU2cbBvA7CSGMELayQUXBAda995511NU6q61WW+to+9VWxUqttcMO26qt1dq6J+5RB4p77z0QkCkjgMwk5/tDSUGIMhLCuH/XlUuS8573eRIw5zznnPc9IkEQBBARERERERVAbOwEiIiIiIio7GLBQEREREREOrFgICIiIiIinVgwEBERERGRTiwYiIiIiIhIJxYMRERERESkEwsGIiIiIiLSiQUDERERERHpxIKBiIiIiIh0YsFAREREREQ6sWAgIiIiIiKdWDAQEREREZFOLBiIiIiIiEgnFgxERERERKQTCwYiIiIiItKJBQMREREREenEgoGIiIiIiHRiwUBERERERDqxYCAiIiIiIp1YMBARERERkU4sGIiIiIiISCcWDEREREREpBMLBiIiIiIi0okFAxERERER6cSCgYiIiIiIdGLBQEREREREOrFgICIiIiIinVgwEBERERGRTiwYiIiIiIhIJxYMRERERESkEwsGIiIiIiLSiQUDERERERHpxIKBiIiIiIh0YsFAREREREQ6sWAgIiIiIiKdWDAQEREREZFOLBiIiIiIiEgnFgxERERERKQTCwYiIiIiItKJBQMREREREenEgoGIiIiIiHRiwUBERERERDqxYCAiIiIiIp1YMBARERERkU4sGIiIiIiISCcWDEREREREpBMLBiIiIiIi0okFAxERERER6cSCgYiIiIiIdGLBQEREREREOrFgICIiIiIinVgwEBERERGRTiwYiIiIiIhIJxYMRERERESkEwsGIiIiIiLSiQUDERERERHpxIKBiIiIiIh0YsFAREREREQ6sWAgIiIiIiKdWDAQEREREZFOLBiIiIiIiEgnFgxERERERKQTCwYiIiIiItKJBQMREREREenEgoGIiIiIiHRiwUBERERERDqxYCAiIiIiIp1YMBARERERkU4sGIiIiIiISCcWDEREREREpBMLBiIiIiIi0okFAxERERER6cSCgYiIiIiIdGLBQEREREREOrFgICIi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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sc.pl.dotplot(hc.adata, var_names=['CD3D','CD3G','TRAC','TRDC',\n", + " 'CD4', 'CD8A', 'KLRB1', 'NCAM1', 'FCGR3A', 'CD19', 'CD79A','IGHD','CD27','IGHG1',\n", + " 'CD38','SDC1', 'CD14', 'S100A8', 'LYZ', 'NRP1','IRF4','IRF7','IRF8',\n", + " 'CD1C','CLEC4A','XCR1', 'HBB', 'ITGB3'], standard_scale='var', use_raw=True, groupby='hierarchical_query')" + ] + }, + { + "cell_type": "markdown", + "id": "984ab4e6", + "metadata": { + "id": "984ab4e6" + }, + "source": [ + "While this is a very simple marker panel on an intermediate classification level, results seem reasonable." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.14.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/colab_tutorials/02_pretrained_classifiers.ipynb:Zone.Identifier b/colab_tutorials/02_pretrained_classifiers.ipynb:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..d6c1ec682968c796b9f5e9e080cc6f674b57c766 GIT binary patch literal 25 dcma!!%Fjy;DN4*MPD?F{<>dl#JyUFr831@K2x Date: Sat, 25 Jul 2026 17:52:59 +0200 Subject: [PATCH 2/6] fixed colab paths --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a546374..751c7c0 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,9 @@ til_hc = Compocyte.pretrained.til_pretrained() Alternatively, refer to our tutorials on Google Colab. -Learn how to label your data using pretrained models [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/main/colab_tutorials/02_pretrained_classifiers.ipynb) +Learn how to label your data using pretrained models [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/colab_with_cytopus/colab_tutorials/02_pretrained_classifiers.ipynb) -Learn how to train a Compocyte classifier [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/main/colab_tutorials/01_training_PBMC_classifier.ipynb) +Learn how to train a Compocyte classifier [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/WALL-E-Lab/Compocyte/blob/colab_with_cytopus/colab_tutorials/01_training_PBMC_classifier.ipynb) ## Getting started From 7d5fec16f768f537ab4fc7fda50f06a73dbee270 Mon Sep 17 00:00:00 2001 From: wallet-maker Date: Sat, 25 Jul 2026 17:54:35 +0200 Subject: [PATCH 3/6] fixed tutorial docstrings --- colab_tutorials/02_pretrained_classifiers.ipynb | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/colab_tutorials/02_pretrained_classifiers.ipynb b/colab_tutorials/02_pretrained_classifiers.ipynb index a1fe9d7..e03df24 100644 --- a/colab_tutorials/02_pretrained_classifiers.ipynb +++ b/colab_tutorials/02_pretrained_classifiers.ipynb @@ -595,16 +595,6 @@ " 'CD38','SDC1', 'CD14', 'S100A8', 'LYZ', 'NRP1','IRF4','IRF7','IRF8',\n", " 'CD1C','CLEC4A','XCR1', 'HBB', 'ITGB3'], standard_scale='var', use_raw=True, groupby='hierarchical_query')" ] - }, - { - "cell_type": "markdown", - "id": "984ab4e6", - "metadata": { - "id": "984ab4e6" - }, - "source": [ - "While this is a very simple marker panel on an intermediate classification level, results seem reasonable." - ] } ], "metadata": { From f5a6ffce144589a315deedf36d71f48bdf02ed24 Mon Sep 17 00:00:00 2001 From: wallet-maker Date: Sat, 25 Jul 2026 23:04:38 +0200 Subject: [PATCH 4/6] changed colab tutorial to pbmc 10k --- .../02_pretrained_classifiers.ipynb | 96 +++++++++++++++---- 1 file changed, 76 insertions(+), 20 deletions(-) diff --git a/colab_tutorials/02_pretrained_classifiers.ipynb b/colab_tutorials/02_pretrained_classifiers.ipynb index e03df24..c8a17b1 100644 --- a/colab_tutorials/02_pretrained_classifiers.ipynb +++ b/colab_tutorials/02_pretrained_classifiers.ipynb @@ -73,22 +73,36 @@ }, { "cell_type": "markdown", - "id": "139caa13", + "id": "8ff67182", "metadata": { - "id": "139caa13" + "id": "8ff67182" }, "source": [ - "In this tutorial, you will learn how to apply our pretrained Compocyte classifiers on test data." + "## Preprocessing and analysis" ] }, { - "cell_type": "markdown", - "id": "8ff67182", - "metadata": { - "id": "8ff67182" - }, + "cell_type": "code", + "execution_count": null, + "id": "10849364", + "metadata": {}, + "outputs": [], "source": [ - "## Preprocessing and analysis" + "#get the 10x 10k PBMC as an example dataset\n", + "!wget -q --user-agent=\"Mozilla/5.0\" -O pbmc_10k_v3.h5 \"https://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.h5\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc61d4df", + "metadata": {}, + "outputs": [], + "source": [ + "#load the data\n", + "adata = sc.read_10x_h5(\"pbmc_10k_v3.h5\")\n", + "adata.var_names_make_unique()\n", + "adata.raw = adata.copy()\n" ] }, { @@ -143,8 +157,6 @@ "\n", "# Works the same way with til_pretrained\n", "hc = pbmc_pretrained()\n", - "adata = sc.datasets.pbmc3k()\n", - "adata.raw = adata.copy()\n", "\n", "# Alternatively, upload data to google drive and read it\n", "# from google.colab import drive\n", @@ -533,14 +545,47 @@ "outputs": [], "source": [ "#convert into hierarchical annotation with Cytopus\n", - "\n", + "import cytopus as cp\n", "#load cytopus knowledge base\n", "G = cp.KnowledgeBase()\n", "\n", "#get nested dict of hierarchy in cytopus knowledge base\n", - "hierarchy_dict = cp.tl.hierarchy.get_hierarchy_dict(G)\n", - "#build hierarchy class\n", - "H = cp.tl.hierarchy.Hierarchy(hierarchy_dict)" + "hierarchy_dict = cp.tl.hierarchy.get_hierarchy_dict(G)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "890317c3", + "metadata": {}, + "outputs": [], + "source": [ + "#because of slight name mismatches in Cytopus and Compocyte we will rename two keys\n", + "def rename_dict_keys(d, key_mapping):\n", + " if isinstance(d, dict):\n", + " return {\n", + " key_mapping.get(k, k): rename_dict_keys(v, key_mapping) \n", + " for k, v in d.items()\n", + " }\n", + " return d\n", + "\n", + "mapping = {\n", + " 'CD8-Teffector': 'CD8-T-effector',\n", + " 'leuko': 'leukocyte'\n", + "}\n", + "\n", + "new_hierarchy = rename_dict_keys(hierarchy_dict, mapping)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d91c9b9", + "metadata": {}, + "outputs": [], + "source": [ + "# we can now build the hierarchy class\n", + "H = cp.tl.hierarchy.Hierarchy(new_hierarchy)" ] }, { @@ -561,7 +606,17 @@ "metadata": {}, "outputs": [], "source": [ - "#starting on top of the hierarchy we can find the most granular label for each cell. Here, we start from the root node 'all-cells' so that all cells will be annotated.\n", + "#For visualization purposes we will focus on the most important cell types\n", + "coarse_labels = ['CD4-T','CD8-T','CD56bright-NK','CD56dim-NK','B-naive','B-memory','plasma-blast','c-mono','nc-mono','i-mono','p-DC','cDC1','cDC2','cDC3']\n", + "_ = cp.tl.hierarchy.Hierarchy(H.trim_annotations(hc.adata, coarse_labels, obs_key='trimmed_annotation'))\n" + ] + }, + { + "cell_type": "markdown", + "id": "4abe410a", + "metadata": {}, + "source": [ + "#alternatively you can also retrieve the most granular annotations from the hierachy#starting on top of the hierarchy we can find the most granular label for each cell. Here, we start from the root node 'all-cells' so that all cells will be annotated.\n", "H.query_ancestors(query_node='all-cells', adata=hc.adata, obs_key='hierarchical_query')" ] }, @@ -590,10 +645,11 @@ } ], "source": [ - "sc.pl.dotplot(hc.adata, var_names=['CD3D','CD3G','TRAC','TRDC',\n", - " 'CD4', 'CD8A', 'KLRB1', 'NCAM1', 'FCGR3A', 'CD19', 'CD79A','IGHD','CD27','IGHG1',\n", - " 'CD38','SDC1', 'CD14', 'S100A8', 'LYZ', 'NRP1','IRF4','IRF7','IRF8',\n", - " 'CD1C','CLEC4A','XCR1', 'HBB', 'ITGB3'], standard_scale='var', use_raw=True, groupby='hierarchical_query')" + "#plot relevant cell type markers\n", + "sc.pl.dotplot(hc.adata, var_names=['CD3D','CD3G','CD3E',\n", + " 'CD4', 'CD8A', 'CD8B','NCR1', 'NCAM1', 'FCGR3A', 'CD19', 'CD79A','IGHD','IGHG1','CD27',\n", + " 'CD38','SDC1', 'MKI67','CD14', 'S100A8', 'LYZ', 'NRP1','IRF4','IRF7','IRF8',\n", + " 'CD1C','CLEC4A', 'HBB', 'ITGB3','TUBB1','FCGR3B',], standard_scale='var', use_raw=True, groupby='trimmed_annotation')" ] } ], From d3dd6427071fb6606438cb1ee25375efe0686946 Mon Sep 17 00:00:00 2001 From: wallet-maker Date: Sat, 25 Jul 2026 23:06:45 +0200 Subject: [PATCH 5/6] changed docstrings --- colab_tutorials/02_pretrained_classifiers.ipynb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/colab_tutorials/02_pretrained_classifiers.ipynb b/colab_tutorials/02_pretrained_classifiers.ipynb index c8a17b1..f98492c 100644 --- a/colab_tutorials/02_pretrained_classifiers.ipynb +++ b/colab_tutorials/02_pretrained_classifiers.ipynb @@ -616,7 +616,10 @@ "id": "4abe410a", "metadata": {}, "source": [ - "#alternatively you can also retrieve the most granular annotations from the hierachy#starting on top of the hierarchy we can find the most granular label for each cell. Here, we start from the root node 'all-cells' so that all cells will be annotated.\n", + "'''\n", + "alternatively you can also retrieve the most granular annotations from the hierachy \n", + "starting on top of the hierarchy we can find the most granular label for each cell. Here, we start from the root node 'all-cells' so that all cells will be annotated.\n", + "'''\n", "H.query_ancestors(query_node='all-cells', adata=hc.adata, obs_key='hierarchical_query')" ] }, From 79d53a85e6aa45880f76da51ff9738cdb083e077 Mon Sep 17 00:00:00 2001 From: wallet-maker Date: Sat, 25 Jul 2026 23:16:06 +0200 Subject: [PATCH 6/6] added scanpy import --- colab_tutorials/02_pretrained_classifiers.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/colab_tutorials/02_pretrained_classifiers.ipynb b/colab_tutorials/02_pretrained_classifiers.ipynb index f98492c..9e1b2da 100644 --- a/colab_tutorials/02_pretrained_classifiers.ipynb +++ b/colab_tutorials/02_pretrained_classifiers.ipynb @@ -100,6 +100,7 @@ "outputs": [], "source": [ "#load the data\n", + "import scanpy as sc\n", "adata = sc.read_10x_h5(\"pbmc_10k_v3.h5\")\n", "adata.var_names_make_unique()\n", "adata.raw = adata.copy()\n" @@ -153,7 +154,6 @@ "import Compocyte\n", "from Compocyte.core.hierarchical_classifier import HierarchicalClassifier\n", "from Compocyte.pretrained import til_pretrained, pbmc_pretrained\n", - "import scanpy as sc\n", "\n", "# Works the same way with til_pretrained\n", "hc = pbmc_pretrained()\n",