scvelo

RNA velocity analysis with scVelo. Estimate cell state transitions from unspliced/spliced mRNA dynamics, infer trajectory directions, compute latent time, and identify driver genes in single-cell RNA-seq data. Complements Scanpy/scVI-tools for trajectory inference.

Install

Hot:23

Download and extract to your skills directory

Copy command and send to AI Agent for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-skills-scvelo&locale=en&source=copy

scvelo — RNA Velocity Analysis

Overview of Skills


scvelo is a Python tool for analyzing single-cell RNA-seq data. By modeling mRNA splicing kinetics, it infers cell-state transition trajectories, predicts differentiation directions, and identifies driver genes. It can reconstruct developmental trajectories without requiring time-series data.

Use Cases

  • Developmental trajectory inference: Determine cell differentiation directions from snapshot data at a single time point. Suitable for developmental biology studies such as hematopoiesis, neurogenesis, and epithelial-to-mesenchymal transition, helping reveal the dynamic processes underlying cell fate decisions.
  • Cell fate prediction: Identify progenitor cells and their downstream fates. Use the unspliced/spliced mRNA ratio to determine whether genes are upregulated or downregulated. Combine this with latent time to provide a time-dimension ordering of cells during the developmental process.
  • Driver gene identification: Discover genes whose kinetics best explain the observed trajectories. Use rank_velocity_genes and phase portrait analyses to identify key transcription factors and signaling molecules that regulate cell-state transitions.
  • Core Functions

  • RNA velocity calculation: Supports two models—stochastic (for rapid exploration) and dynamical (for high-precision publications). Based on hierarchical unspliced and spliced RNA data, it computes a gene expression velocity vector for each cell and generates a flow-field arrow plot in UMAP space.
  • Trajectory inference and visualization: Construct a transition probability matrix between cells via velocity_graph. Provides velocity_embedding_stream streamline plots and PAGA trajectory plots to intuitively display differentiation paths and branch points.
  • Time-series analysis and gene dynamics: The dynamical model can compute latent time (shared pseudotime), estimate transcription/splicing/degradation rates (fit_alpha/fit_beta/fit_gamma), and evaluate gene-level model fitting quality through fit_likelihood.
  • FAQs

    What data format does scvelo require?


    scvelo requires an AnnData object containing two layers: unspliced and spliced. These data can be generated using STARsolo, the kallisto|bustools lamanno mode, the velocyto CLI, or alevin-fry. Ensure that adata.layers['spliced'] and adata.layers['unspliced'] are present, and that obsm includes UMAP coordinates for visualization.

    What is the difference between the stochastic and dynamical models?


    The stochastic model is fast and suitable for exploratory analysis of large datasets. The dynamical model fits complete splicing kinetics with higher accuracy; it can identify driver genes and compute latent time, but it is computationally intensive (about 10–30 minutes for ~10,000 cells). It is recommended to start with stochastic for exploration, and use dynamical for publication.

    How do I interpret the RNA velocity arrow plot?


    Arrow direction indicates the cell’s expected future state, and arrow length indicates the rate of change. Healthy data should show coherent flow patterns, with arrows following known biological routes (e.g., from stem cells to differentiated cells). Random or chaotic arrows may indicate data quality issues or inappropriate parameters; check the unspliced read coverage and the n_neighbors setting.