Scvelo-Complete Skill
Comprehensive assistance with scVelo RNA velocity analysis, generated from official documentation.
When to Use This Skill
This skill should be triggered when:
- •Working with scVelo for RNA velocity analysis - analyzing single-cell RNA-seq dynamics
- •Processing spliced/unspliced mRNA data - preparing data for velocity estimation
- •Implementing dynamical modeling - using EM framework or steady-state models
- •Visualizing velocity vectors - creating stream plots, embeddings, and gene-specific plots
- •Analyzing developmental trajectories - inferring latent time and cell fate decisions
- •Debugging scVelo workflows - troubleshooting preprocessing, velocity computation, or visualization issues
- •Learning scVelo best practices - understanding proper workflows and parameter selection
Quick Reference
Essential Workflow Examples
Example 1 - Basic Setup and Data Loading:
import scanpy as sc import scvelo as scv # Set up visualization defaults scv.set_figure_params() # Load built-in dataset adata = scv.datasets.pancreas()
Example 2 - Complete Preprocessing Pipeline:
# Filter genes, normalize, and compute moments scv.pp.filter_and_normalize(adata, min_shared_counts=20, n_top_genes=2000) scv.pp.moments(adata, n_neighbors=30, n_pcs=30)
Example 3 - Velocity Estimation (Stochastic Model):
# Compute RNA velocities using stochastic model scv.tl.velocity(adata, mode='stochastic') scv.tl.velocity_graph(adata)
Example 4 - Dynamical Modeling (Advanced):
# Recover full splicing dynamics scv.tl.recover_dynamics(adata) # Compute velocities with dynamical model scv.tl.velocity(adata, mode='dynamical')
Example 5 - Visualization and Plotting:
# Project velocities onto UMAP embedding scv.pl.velocity_embedding(adata, basis='umap') scv.pl.velocity_embedding_stream(adata, basis='umap')
Example 6 - Gene-Specific Velocity Analysis:
# Plot velocity for specific genes scv.pl.velocity(adata, var_names=['Ins1', 'Pdx1'], basis='umap')
Example 7 - Latent Time and Trajectory Analysis:
# Compute latent time from dynamics scv.tl.latent_time(adata) # Identify terminal states scv.tl.terminal_states(adata)
Example 8 - PAGA with Velocity Information:
# Create directed PAGA graph scv.tl.paga(adata, vkey='velocity', groups='clusters') scv.pl.paga(adata, basis='umap')
Example 9 - Working with External Data:
# Load your own data and merge spliced/unspliced
adata = sc.read_h5ad('your_data.h5ad')
ldata = sc.read_loom('spliced_unspliced.loom')
adata = scv.utils.merge(adata, ldata)
Example 10 - Data Quality Assessment:
# Check spliced/unspliced proportions scv.pl.proportions(adata, groupby='clusters') # Filter low-quality cells/genes scv.pp.filter_genes(adata, min_counts=10)
Reference Files
This skill includes comprehensive documentation organized by functionality:
Core Documentation
- •api_reference.md - Complete API reference for all scVelo functions
- •getting_started.md - Installation, basic workflow, and introduction
- •preprocessing.md - Data filtering, normalization, and moment computation
Analysis Methods
- •velocity_analysis.md - Velocity computation methods (stochastic, deterministic, dynamical)
- •inference.md - Metabolic labeling inference and parameter estimation
- •tutorials_basics.md - Basic analysis workflows and examples
- •tutorials_advanced.md - Advanced techniques and dynamical modeling
Visualization and Utilities
- •visualization.md - Plotting functions and visualization techniques
- •datasets.md - Available built-in datasets and their descriptions
- •utilities.md - Helper functions and data manipulation tools
Additional Resources
- •other.md - Miscellaneous functions, release notes, and utilities
Working with This Skill
For Beginners
- •Start with getting_started.md - Learn installation and basic workflow
- •Follow tutorials_basics.md - Step-by-step analysis examples
- •Use built-in datasets - Practice with pancreas or dentategyrus data
- •Master the preprocessing pipeline - Filter → normalize → moments → velocity
For Intermediate Users
- •Explore velocity_analysis.md - Understand different velocity models
- •Study tutorials_advanced.md - Learn dynamical modeling and latent time
- •Practice with visualization.md - Create publication-quality plots
- •Experiment with parameters - Optimize for your specific data
For Advanced Users
- •Dive into inference.md - Metabolic labeling and custom parameter estimation
- •Extend with utilities.md - Custom functions and data manipulation
- •Reference api_reference.md - Complete function documentation
- •Contribute to scVelo - Use development version and report issues
Key Concepts
RNA Velocity Fundamentals
- •Unspliced vs Spliced mRNA - Pre-mRNA (introns) vs mature mRNA (exons)
- •Velocity vectors - Direction and magnitude of transcriptional change
- •Steady-state assumption - Balance between transcription, splicing, degradation
Modeling Approaches
- •Steady-state/Deterministic - Simple linear regression approach
- •Stochastic - Second-order moments for better steady-state capture
- •Dynamical - Full likelihood-based EM framework for transient states
Core Workflow
- •Data preprocessing - Quality control and normalization
- •Moment computation - Neighborhood averages in PCA space
- •Velocity estimation - Gene-specific transcriptional dynamics
- •Graph construction - Cell-to-cell transition probabilities
- •Visualization - Projection onto embeddings and interpretation
Advanced Features
- •Latent time - Gene-shared internal clock from dynamics
- •Terminal states - Root and end points of trajectories
- •Differential kinetics - Statistical tests for kinetic regime changes
- •Driver genes - Putative regulators of cell fate decisions
Practical Tips
Data Requirements
- •Spliced/unspliced matrices - Essential for velocity computation
- •Quality control - Remove low-quality cells and genes
- •Sufficient depth - Adequate coverage for reliable moment estimation
Parameter Selection
- •n_neighbors - Typically 20-50, affects smoothing
- •n_top_genes - 1000-3000 HVGs for velocity computation
- •mode choice - 'stochastic' for speed, 'dynamical' for accuracy
Common Pitfalls
- •Insufficient preprocessing - Always filter and normalize properly
- •Over-smoothing - Too many neighbors can mask real dynamics
- •Wrong model choice - Transient states need dynamical modeling
Resources
Documentation Structure
- •references/ - Complete extracted documentation with examples
- •Original scVelo docs - Source documentation at scvelo.org
- •GitHub repository - Code, issues, and development
Community Support
- •GitHub discussions - Questions and community knowledge
- •Issue reporting - Bug reports and feature requests
- •Citation guidelines - Proper attribution for research use
Updating This Skill
To refresh this skill with updated documentation:
- •Re-run the documentation scraper with current scVelo version
- •Update reference files with latest API changes
- •Add new examples from recent tutorials and notebooks
- •Verify all code examples work with current dependencies
This skill was generated from scVelo official documentation and includes comprehensive coverage of RNA velocity analysis methods.