v0.20.0
[0.20.0] - 2025-04-24
This is a large release that reorganizes Pixelator in a major way. We introduce the new module pixelator.pna,
which is used to process and analyze data from the Proximity Network Assay (PNA). As a consequence of this, we
have moved what used to be Pixelator into two modules: pixelator.mpx for processing and analyzing Molecular
Pixelation (MPX) data, and pixelator.common, which contains functions and classes used by both methods.
As a user, the most noticeable difference is that if you want to read pixel files to work with MPX data, you will now need to use:
Molecular Pixelation data
from pixelator import read_mpx
from pixelator import simple_aggregate_mpx
Proximity Network Assay data
from pixelator import read_pna
With the introduction of the Proximity Network Assay, we have revamped the entire data processing
pipeline to handle the new data type. We have also introduced a new pixel file format
that utilizes DuckDB files to store the data. This allows us to be much
more flexible and faster in loading and processing the data compared to the zip-based format we use
for MPX data.
Another major workflow change in how Pixelator is used to work with Proximity Network Assay data
is that there is no need to explicitly aggregate data. Instead, the read_pna function
accepts a list of files and automatically aggregates the data for you,
without the need to create a new aggregated PXL file.
For an updated view on how to work with Pixelator, please check out the documentation.
There, you will also find updates on the new algorithms used for the Proximity Network Assay, etc.
Added
- All functionality for analyzing PNA data.
Changed
- The command-line entry point for MPX data has changed from
pixelator single-celltopixelator single-cell-mpx.
For analysis of MPX data, you should now read MPX data like this:
from pixelator import read_mpx
pxl_dataset = read_mpx("path/to/pxl")
- The function
dsb_normalizeis now a common method for both MPX and PNA data:
from pixelator.common.statistics import dsb_normalize
Fixed
- In some cases,
local_gwould return scrambled results due to inconsistent node ordering. This
has now been fixed.