You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[0.30.0] - 2026-08-05
Added
pixelator.pna.analysis.comparison.compare_sample_pairs and compare_sample_pairs_by_gate
to check that pairs of PNA samples are similar in terms of abundance (mean marker CLR) and
proximity (mean marker-pair proximity score) patterns, reporting the correlation between
each pair. In case of gating (e.g. ["+CD3e", "+CD4", "-CD19"]), components are first filtered
with positive/negative thresholds determined automatically from each marker's CLR distribution.
pixelator.pna.analysis.gating.determine_marker_threshold to determine a positive/negative CLR
threshold for a marker, warning and skipping markers whose distribution appears unimodal.
pixelator.pna.plot.plot_sample_pair_comparison and write_sample_pair_comparison_report to plot
and collect sample pair abundance/proximity comparisons into an HTML report.
Setup for generating API documentation pages from source files, and a workflow for building and
deploying the docs automatically.
PNAAssay and PNAAntibodyPanel now hold an optional path to the path they were parsed from.
pixelator.common.plot with Pixelgen's brand colors, gradients, palettes, and theme
(PIXELGEN_ACCENT_COLORS, PIXELGEN_CELL_PALETTE, pixelgen_gradient, pixelgen_palette, pixelgen_accent_colors, pixelgen_discrete_colors, create_discrete_palette, pixelgen_colorscale/pixelgen_sequential_colormap/pixelgen_divergent_colormap/pixelgen_colormap, set_pixelgen_theme/pixelgen_theme, style_facet_strips).
Spectral layout algorithm
single-cell-pna denoise and single-cell-pna sample-calling now report input_reads and output_reads in report.json.
Changed
The default min_allowed_nodes_pct in adaptive_core_expansion has been changed from 0.8 to 0.9,
meaning that a valid "high" core partition must include at least 90% of all nodes. Components that
don't meet this criterion will not be denoised by ACE.
pixelator.mpx.plot and pixelator.pna.plot functions now use the Pixelgen brand theme and color
palettes from pixelator.common.plot by default.
pixelgen_divergent_colormap and the plot_colocalization_heatmap/ plot_colocalization_diff_volcano/plot_polarity_diff_volcano plots that use it now center on a
light Pixelgen grey rather than white, and use a min_level floor on both hues, so values near
zero stay visible against a white background instead of fading out.
Color scales for signed metrics (abundance_colocalization_plot's hue mapping, plot_colocalization_heatmap's center=0, and the CenteredNorm used by the volcano plots) are
now correctly centered on zero, instead of on the (potentially skewed) 10th-90th percentile midpoint
or raw data min/max.
single-cell-pna graph now discards components above the max size threshold before the refinement
step instead of only at the end, reducing peak memory usage. This only applies when --component-size-max-threshold is set.
Fixed
The graph stage now raises an error instead of an internal DuckDB crash when a component-size
threshold discards every component in the input.
single-cell-pna graph no longer crashes with a polars.exceptions.SchemaError on n_edges
(Int64 vs UInt32) when calculating post-recovery component statistics with --multiplet-recovery and a --component-size-max-threshold that discards large components.
write_parameters_file now includes Click positional arguments (e.g. multi-file inputs) under cli.arguments in *.meta.json, not only options.
filter_connected_components_by_size now ensures matching size schemas between discarded and remaining components.