Skip to content

truecell 1.1.0

Latest

Choose a tag to compare

@shanikawm shanikawm released this 07 Aug 21:02
· 2 commits to main since this release
0e891b5

Fourteen pull requests since 1.0.0. Backwards compatible — nothing removed or
renamed — so the additions are safe, and the reasons to upgrade are the
corrections
.

Fixed — these are live in 1.0.0 today

The categorical palette repeated colours, so two clusters could render identically #86
vln_plot drew the wrong violin three ways — bandwidth, trim, and points #89
aggregate_expression(return_object=True) left raw sums in data where Seurat log-normalizes (14 against 6.98) #93
_get_expression_matrix returned the wrong layer when asked for scale.data, and labelled the right one with the wrong features #93
The pbmc3k annotated UMAP captioned the platelet cluster "DC" #98
feature_plot alone rasterised its points, and did so unconditionally #86

If you run pseudobulk, read a violin, or trust a cluster colour, 1.0.0 is giving
you something wrong.

Added

  • average_expression, mirroring Seurat's AverageExpression — the
    back-transformed per-group mean, distinct from aggregate_expression's sums.
  • find_clusters accepts several resolutions and writes a
    {graph}_res.{r} column per resolution, as FindClusters does. Choosing a
    resolution means comparing a few.
  • split_by on dim_plot, feature_plot and vln_plot.
  • A theme layerset_theme, theme_context, get_theme, reset_theme.
  • ridge_plot warns when an explicit figsize cannot fit the groups.

Performance

find_markers computes its min_pct and logfc_threshold masks on the sparse
matrix and densifies only the survivors, instead of building a dense
genes × cells array per group first. Marker tables are byte-identical:

dataset (clusters) time peak memory
ifnb (15) 25.37s → 8.03s 9420 MB → 3580 MB
pbmc8k (9) 12.71s → 6.32s 9253 MB → 2406 MB
thp1 (7) 45.52s → 23.87s 10620 MB → 9428 MB

A cross-language benchmark suite against R Seurat landed alongside it —
tutorials/benchmark/PERFORMANCE.md.

Verification

  • add_module_score is now verified against Seurat as an equality, not a
    correlation.
    At nbin=1 with ctrl = pool size, sample(n, n) is a
    permutation, so the control set is forced and the two tools agree to
    6.66e-15 across 20,729 cells — against 1.8e-01 between two R seeds.
  • The guided tutorial scans four resolutions, each scored against Seurat.
    Cluster counts match exactly at 0.4, 0.8 and 1.2; the 8-vs-9 split is specific
    to 0.5.
  • CI now runs the PBMC 3k tutorials against real data, with a skip counted
    as a failure. The 1.0.0 mislabelling above shipped under a guard that was
    correct and had never executed.
  • Float64 round-trips fixed across every tutorial's R↔Python handoff.

Install

pip install --upgrade truecell

Full detail in CHANGELOG.md.