| name | scvelo-complete |
| description | scVelo RNA速度分析工具包 - 100%覆盖文档(78个文件:完整API+教程+动态建模+可视化) |
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.