BioF3 FigCode · SCI 绘图代码集

RNA 速率流场图(scVelo Stream)

导出日期:2026年6月27日

分类:降维可视化 | 依赖包:scvelo、scanpy

解决的生物学问题

细胞下一刻往哪个状态走?分化轨迹的方向是从 A 到 B 还是反过来?

应用场景

输入数据格式

AnnData 对象(含 spliced / unspliced 矩阵,loom 格式)

关键参数

快速开始

1. 直接在线运行

打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。

2. 本地复现

下载脚本和示例数据,本地 RStudio 运行:

# 下载
curl -O https://<your-site>/figcode/scripts/scvelo-stream.R
curl -O https://<your-site>/figcode/data/scvelo-stream.csv

3. 安装依赖

# CRAN 包
install.packages(c("scvelo", "scanpy"))

# Bioconductor 包(如需)
# BiocManager::install(c())

完整代码

import scvelo as scv
import scanpy as sc

# --- Demo: built-in pancreas dataset ---
adata = scv.datasets.pancreas()

# --- Standard preprocessing ---
scv.pp.filter_and_normalize(adata, min_shared_counts=20, n_top_genes=2000)
scv.pp.moments(adata, n_pcs=30, n_neighbors=30)

# --- Velocity (stochastic mode is fast for demo) ---
scv.tl.velocity(adata, mode="stochastic")
scv.tl.velocity_graph(adata)

# --- Stream plot on UMAP ---
scv.pl.velocity_embedding_stream(
    adata,
    basis="umap",
    color="clusters",
    title="RNA velocity stream",
    legend_loc="right margin",
    figsize=(8, 6),
    save="plot_001.png", show=False, dpi=150
)
print(f"Cells: {adata.n_obs}, clusters: {adata.obs['clusters'].nunique()}")

替换为自己的数据

脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:

延伸阅读