omicverse-single-cell-sctour-trajectory
Installation
SKILL.md
OmicVerse Single-Cell scTour Trajectory
Goal
Run the sctour branch of ov.single.TrajInfer on a raw-count AnnData and capture the trainer-produced pseudotime, latent space, and vector field. Keep this separate from the lighter graph-based trajectory skill because it has a different dependency and compute profile.
Quick Workflow
- Inspect the input
AnnDataand confirm raw UMI counts are available in.X. - Preserve or restore counts into
.Xbefore thesctourcall. - Instantiate
ov.single.TrajInfer(...)with the plottingbasis,groupby, and any existing representation you want to preserve for downstream plots. - Run
TrajInfer.inference(method='sctour', **trainer_kwargs). - Validate that pseudotime, latent coordinates, and vector-field outputs were written.
- For lineage topology, draw the unified trajectory backbone with
ov.pl.trajectory(adata, method='sctour', ...)or overlay on a custom UMAP withov.pl.trajectory_overlay(adata, ax=ax, method='sctour')— same visual grammar shared with the other trajectory skills (commit4f28ab6). - Summarize branch structure with
ov.pl.branch_streamplot(adata, group_key=..., pseudotime_key='sctour_pseudotime'). - Fit marker trends with the shared GAM stack:
ov.single.dynamic_features(adata, genes=..., pseudotime='sctour_pseudotime')→ov.pl.dynamic_trends(...); many-gene panels viaov.pl.dynamic_heatmap(...). - Only invert or rescale pseudotime after fit when that direction change is biologically justified for the dataset.