Repository navigation
Releases
Releases · causalpathlab/lupin-rs
lupin 0.2.3
lupin finds a pinto run's data from any working directory.
Install: cargo install lupin-rs
Fixes
- pinto records its data paths relative to the directory it ran in (e.g.
temp_gbm/gbm.zarr.zip). lupin now also tries them under the manifest's directory before falling back to the bare file name, solupin annotate -f path/to/run.pinto.jsonworks from anywhere.
lupin 0.2.2
Fixes to the moved-data lookup added in 0.2.1, matching senna's copy of the same rule.
Install: cargo install lupin-rs
Fixes
- Leading
..in a path are kept (../../a/bno longer becomesa/b). - The run's directory is made absolute without resolving symlinks, so moved runs under a symlinked tree are found.
- The last-resort search needs at least the file and its folder to match, so an unrelated file of the same name is not taken for the data. Substitutions are logged as warnings.
- The
--tuimarker-panel browser skips.zipfiles.
lupin 0.2.1
lupin 0.2.1 finds the data of runs that were moved, adds a file browser to annotate --tui, never replaces a manifest without asking, and annotates any level of a pinto cascade.
Install: cargo install lupin-rs
Highlights
Moved runs
- A run's recorded
data.input/data.batchfiles are found after the run moves to another directory or machine. lupin tries the path as recorded, then the same place relative to the run's new directory as it was relative to the trainingprefix's, then the longest tail of the path under the manifest's directory or one of its ancestors. It logs the substitution. senna uses the same rule.
lupin annotate --tui
-f,-mand-oare optional. A file browser picks the run manifest, then the marker panel, if the run records none. Each panel shows its number of types and genes and how many of those genes the run has; the panel covering the most is starred. Single-type panels are refused.-odefaults to{run}.L1.- The TUI annotates by enrichment unless
--methodis given, so bge / fne / gem runs show specific genes and NES / p / q too.
No silent overwrite
- lupin asks before replacing an existing manifest (
Replace it? [y/N]), and refuses when there is no terminal to ask on. The new global--overwritereplaces without asking. - annotate, ask and pseudotime check before doing any work, so a refusal erases nothing. plot records its clusters only when it needn't ask. The TUI confirms on screen.
pinto cascade levels
lupin annotate --level <tag>annotates one level of a pinto run, using that level's propensity as the clusters. The tag is recorded atannotate.settings.enrichment.leveland carried forward byrelabel --next.
lupin 0.2.0
lupin 0.2.0 adds an interactive terminal UI for annotating clusters, new enrichment statistics, and Cell Ontology data that ships as editable files.
Install: cargo install lupin-rs
Highlights
Interactive annotation: lupin annotate --tui
- Go through the clusters one at a time: see each cluster's candidate cell types with share, NES, p and q, and label it from the candidates or from the ontology tree.
- Browse the full Cell Ontology, searching names, synonyms and abbreviations. Give a cluster the evidence can't split a named mixed label.
- Edit marker panels from a cluster's specific genes: add them to a type, including a new one, drop them, or undo the edit.
- Live rescoring: after a marker edit, the cell types it touches are rescored in the background, and the cluster table shows the new share, NES, p and q before you save.
- Hide uninformative genes by name or pattern (e.g.
MT-*). Mark labels as kept or decided. Press?for the key guide. - Passes and saves run as background
lupinprocesses, with their output shown in a log pane. A running save is never interrupted.
Statistics
- Enrichment uses fgsea's normalized enrichment score (NES) and a permutation p-value.
- q-values are TreeBH-adjusted over the panel's cell-type tree, so a fine type is called only where its coarser class is. The share is a softmax of z = Φ⁻¹(1 − p).
--num-permnow defaults to 1000.
Cell Ontology data
- Matching rules and label aliases are data files, not code, layered in this order:
- the install;
- a download of this release;
~/.config/lupin/;- the project's
lupin/folder; - per-run flags.
lupin data whereshows which files are in use;lupin data fetchdownloads them.- Labels chosen in the TUI, hidden genes and mixed labels are saved as plain files in the project's
lupin/folder.
Other changes
- Marker gene files can be gzipped (
.gz). lupin relabel --previewrescores what decisions would change and reports every cluster's share, NES, p and q.
Breaking changes
- The marker bootstrap is gone, from annotation, relabeling and lineage calls. It made about 99.7% of cells abstain on real data and was slow.
- Runs record
annotate.cluster_celltype_pandcluster_celltype_nes; thecluster_celltype_supportandmarker_supportoutputs are removed.
Dependencies
- legume-enrichment 0.4.1, which adds
annotate_typesandadjustfor rescoring a subset of cell types.
Full changelog: v0.1.5...v0.2.0