|
31 | 31 | "import spatialdata as sdata\n", |
32 | 32 | "import spatialdata_io as sdio\n", |
33 | 33 | "import matplotlib.pyplot as plt\n", |
34 | | - "import spatialdata_plot\n", |
35 | 34 | "import os\n", |
36 | 35 | "import tempfile\n", |
37 | 36 | "import subprocess\n", |
38 | 37 | "import scanpy as sc\n", |
| 38 | + "\n", |
39 | 39 | "print(f\"spatialdata_io=={sdio.__version__}\")\n", |
40 | 40 | "print(f\"spatialdata=={sdata.__version__}\")" |
41 | 41 | ] |
|
67 | 67 | "metadata": {}, |
68 | 68 | "outputs": [], |
69 | 69 | "source": [ |
70 | | - "\n", |
71 | 70 | "print(f\"Downloading files to: {tmp_dir}\")\n", |
72 | 71 | "\n", |
73 | 72 | "# List of files to download\n", |
|
81 | 80 | " \"https://cf.10xgenomics.com/samples/spatial-exp/4.0.1/Visium_HD_3prime_Mouse_Brain/Visium_HD_3prime_Mouse_Brain_molecule_info.h5\",\n", |
82 | 81 | " \"https://cf.10xgenomics.com/samples/spatial-exp/4.0.1/Visium_HD_3prime_Mouse_Brain/Visium_HD_3prime_Mouse_Brain_segmented_outputs.tar.gz\",\n", |
83 | 82 | " \"https://cf.10xgenomics.com/samples/spatial-exp/4.0.1/Visium_HD_3prime_Mouse_Brain/Visium_HD_3prime_Mouse_Brain_spatial.tar.gz\",\n", |
84 | | - " \"https://cf.10xgenomics.com/samples/spatial-exp/4.0.1/Visium_HD_3prime_Mouse_Brain/Visium_HD_3prime_Mouse_Brain_web_summary.html\"\n", |
| 83 | + " \"https://cf.10xgenomics.com/samples/spatial-exp/4.0.1/Visium_HD_3prime_Mouse_Brain/Visium_HD_3prime_Mouse_Brain_web_summary.html\",\n", |
85 | 84 | "]\n", |
86 | 85 | "\n", |
87 | 86 | "# Download files\n", |
|
96 | 95 | " tar_path = os.path.join(tmp_dir, fname)\n", |
97 | 96 | " subprocess.run([\"tar\", \"-xzf\", tar_path, \"-C\", tmp_dir], check=True)\n", |
98 | 97 | "\n", |
99 | | - "print(\"Download and unpack complete.\")\n" |
| 98 | + "print(\"Download and unpack complete.\")" |
100 | 99 | ] |
101 | 100 | }, |
102 | 101 | { |
|
156 | 155 | } |
157 | 156 | ], |
158 | 157 | "source": [ |
159 | | - "visium_hd_mouse_brain = sdio.visium_hd(tmp_dir,\n", |
160 | | - " load_segmentations_only=True,\n", |
161 | | - " # needed for centroids but otherwise don't have to load nuclei\n", |
162 | | - " # Will increase load time as matrix is calculated from the 2um binned data\n", |
163 | | - " load_nucleus_segmentations=True,\n", |
164 | | - " )" |
| 158 | + "visium_hd_mouse_brain = sdio.visium_hd(\n", |
| 159 | + " tmp_dir,\n", |
| 160 | + " load_segmentations_only=True,\n", |
| 161 | + " # needed for centroids but otherwise don't have to load nuclei\n", |
| 162 | + " # Will increase load time as matrix is calculated from the 2um binned data\n", |
| 163 | + " load_nucleus_segmentations=True,\n", |
| 164 | + ")" |
165 | 165 | ] |
166 | 166 | }, |
167 | 167 | { |
|
240 | 240 | } |
241 | 241 | ], |
242 | 242 | "source": [ |
243 | | - "visium_hd_mouse_brain.pl.render_images().pl.show()\n" |
| 243 | + "visium_hd_mouse_brain.pl.render_images().pl.show()" |
244 | 244 | ] |
245 | 245 | }, |
246 | 246 | { |
|
342 | 342 | "gene_name = \"Hpca\"\n", |
343 | 343 | "(\n", |
344 | 344 | " visium_hd_mouse_brain.pl.render_images(\"Visium_HD_3prime_Mouse_Brain_lowres_image\")\n", |
345 | | - " .pl.render_shapes(\"Visium_HD_3prime_Mouse_Brain_cell_segmentations\", color = gene_name)\n", |
| 345 | + " .pl.render_shapes(\"Visium_HD_3prime_Mouse_Brain_cell_segmentations\", color=gene_name)\n", |
346 | 346 | " .pl.show(coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
347 | 347 | ")" |
348 | 348 | ] |
|
409 | 409 | ], |
410 | 410 | "source": [ |
411 | 411 | "# Add mitochondrial gene calculation for QC\n", |
412 | | - "visium_hd_mouse_brain.tables[\"cell_segmentations\"].var[\"mt\"] = visium_hd_mouse_brain.tables[\"cell_segmentations\"].var_names.str.startswith((\"MT-\", \"mt-\"))\n", |
413 | | - "sc.pp.calculate_qc_metrics(visium_hd_mouse_brain.tables[\"cell_segmentations\"], qc_vars=['mt'], inplace=True, percent_top=None)\n", |
| 412 | + "visium_hd_mouse_brain.tables[\"cell_segmentations\"].var[\"mt\"] = visium_hd_mouse_brain.tables[\n", |
| 413 | + " \"cell_segmentations\"\n", |
| 414 | + "].var_names.str.startswith((\"MT-\", \"mt-\"))\n", |
| 415 | + "sc.pp.calculate_qc_metrics(\n", |
| 416 | + " visium_hd_mouse_brain.tables[\"cell_segmentations\"], qc_vars=[\"mt\"], inplace=True, percent_top=None\n", |
| 417 | + ")\n", |
414 | 418 | "\n", |
415 | 419 | "fig, axes = plt.subplots(2, 2, figsize=(12, 10))\n", |
416 | 420 | "\n", |
|
420 | 424 | " stripplot=False,\n", |
421 | 425 | " inner=\"box\",\n", |
422 | 426 | " ax=axes[0, 0],\n", |
423 | | - " show=False\n", |
| 427 | + " show=False,\n", |
424 | 428 | ")\n", |
425 | 429 | "axes[0, 0].set_title(\"Total UMI\")\n", |
426 | 430 | "\n", |
|
430 | 434 | " stripplot=False,\n", |
431 | 435 | " inner=\"box\",\n", |
432 | 436 | " ax=axes[0, 1],\n", |
433 | | - " show=False\n", |
| 437 | + " show=False,\n", |
434 | 438 | ")\n", |
435 | 439 | "axes[0, 1].set_title(\"Total Genes\")\n", |
436 | 440 | "\n", |
|
440 | 444 | " stripplot=False,\n", |
441 | 445 | " inner=\"box\",\n", |
442 | 446 | " ax=axes[1, 0],\n", |
443 | | - " show=False\n", |
| 447 | + " show=False,\n", |
444 | 448 | ")\n", |
445 | 449 | "axes[1, 0].set_title(\"Mitochondrial Genes\")\n", |
446 | 450 | "\n", |
447 | 451 | "# Hide the unused subplot\n", |
448 | | - "axes[1, 1].axis('off')\n", |
| 452 | + "axes[1, 1].axis(\"off\")\n", |
449 | 453 | "\n", |
450 | 454 | "plt.tight_layout()\n", |
451 | 455 | "plt.show()\n", |
452 | | - "plt.close('all')" |
| 456 | + "plt.close(\"all\")" |
453 | 457 | ] |
454 | 458 | }, |
455 | 459 | { |
|
467 | 471 | "metadata": {}, |
468 | 472 | "outputs": [], |
469 | 473 | "source": [ |
470 | | - "sc.pp.normalize_total(visium_hd_mouse_brain.tables[\"cell_segmentations\"], target_sum = None)\n", |
| 474 | + "sc.pp.normalize_total(visium_hd_mouse_brain.tables[\"cell_segmentations\"], target_sum=None)\n", |
471 | 475 | "sc.pp.log1p(visium_hd_mouse_brain.tables[\"cell_segmentations\"])\n", |
472 | 476 | "sc.tl.pca(visium_hd_mouse_brain.tables[\"cell_segmentations\"])" |
473 | 477 | ] |
|
489 | 493 | ], |
490 | 494 | "source": [ |
491 | 495 | "# neighborhood and clustering resolution\n", |
492 | | - "RES = 0.5 # clustering resolution\n", |
| 496 | + "RES = 0.5 # clustering resolution\n", |
493 | 497 | "NEIGHBORS = 30 # number of neighbors\n", |
494 | 498 | "\n", |
495 | | - "MIN_DIST=0.5 #default 0.5\n", |
496 | | - "SPREAD=2 #default 1\n", |
| 499 | + "MIN_DIST = 0.5 # default 0.5\n", |
| 500 | + "SPREAD = 2 # default 1\n", |
497 | 501 | "\n", |
498 | | - "sc.pp.neighbors(visium_hd_mouse_brain.tables[\"cell_segmentations\"], n_neighbors=NEIGHBORS, use_rep=\"X_pca\",metric=\"correlation\")\n", |
499 | | - "sc.tl.leiden(visium_hd_mouse_brain.tables[\"cell_segmentations\"], flavor=\"igraph\", key_added=\"clusters\", resolution=RES,random_state=0)" |
| 502 | + "sc.pp.neighbors(\n", |
| 503 | + " visium_hd_mouse_brain.tables[\"cell_segmentations\"], n_neighbors=NEIGHBORS, use_rep=\"X_pca\", metric=\"correlation\"\n", |
| 504 | + ")\n", |
| 505 | + "sc.tl.leiden(\n", |
| 506 | + " visium_hd_mouse_brain.tables[\"cell_segmentations\"],\n", |
| 507 | + " flavor=\"igraph\",\n", |
| 508 | + " key_added=\"clusters\",\n", |
| 509 | + " resolution=RES,\n", |
| 510 | + " random_state=0,\n", |
| 511 | + ")" |
500 | 512 | ] |
501 | 513 | }, |
502 | 514 | { |
|
549 | 561 | "source": [ |
550 | 562 | "(\n", |
551 | 563 | " visium_hd_mouse_brain.pl.render_images(\"Visium_HD_3prime_Mouse_Brain_lowres_image\")\n", |
552 | | - " .pl.render_shapes(\"Visium_HD_3prime_Mouse_Brain_cell_segmentations\",\n", |
553 | | - " color=\"clusters\"\n", |
554 | | - " )\n", |
| 564 | + " .pl.render_shapes(\"Visium_HD_3prime_Mouse_Brain_cell_segmentations\", color=\"clusters\")\n", |
555 | 565 | " .pl.show(title=\"clusters over H&E image\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
556 | 566 | ")" |
557 | 567 | ] |
|
611 | 621 | "(\n", |
612 | 622 | " crop0_lowres(visium_hd_mouse_brain, 150, 250, 300, 500, \"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
613 | 623 | " .pl.render_images(\"Visium_HD_3prime_Mouse_Brain_lowres_image\")\n", |
614 | | - " .pl.render_shapes(\"Visium_HD_3prime_Mouse_Brain_cell_segmentations\",\n", |
615 | | - " color=\"clusters\",\n", |
616 | | - " outline_width = 0.10,\n", |
617 | | - " outline_alpha = 1)\n", |
618 | | - " .pl.show(title=f\"Mouse Hypothalamus Clusters\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
| 624 | + " .pl.render_shapes(\n", |
| 625 | + " \"Visium_HD_3prime_Mouse_Brain_cell_segmentations\", color=\"clusters\", outline_width=0.10, outline_alpha=1\n", |
| 626 | + " )\n", |
| 627 | + " .pl.show(title=\"Mouse Hypothalamus Clusters\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
619 | 628 | ")" |
620 | 629 | ] |
621 | 630 | }, |
|
670 | 679 | } |
671 | 680 | ], |
672 | 681 | "source": [ |
673 | | - "centroids = sdata.get_centroids(visium_hd_mouse_brain.shapes['Visium_HD_3prime_Mouse_Brain_nucleus_segmentations'], coordinate_system=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
674 | | - "visium_hd_mouse_brain.points['Visium_HD_3prime_Mouse_Brain_nucleus_centroids'] = centroids\n", |
| 682 | + "centroids = sdata.get_centroids(\n", |
| 683 | + " visium_hd_mouse_brain.shapes[\"Visium_HD_3prime_Mouse_Brain_nucleus_segmentations\"],\n", |
| 684 | + " coordinate_system=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\",\n", |
| 685 | + ")\n", |
| 686 | + "visium_hd_mouse_brain.points[\"Visium_HD_3prime_Mouse_Brain_nucleus_centroids\"] = centroids\n", |
675 | 687 | "visium_hd_mouse_brain" |
676 | 688 | ] |
677 | 689 | }, |
|
730 | 742 | "source": [ |
731 | 743 | "(\n", |
732 | 744 | " visium_hd_mouse_brain.pl.render_images(\"Visium_HD_3prime_Mouse_Brain_lowres_image\")\n", |
733 | | - " .pl.render_points(\"Visium_HD_3prime_Mouse_Brain_nucleus_centroids\", size = 0.2, color = \"black\")\n", |
| 745 | + " .pl.render_points(\"Visium_HD_3prime_Mouse_Brain_nucleus_centroids\", size=0.2, color=\"black\")\n", |
734 | 746 | " .pl.show(title=\"Centroids over H&E image\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
735 | 747 | ")" |
736 | 748 | ] |
|
788 | 800 | "(\n", |
789 | 801 | " crop0_lowres(visium_hd_mouse_brain, 150, 250, 300, 500, \"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
790 | 802 | " .pl.render_images(\"Visium_HD_3prime_Mouse_Brain_lowres_image\")\n", |
791 | | - " .pl.render_points(\"Visium_HD_3prime_Mouse_Brain_nucleus_centroids\", size = 0.2, color = \"black\")\n", |
792 | | - " .pl.show(title=f\"Mouse Hypothalamus Centroids\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
| 803 | + " .pl.render_points(\"Visium_HD_3prime_Mouse_Brain_nucleus_centroids\", size=0.2, color=\"black\")\n", |
| 804 | + " .pl.show(title=\"Mouse Hypothalamus Centroids\", coordinate_systems=\"Visium_HD_3prime_Mouse_Brain_downscaled_lowres\")\n", |
793 | 805 | ")" |
794 | 806 | ] |
795 | 807 | } |
|
0 commit comments