Releases: PixelgenTechnologies/pixelator
0.29.0
[0.29.0] - 2026-06-15
Added
annotate_cellsmethod to determine cell-types using another given set of pre-annotated cells.proxiome-v2-immuno-155-v2.0panels (including panels for FLAG, FMC63 and G4S add ons to the immuno-155 base panel)- Expose
coarsened_pmds_3d(and other supported layout algorithms) on thesingle-cell-pna layoutCLI, and makecoarsened_pmds_3dthe default.
Changed
- Switch sample calling evaluation metric to hash enrichment factor instead of hash purity.
- Reduce memory usage in
pna_edgelist_to_anndataby restricting duckdb queries to 512 components at a time.
Fixed
- Always route DuckDB spill files to a local temp directory (
PIXELATOR_DUCKDB_TEMP_DIRor/tmp)
instead of next to the.pxldatabase file. This preventsdenoise, component filtering and other
commands from spilling onto networked filesystems (e.g. to S3 when running the pipeline in the cloud)
where the.pxlmay live. - Fix the prerelease panel naming, rename
proxiome-v2-immuno-155-v2.0toproxiome-v2-immuno-155-prerelease.
0.28.0
[0.28.0] - 2026-06-03
Added
coarsened_pmds_layoutmethod for more performant cell layout computation
Fixed
- Performance regression (introduced in 0.27.1) in the graph command, where memory usage became
extremely high towards the final stages of the process - Fix rename panel files to reflect current version
0.27.2
0.27.1
[0.27.1] - 2026-05-27
Added
- Add FMC63 proxiome-v2 panel
Fixed
- Fix full name of CD45RO in the
proxiome-v1andproxiome-v2panel files. - Fix CD298 annotation in the
proxiome-v2panel files. - Propagate the demux --mismatches cli argument to correct_marker_barcodes (was using default i.e. 1)
- Follow uv.lock when building docker containers
0.27.0
[0.27.0] - 2026-05-22
Added
- Two new denoising methods to
pixelator single-cell-pna denoise:- Adaptive Core Denoising (ACE) denoising: removes peripheral-like nodes around the graph core.
- Partial Least Squares (PLS) denoising: filters nodes using PLS components associated with coreness.
- Automatically bump panel patch version when possible, when creating an reading Anndata object.
Changed
- When parsing panel files, trailing commas in the header will now give a warning and ignore the trailing commas,
instead of raising an error.
Removed
- Remove the
reportcommand for both PNA and MPX.
Parameters
pixelator single-cell-pna denoise
| Old parameter | New parameter |
|---|---|
--run-ace-denoising |
|
--ace-k |
|
--ace-max-k-core |
|
--ace-no-select-lcc |
|
--one-core-ratio-threshold |
|
--pval-threshold |
|
--inflate-factor |
|
--run-pls-denoising |
|
--pls-ncomp |
|
--pls-model-k |
|
--pls-pred-k |
|
--pls-use-weights / --pls-no-weights |
|
--pls-normalization |
|
--pls-residualize |
|
--pls-component-p-threshold |
|
--pls-min-coreness-correlation |
|
--pls-score-threshold |
Note
Parameter has been updated if both old and new parameter information is present.
Parameter has been added if just the new parameter information is present.
Parameter has been removed if new parameter information isn't present.
0.26.0
[0.26.0] - 2026-05-04
Important changes
The assay and panel names have been migrated to the new naming scheme.
Use proxiome-v1 instead of pna-2 for the --design command-line argument.
See the updated table below for which panel version to use:
| Kit lot | Panel version | Old panel name | New panel name |
|---|---|---|---|
| 2502–2506 | Immuno 155 | proxiome-immuno-155-v2 | proxiome-v1-immuno-155-v1.0 |
| 2502–2506 | Immuno 155 + FMC63 | proxiome-immuno-156-FMC63-v2 | proxiome-v1-immuno-156-FMC63-v1.0 |
| 2507 and above | Immuno 155 v1.1 | proxiome-immuno-155-v3 | proxiome-v1-immuno-155-v1.1 |
| 2507 and above | Immuno 155 v1.1 + FLAG | proxiome-immuno-156-FLAG-v3 | proxiome-v1-immuno-156-FLAG-v1.1 |
| 2507 and above | Immuno 155 v1.1 + FMC63 | proxiome-immuno-156-FMC63-v3 | proxiome-v1-immuno-156-FMC63-v1.1 |
The old panel names no longer work; please specify the new panel name instead.
Added
-
Add the option to calculate proximity scores from edgelist using analytical expected join counts.
PNAPixelDataset.proximity(calculate_from_edgelist=True)is used to compute these scores. -
New implementation of
pixelator single-cell-pna graph,
This version introduces a new workflow, combining a pre-processing step
using the fast label propagation algorithm, a main step using the Leiden
algorithm, and a second Leiden refinement pass on the remaining cell
clusters.Finally, this introduces an optional crossing edge filter step using cycle verification.
This replaces the old graph command, which has been renamed into
graph_legacy.Instead of parameters
--min-component-size-in-refinementand
--min-component-size-to-prune, this new implementation uses a common
threshold set by--component-size-min-threshold, or 8000 by default. -
Dependency:
pixelgen-pixelator-core(Python bindings for the native graph step). -
Add new optional field
archivedto panel metadata. -
The parameter
--list-panelsnow lists panels without the archived metadata field. -
Add new option
--list-panels-including-archivedto list all panels including archived ones. -
Add bundled
proxiome-v2assay design andproxiome-v2-immuno-155-v1.0panel resources. -
Add support for resolving PNA panels by product name in config lookup.
-
Add support for inline panel version specifiers in panel identifiers (for example
panel==1.1.0).
Changed
- The previous implementation has been renamed and is available with
pixelator single-cell-pna graph_legacy. - Rename bundled PNA v1 resources to
proxiome-v1-*naming for assays and panels. IMPORTANT: the old panel names no longer work. To rerun old data, update relevant scripts to the new panel name(s). - Remove all panel aliases. Use the correct panel name, or alternatively use a product name with a version specifier to select the panel.
- Panel selection is now stricter when multiple versions exist: ambiguous major/minor requests raise errors and require explicit version disambiguation.
- Panel metadata validation now requires front matter with
nameand a parseableversion.
Parameters
pixelator single-cell-pna graph
| Old parameter | New parameter |
|---|---|
--edge-cycle-verification |
|
--leiden-iterations |
|
--min-component-size-in-refinement |
|
--min-component-size-to-prune |
Note
Parameter has been updated if both old and new parameter information is present.
Parameter has been added if just the new parameter information is present.
Parameter has been removed if new parameter information isn't present.
Fixed
- Calculate double-sided p-values instead of single-sided for proximity scores.
- sample calling will now use the pool name in the file name of undetermined
components to avoid file name collisions in the pipeline. - Improve the error message when concatenating AnnData objects with incompatible marker (
var) schemas.
0.25.0
[0.25.0] - 2026-04-15
Added
- Add sample calling functionality
- Add FLAG and FMC63 v3 panels
Changed
- Change default value for parameter axis of function clr_transformation to be 1.
- Refactor IO classes to handle .pxl files
Fixed
- Fix logging for log1p_transformation and clr_transformation to state that the stats correspond to components and not nodes.
- Fix bug in unpacking 4bit packed sequences.
- Fix bug in sample calling that removed the ending of antibodies that ended with
-<digit>.
0.24.0
[0.24.0] - 2026-03-16
Added
- Add progress status updates to the log for
ampliconanddemuxsteps in case of non-tty runs, handled byLogProgressutility class. - Update README with proximity network assay citation information.
- The degree distribution of UMIs is now included in the collapse report.
- New logging messages about the amount of shared memory requested and available from the collapse step
- Add
DownloadableDatasetshelper to download example datasets
Changed
- Use 64-bit unsigned integers for counts in collapse step to support >4.2B reads.
- Remove the warning when setting minimum size manually. It is observed that 8000 is a
reliable minimum size for components.
Fixed
- Ensure that additional adata columns are not removed in the denoise step.
- Ensure temporary files are cleaned up in the layout step.
- Droped UMI tools as dependency to avoid build issues.
- Filtering was not working consistently across all data modalities of the pixeldataset
0.23.0
[0.23.0] - 2025-12-01
Important changes
To avoid mistakes in choosing panels, the default panel alias proxiome-immuno-155 has been removed.
Users must now explicitly choose a panel version when using Pixelator with PNA data depending on
which kit lot has been used to produce the data. See the table below for which panel version to use:
| Kit lot | Panel version | Panel name |
|---|---|---|
| 2502–2506 | Immuno 155 | proxiome-immuno-155-v2 |
| 2502–2506 | Immuno 155 + FMC63 | proxiome-immuno-156-FMC63-v2 |
| 2507 and above | Immuno 155 v1.1 | proxiome-immuno-155-v3 |
| 2507 and above | Immuno 155 v1.1 + FLAG | proxiome-immuno-156-FLAG-v3 |
| 2507 and above | Immuno 155 v1.1 + FMC63 | proxiome-immuno-156-FMC63-v3 |
Added
- Support for Python 3.13.
- Add a new filter controlled by the
--low-complexityflag topixelator single-cell-pna amplicon.
This filter removes reads with UMIs with low sequence complexity. The threshold can be controlled
using the--umi-complexity-thresholdparameter. This filter is enabled by default. - Add a new filter controlled by the
--lbs-filterflagpixelator single-cell-pna amplicon.
This filter removes UMIs where a linker binding site (LBS) sequence is found within a UMI sequence.
The filtering behavior can be controlled using the--lbs-filter-min-overlapand
--lbs-filter-error-rateparameters. This filter is enabled by default. proxiome-immuno-155-v3panel added with new barcode sequences for CD49e, CD79a, and ICOS.- Improve the panel file validation by checking for white-spaces in marker ids.
Changed
- Moved from using
poetrytouvfor dependency management and packaging. - Better performance when reading adata from multiple pxl files.
Fixed
- Fix an issue with DuckDB connection initialization that caused configured memory limits for
pixelator single-cell-pna combine-collapseto be ignored.