Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,15 @@ Utilities specifically for stitching operations.
scallops.stitch.utils.tile_overlap_mask


Datasets
===================
Builtin datasets for testing

.. autosummary::
:toctree: .

scallops.datasets.example_feature_summary_stats
scallops.datasets.feldman_2019_small

.. _`SKimage' phase cross correlation`: https://scikit-image.org/docs/stable/api/skimage.registration.html#skimage.registration.phase_cross_correlation
.. _ITK: https://itk.org/Doxygen/html/RegistrationPage.html
4 changes: 2 additions & 2 deletions docs/notebooks/data_structures.ipynb
Git LFS file not shown
4 changes: 2 additions & 2 deletions docs/notebooks/ops.ipynb
Git LFS file not shown
4 changes: 2 additions & 2 deletions docs/notebooks/plotting.ipynb
Git LFS file not shown
65 changes: 65 additions & 0 deletions scallops/datasets/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
from pathlib import Path


def example_feature_summary_stats() -> Path:
"""Example phenotype feature summary statistics.

:return: Path to Parquet file.
"""
import pooch

registry = {
"features/plotting-notebook-example-summary-stats.pq": None,
}
path = pooch.os_cache("scallops")
p = pooch.create(
path=path,
base_url="https://github.com/Genentech/scallops/raw/refs/heads/main/scallops/tests/data/",
registry=registry,
)
for key in registry.keys():
p.fetch(key)
return path / "features" / "plotting-notebook-example-summary-stats.pq"


def feldman_2019_small() -> Path:
"""Example SBS and phenotype tiles from Optical Pooled Screens in Human Cells
by Feldman et al. (https://www.cell.com/cell/fulltext/S0092-8674(19)31067-0).

:return: Path to root data directory.
"""

import pooch

registry = {
"experimentC/input/10X_c10-SBS-10/10X_c10-SBS-10_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c10-SBS-10/10X_c10-SBS-10_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c1-SBS-1/10X_c1-SBS-1_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c1-SBS-1/10X_c1-SBS-1_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c7-SBS-7/10X_c7-SBS-7_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c7-SBS-7/10X_c7-SBS-7_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c2-SBS-2/10X_c2-SBS-2_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c2-SBS-2/10X_c2-SBS-2_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c9-SBS-9/10X_c9-SBS-9_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c9-SBS-9/10X_c9-SBS-9_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c4-SBS-4/10X_c4-SBS-4_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c4-SBS-4/10X_c4-SBS-4_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c3-SBS-3/10X_c3-SBS-3_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c3-SBS-3/10X_c3-SBS-3_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c8-SBS-8/10X_c8-SBS-8_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c8-SBS-8/10X_c8-SBS-8_A1_Tile-103.sbs.tif": None,
"experimentC/input/10X_c5-SBS-5/10X_c5-SBS-5_A1_Tile-102.sbs.tif": None,
"experimentC/input/10X_c5-SBS-5/10X_c5-SBS-5_A1_Tile-103.sbs.tif": None,
"experimentC/10X_c0-DAPI-p65ab/10X_c0-DAPI-p65ab_A1_Tile-103.phenotype.tif": None,
"experimentC/10X_c0-DAPI-p65ab/10X_c0-DAPI-p65ab_A1_Tile-102.phenotype.tif": None,
"experimentC/barcodes.csv": None,
}
path = pooch.os_cache("scallops")
p = pooch.create(
path=path,
base_url="https://github.com/Genentech/scallops/raw/refs/heads/main/scallops/tests/data/",
registry=registry,
)
for key in registry.keys():
p.fetch(key)
return path / "experimentC"
2 changes: 1 addition & 1 deletion scallops/visualize/registration.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ def plot_registration(
)
plt.show()
"""
stacks = [x.isel(z=0).squeeze() for x in stacks]
stacks = [x.isel(z=0, missing_dims="ignore").squeeze() for x in stacks]
axes = None
all_rounds = [stack.coords["t"].values for stack in stacks]
assert all(array_equal(all_rounds[0], x) for x in all_rounds), (
Expand Down