Skip to content

save() crashes after simple_aggregate() #204

Description

@EitanGronich

Hi,

Working solely based on your tutorial, it seems using .save() after simple_aggregate crashes and creates an unusable .pxl file.

Minimal code:

from pathlib import Path
import pixelator
from pixelator import simple_aggregate


DATA_DIR = Path('./datasets')
FILENAMES = [
    "Sample05_V2_PBMC_r1.layout.dataset.pxl",
    "Sample06_V2_PBMC_r2.layout.dataset.pxl",
]

COMBINED_FILENAME = "combined_resting_data.pxl"

combined_path = DATA_DIR / COMBINED_FILENAME
baseurl = "https://pixelgen-technologies-datasets.s3.eu-north-1.amazonaws.com/mpx-datasets/pixelator/0.18.x/technote-v1-vs-v2-immunology-II"
for filename in FILENAMES:
    !curl -L -O -C - --create-dirs --output-dir {DATA_DIR} "{baseurl}/{filename}"

pg_data = pixelator.simple_aggregate(
    ["resting_r1", "resting_r2", ], [pixelator.read(DATA_DIR / filename) for filename in FILENAMES]
)
pg_data.save(combined_path, force_overwrite=True)


Result:

ComputeError: ValueError: Attempt to use ZIP archive that was already closed

I'm using python 3.10.16 and pixelator 0.19. Attached is environment.txt (the .yml file I wrote to create the conda environment, converted to .txt so I can upload it here) and printed_environment.txt (same but created by conda env export so this is the exact environment I'm running on).
Platform is Red Hat Enterprise Linux 9.1 (Plow) Linux 5.14.0-162.6.1.el9_1.x86_64,
but I had the exact same issue on Ubuntu 24.04.1 LTS Linux 5.15.167.4-microsoft-standard-WSL2.

Any clue?

Thanks!

environment.txt
printed_environment.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions