|
19 | 19 | { |
20 | 20 | "cell_type": "code", |
21 | 21 | "execution_count": null, |
22 | | - "metadata": { |
23 | | - "tags": [] |
24 | | - }, |
25 | | - "outputs": [], |
26 | | - "source": [ |
27 | | - "#!pip install \"vitessce[all]==3.3.0\" esbuild_py anndata\n", |
28 | | - "!pip install \"mlxtend~=0.23.0\"\n", |
29 | | - "#!pip install -i \"https://test.pypi.org/simple/\" SpatialQuery\n", |
30 | | - "!pip install \"SpatialQuery @ git+https://github.com/ShaokunAn/Spatial-Query@main\"" |
31 | | - ] |
32 | | - }, |
33 | | - { |
34 | | - "cell_type": "code", |
35 | | - "execution_count": 1, |
36 | 22 | "metadata": {}, |
37 | 23 | "outputs": [], |
38 | 24 | "source": [ |
|
48 | 34 | "from vitessce.widget_plugins import SpatialQueryPlugin" |
49 | 35 | ] |
50 | 36 | }, |
| 37 | + { |
| 38 | + "cell_type": "markdown", |
| 39 | + "metadata": {}, |
| 40 | + "source": [ |
| 41 | + "## Download example dataset\n", |
| 42 | + "\n", |
| 43 | + "Download the `secondary_analysis.h5ad` file for sample `HBM838.LDFP.578` from the HuBMAP Portal at https://portal.hubmapconsortium.org/browse/dataset/5bf1e7b295343c4537206beda25aa4ca" |
| 44 | + ] |
| 45 | + }, |
51 | 46 | { |
52 | 47 | "cell_type": "code", |
53 | | - "execution_count": 2, |
| 48 | + "execution_count": null, |
54 | 49 | "metadata": {}, |
55 | 50 | "outputs": [], |
56 | 51 | "source": [ |
57 | | - "adata = read_h5ad(join(\"data\", \"HBM987_KWLK_254\", \"secondary_analysis.h5ad\"))\n", |
| 52 | + "import os\n", |
| 53 | + "from os.path import join, isfile, isdir\n", |
| 54 | + "from urllib.request import urlretrieve\n", |
| 55 | + "\n", |
| 56 | + "adata_path = join(\"data\", \"HBM987_KWLK_254\", \"secondary_analysis.h5ad\")\n", |
58 | 57 | "zarr_path = join(\"data\", \"HBM987_KWLK_254\", \"secondary_analysis.h5ad.zarr\")\n", |
| 58 | + "\n", |
| 59 | + "if not isdir(join(\"data\")):\n", |
| 60 | + " os.makedirs(join(\"data\"), exist_ok=True)\n", |
| 61 | + " if not isdir(join(\"data\", \"HBM987_KWLK_254\")):\n", |
| 62 | + " os.makedirs(join(\"data\", \"HBM987_KWLK_254\"), exist_ok=True)\n", |
| 63 | + " urlretrieve('https://assets.hubmapconsortium.org/0a21f3fa27109790483f2a0729be53de/secondary_analysis.h5ad', adata_path)" |
| 64 | + ] |
| 65 | + }, |
| 66 | + { |
| 67 | + "cell_type": "code", |
| 68 | + "execution_count": null, |
| 69 | + "metadata": {}, |
| 70 | + "outputs": [], |
| 71 | + "source": [ |
| 72 | + "adata = read_h5ad(adata_path)\n", |
59 | 73 | "adata.write_zarr(zarr_path)" |
60 | 74 | ] |
61 | 75 | }, |
62 | 76 | { |
63 | 77 | "cell_type": "code", |
64 | | - "execution_count": 3, |
| 78 | + "execution_count": null, |
65 | 79 | "metadata": {}, |
66 | 80 | "outputs": [], |
67 | 81 | "source": [ |
68 | | - "plugin = SpatialQueryPlugin(adata)" |
| 82 | + "adata" |
69 | 83 | ] |
70 | 84 | }, |
71 | 85 | { |
72 | 86 | "cell_type": "code", |
73 | | - "execution_count": 12, |
| 87 | + "execution_count": null, |
| 88 | + "metadata": {}, |
| 89 | + "outputs": [], |
| 90 | + "source": [ |
| 91 | + "plugin = SpatialQueryPlugin(adata, label_key=\"predicted_label\", spatial_key=\"X_spatial\", feature_name=\"hugo_symbol\")" |
| 92 | + ] |
| 93 | + }, |
| 94 | + { |
| 95 | + "cell_type": "code", |
| 96 | + "execution_count": null, |
74 | 97 | "metadata": {}, |
75 | 98 | "outputs": [], |
76 | 99 | "source": [ |
77 | 100 | "vc = VitessceConfig(schema_version=\"1.0.16\", name=\"Spatial-Query\")\n", |
78 | 101 | "dataset = vc.add_dataset(\"Query results\").add_object(AnnDataWrapper(\n", |
79 | 102 | " adata_path=zarr_path,\n", |
80 | 103 | " obs_feature_matrix_path=\"X\",\n", |
81 | | - " obs_set_paths=[\"obs/predicted.ASCT.celltype\"],\n", |
| 104 | + " obs_set_paths=[\"obs/predicted_label\"],\n", |
82 | 105 | " obs_set_names=[\"Cell Type\"],\n", |
83 | 106 | " obs_spots_path=\"obsm/X_spatial\",\n", |
84 | 107 | " feature_labels_path=\"var/hugo_symbol\",\n", |
|
119 | 142 | }, |
120 | 143 | { |
121 | 144 | "cell_type": "code", |
122 | | - "execution_count": 13, |
| 145 | + "execution_count": null, |
123 | 146 | "metadata": {}, |
124 | 147 | "outputs": [], |
125 | 148 | "source": [ |
126 | 149 | "vw = vc.widget(height=900, plugins=[plugin], remount_on_uid_change=False)\n", |
127 | 150 | "vw" |
128 | 151 | ] |
| 152 | + }, |
| 153 | + { |
| 154 | + "cell_type": "code", |
| 155 | + "execution_count": null, |
| 156 | + "metadata": {}, |
| 157 | + "outputs": [], |
| 158 | + "source": [] |
129 | 159 | } |
130 | 160 | ], |
131 | 161 | "metadata": { |
|
144 | 174 | "name": "python", |
145 | 175 | "nbconvert_exporter": "python", |
146 | 176 | "pygments_lexer": "ipython3", |
147 | | - "version": "3.10.14" |
| 177 | + "version": "3.12.13" |
148 | 178 | } |
149 | 179 | }, |
150 | 180 | "nbformat": 4, |
|
0 commit comments