Releases: PixelgenTechnologies/pixelator
Releases · PixelgenTechnologies/pixelator
v0.18.3
v0.17.3
[0.17.3] - 2024-08-29
Fixed
- A bug in
compute_transition_probabilities
whenk>1
where the weight matrix was not computed correctly. This bug also affected the results fromlocal_g
whenk>1
which results in invalid Z scores.
Full Changelog: v0.17.2...v0.17.3
v0.16.3
[0.16.3] - 2024-07-29
Fixed
- Pin
scipy
version to be compatible withtriu
function used in the 0.16 series
Full Changelog: v0.16.2...v0.16.3
v0.18.2
[0.18.2] - 2024-07-16
Changed
- Bump polars to stable 1.x series
Fixed
- Fix a qc report crash issue when the layout stage is run in a pipeline due to an unsupported parameter type.
v0.18.1
[0.18.1] - 2024-07-12
Changed
- Bump
umi_tools
version requirements
v0.17.2
[0.17.2] - 2024-07-12
- Bump
umi_tools
version requirements - Fix a bug in aggregating files with precomputed layouts, where the lazy-loading of the layouts was not working correctly.
Full Changelog: v0.17.1...v0.17.2
v0.18.0
[0.18.0] - 2024-07-11
Added
- Add minimum marker count
colocalization_min_marker_count
parameter to calculate colocalization score. - Add
density_scatter_plot
function to make two-marker abundance scatter plots with pseudo-density coloring. - Add
wpmds
option inpmds_layout
to compute edge weighted layouts. This is now set as the default layout algorithm. - Add
dsb_normalization
function for normalization of marker abundance. - Add a
Fraction of Outlier Cells
metric to the QC report. - Add a
Panel Version
metadata field to the QC report. - Add support for datasets generated using the
human-sc-immunology-spatial-proteomics-2
panel.
Changed
- The default value for
normalize_counts
inlocal_g
is nowFalse
instead ofTrue
. - The default transformation for the calculation of the colocalization score is now
rate-diff
instead oflog1p
. - Rename
edge_rank_plot
function tomolecule_rank_plot
.
Fixed
- Fix a bug in
compute_transition_probabilities
whenk>1
where the stochastic matrix was not correctly row-normalized. - Fix a bug in
local_g
whenuse_weights=False
where the adjacency matrix was not correctly expended ifk>1
. - Fix a bug where
a_pixels_per_b_pixel
summary statistics where equal to theb_pixels_per_a_pixel
statistics. collapse
will return exit code 137 when one of the child processes is killed by the system (e.g. because it is
to much memory). This allows e.g. Nextflow to retry the process with more memory automatically.- Hide the
Sample Description
metadata field in the QC report when no value is available. - Fix an issue where boolean parameters were formatted as integers in the Parameters section of the QC report.
- Fix a bug in aggregating files with precomputed layouts, where the lazy-loading of the layouts was not working correctly.
Removed
- Remove the
Pixel Version
metadata field from the QC report.
v0.17.1
[0.17.1] - 2024-05-27
Fixed
- Poor performance when writing many small layouts to pxl file (~45x speed-up). This should almost only
impact test scenarios, since most real components should be large enough for this not to be an issue.
v0.17.0
[0.17.0] - 2024-05-23
Added
- Add
rate_diff_transformation
function withrate-diff
alias as an alternative option for transforming marker counts before colocalization calculation. - Add
local_g
function to compute spatial autocorrelation of marker counts per node. - Add
compute_transition_probabilities
function to compute transition probabilities for k-step random walks for node pairs in a graph. - Add QC plot showing UMIs per UPIA vs Tau.
- Add plot functions showing edge rank and cell counts.
- Add 2D and 3D graph plot functions.
- Add heatmap plot functions showing colocalization and differential colocalization.
- Add volcano plot (value difference vs log p-value) function for differential colocalization.
- Add a function to calculate the differential colocalization between two conditions.
- Performance improvements and reduced bundle size in QC report.
- Improved console output in verbose mode.
- Improved logging from multiprocessing jobs.
- Improved runtime for graph creation.
- Added PMDS layout algorithm.
- Add
--sample_name
option tosingle-cell amplicon
to overwrite the name derived from the input filename. - Add
--skip-input-checks
option tosingle-cell amplicon
to make input filename checks warnings instead of errors. PixelDataset
instances are now written to disk without creating intermediate files on-disk.- A nice string representation for the
Graph
class, to let you know how many nodes and edges there are in the current graph object instance. - Metric to collect molecules (edges) in cells with outlier distributions of antibodies (aggregates).
- Provide typed interfaces for all per-stage report files using pydantic.
- Centralize pixelator intermediate file lookup and access.
- Add a
precomputed_layouts
property toPixelDataset
to allow for loading precomputed layouts. - Add
pixelator single-cell layout
stage to pixelator, which allows users to compute layouts for a PXL file that can then be used to visualize the graph in 2D or 3D downstream. - Add minimum marker count
polarization_min_marker_count
parameter to calculate Polarity Score. - Add "log1p" as an alternative for
PolarizationNormalizationTypes
. - Add
convert_indices_to_integers
option when creating graphs. - Add a feature flag module to aid in the development of new features.
Changed
- Change name and description of
Avg. Reads per Cell
andAvg. Reads Usable per Cell
in QC report. - The output name of the
.pxl
file from theannotate
step is now*.annotated.dataset.pxl
. - The output name of the
.pxl
file from theanalysis
step is now*.analysis.dataset.pxl
. - The term
edges
inmetrics
andadata
is now replaced withmolecules
. - Renaming of variables in per-stage JSON reports.
- Changed name of TCRb to TCRVb5 antibody in human-immunology-panel file and bumped to version 0.5.0.
- Renaming of component metrics in adata.
- Use MPX graph compatible permutation strategy when calculating Moran's I related statistics.
- Marker filtering is now done after count transformation in polarization score calculation.
- Use the input read count at the annotate stage for the
fraction_antibody_reads_in_outliers
metric denominator instead of the total raw input reads. - Use common analysis engine to orchestrate running different "per component" analyses, like polarization and colocalization analysis (yielding a roughly 3x speed-up over the previous approach).
- The default transformation for the calculation of the polarity score is now
log1p
instead ofclr
.
Fixed
- Fix a bug in how discarded UMIs are calculated and reported.
- Fix deflated counts in the edgelist after collapse.
- Fix a bug where an
r1
orr2
in the directory part of a read file would break file name sanity checks. - Fix a bug where the wrong
r1
orr2
in the filename would be removed when multiple matches are present. - Logging would cause deadlocks in multiprocessing scenarios, this has been resolved by switching to a server/client-based logging system.
- Fix a bug in the amplicon stage where read suffixes were not correctly recognized.
- Ensure deterministic results from
pmds_layout
(given a set seed). - Fix an issue with the
fraction_antibody_reads_usable_per_cell
metric where the denominator read count was not correctly averaged with the cell count.
Removed
- Remove multi-sample processing from all
single-cell
subcommands. - Remove
--input1_pattern
and--input2_pattern
fromsingle-cell amplicon
command. - Self-correlations, e.g. CD8 vs CD8 are no longer part of the colocalization results, as these values will always be undefined.
- Remove
umi_unique_count
andupi_unique_count
fromedgelist
. - Remove
umi
andmedian_umi_degree
fromcomponent
metrics. - Remove
normalized_rel
anddenoised
fromobsm
inanndata
. - Remove the
denoise
function. - Remove cell type selector in QC report for UMAP colored by molecule count plots.
- Remove
clr
as a transformation option inpixelator analysis
.