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
feat: forward --small-thresh to alevin-fry from quant and multiplex-quant
alevin-fry resolves cells below --small-thresh through a fast path that applies
cr-like semantics regardless of --resolution. That is a deliberate optimization
-- such cells carry one or two ambiguous UMIs and are filtered by any QC -- but
until now it was neither visible nor adjustable from simpleaf.
Forwarded only when the user sets it, so alevin-fry's own default stands
otherwise. alevin-fry < 0.17.1 parses the option and ignores it, which is noted
in the help text and the docs.
Verified end to end against the pbmc_1k_v3 mapping directory with
-r parsimony-em: unset records small_thresh=100 with 71,298 cells on the fast
path and 132 empty; --small-thresh 0 records small_thresh=0 with 0 on the fast
path and 0 empty, recovering 82,069 UMIs (0.53%) across 452,324 extra matrix
entries -- matching the figure measured by driving alevin-fry directly.
Also refreshes the docs' embedded --help blocks, which still carried the
"only if using piscem >= 0.7" text removed from --decoy-paths earlier.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VhyNvEWUgY8ALVacdJHxVJ
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/quant-command.md
+43-1Lines changed: 43 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,40 @@ It is possible to have pieces of geometry repeated, in which case they will be e
35
35
:::note
36
36
If you use a custom geometry frequently, you can add it to the chemistries registry. For details on adding your own chemistry definition to the registry, please read about the [chemistry command](/simpleaf/chemistry-command/).
37
37
:::
38
+
## Tiny cells and `--small-thresh`
39
+
40
+
`alevin-fry` resolves very small cells through a fast path that skips the
41
+
equivalence-class machinery entirely. That path implements `cr-like`
42
+
(winner-take-all) semantics, and it applies to cells below the threshold
43
+
*regardless of what you pass to*`--resolution` — so under `parsimony-em`, a
44
+
tiny cell whose UMIs are all gene-ambiguous is resolved by discarding them
45
+
rather than by spreading them fractionally.
46
+
47
+
This is deliberate. Cells that small carry on the order of one or two distinct
48
+
UMIs, typically ambiguous between paralogous genes, and are removed by any
49
+
reasonable QC filter whichever way they resolve. Skipping the full machinery
50
+
for them is a large saving on datasets with many low-count barcodes.
51
+
52
+
`--small-thresh` makes the behaviour visible and adjustable:
53
+
54
+
```sh
55
+
# resolve every cell with the requested strategy, however small
0 commit comments