{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Clustering for multiple mouse embryo dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data preprocessing" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import stSCI\n", "import scanpy as sc\n", "\n", "sc_adata = sc.read('data/mouse_embyro/embryo_48_embryo_49.h5ad')\n", "sc_adata.obs['cluster'] = sc_adata.obs['celltype_update']\n", "sc_adata.var_names = sc_adata.var['gene_short_name'].astype(str)\n", "st_adata = sc.read('data/mouse_embryo/embryo_e13.5.h5ad')\n", "st_adata.obsm['spatial'] = st_adata.obsm['refined_spatial_3D']\n", "\n", "sc.pp.highly_variable_genes(sc_adata, flavor='seurat_v3', n_top_genes=5000)\n", "sc.pp.highly_variable_genes(st_adata, flavor='seurat_v3', n_top_genes=5000)\n", "sc.pp.normalize_total(sc_adata, target_sum=1e4)\n", "sc.pp.normalize_total(st_adata, target_sum=1e4)\n", "sc.pp.log1p(sc_adata)\n", "sc.pp.log1p(st_adata)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model training\n", "\n", "Same as single slice clustering process, we use the function `stSCI.train()` function to learn the representation. For multi-slice clustering, stSCI can automatically identify the 3D spatial coordinates and run the training 3D pipeline." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ ">>> INFO: Filtered 756 genes.\n", ">>> INFO: Find 2244 same HVGs, result data shapes: [(120811, 2244), (16418, 2244)].\n", ">>> INFO: Generate 6902 edges, 6.000 edges per spot (0.00s).\n", ">>> INFO: Generate 12691 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 15708 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 15498 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 11956 edges, 6.000 edges per spot (0.00s).\n", ">>> INFO: Generate 11802 edges, 6.000 edges per spot (0.00s).\n", ">>> INFO: Generate 10374 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 10556 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 11767 edges, 6.000 edges per spot (0.01s).\n", ">>> INFO: Generate 7672 edges, 6.000 edges per spot (0.00s).\n", ">>> INFO: Generate 200942 multi-slice edges, 11.239 edges per spot (0.13s).\n", ">>> INFO: Finish PCA (52.41s).\n", ">>> INFO: Finish centroid generation (10.26s).\n", ">>> INFO: Finish centroid generation (0.67s).\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ ">>> Train stSCI: 100%|██████████| 500/500 [04:00<00:00, 2.08it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ ">>> INFO: Train stSCI model (385.76s).\n" ] } ], "source": [ "sc_adata, st_adata = stSCI.train(sc_adata, st_adata, cluster_method='louvain', cluster_para=0.4, multi_slice_key='section', clustering=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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Ynni8QqVSpRM2xLxRA3Psxi7fpilYmvrPbTCt+qU0jeoh0r4dg0/tLLoTgvPJXjh8sbXm39dce75k5w6paEiebA0fCQPBc+t8dHrP6TUPB+0Bet/uldbUfi+Rd0NUZjLNFUSe7fYdoVqbHa/p9kgkUgQBAEXLlzgpZde2ud9GZGdKRTkoeH7HqX8PQq3b5q1oPdifYuKW2O9zN1r3/G43uNtOBGbu1fnCfx1azh3XcQPVbY9PhaL4fs+58+fp7e3l88//5xLly6tWcHNsixGR0dpa2sjl8tx9uxZBYH8v9LwkTw0bNshneshneshme1iaXaGyU8+wqu7u1qFbX1bilh84/rKma4YQQBPPN9H99EM0USI7qONdR9ufDjL29+7Qr3qM/JiP+09CS6N5bk29smGh/hGR0dJpVJ0d3czMjKy5gI/MjJCb28vExMTDA4OMjLSaE0R2cVQmchBU6UgD7Wl/CzjF39GpbhItbi4u4NXxpJuXD9CqZTm3MtHiCZCZPtTHD7TuePhze2xXdfl3XffZWZmhuHhYU6fPo1lWcTjra0uJ/JFoVCQR4LveXz69psUbo3jhCP0PTlK4PtMXP4Q3/PWVBKWbZM7Poxl22QHj9HWd6TRmVozekQUCvJoqddqOKGQWahn6d4MN3/9HoHn0//0OSLxJJFEknBs/60lRB5FCgURETHUTlFERAyFgoiIGAoFERExFAoiImIoFERExFAoiIiIoVAQERFDoSAiIoZCQUREDIWCiIgYCgURETEUCiIiYigURETEUCiIiIihUBAREUOhICIihkJBREQMhYKIiBgKBRERMRQKIiJiKBRERMRQKIiIiKFQEBERQ6EgIiKGQkFERAyFgoiIGAoFERExFAoiImIoFERExFAoiIiIoVAQERFDoSAiIoZCQUREDIWCiIgYCgURETEUCiIiYigURETEUCiIiIihUBAREUOhICIihkJBREQMhYKIiBgKBRERMRQKIiJiKBRERMRQKIiIiKFQEBERQ6EgIiKGQkFERAyFgoiIGAoFERExFAoiImIoFERExFAoiIiIoVAQERFDoSAiIoZCQUREDIWCiIgYCgURETEUCiIiYigURETEUCiIiIihUBAREUOhICIihkJBREQMhYKIiBgKBRERMRQKIiJiKBRERMRQKIiIiKFQEBERQ6EgIiKGQkFERAyFgoiIGAoFEREx/g+8CFSD6tclyAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from stSCI.utils.plot import get_palette\n", "\n", "label = \"cluster_result\"\n", "palette = get_palette(st_adata.obs[label].unique())\n", "z = st_adata.obsm['spatial'][:, 0]\n", "x = st_adata.obsm['spatial'][:, 1]\n", "y = st_adata.obsm['spatial'][:, 2]\n", "colors = [palette[s] for s in st_adata.obs[label]]\n", "\n", "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "\n", "fig = ax.scatter(xs=x, ys=y, zs=z, c=colors, s=5, alpha=1.0)\n", "\n", "ax.azim = 100\n", "ax.elev = 125\n", "\n", "ax.set_axis_off()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "stSCI", "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.10.14" } }, "nbformat": 4, "nbformat_minor": 2 }