假如你手上有很多大 stereoseq 片子(eg: )的空间转录组数据, 使用 scanpy 相关接口将其转换为 adata 会超级超级慢! 并占用巨量内存. 于是我开发了这个工具:
- 并行稀疏处理, 内存占用低, 速度极快 (基于 polars 和 numba)
- 可处理 spot-bin 和 cell-bin (没有 cell label 也能先用用)
- 兼容多个 stereo-seq 下机版本
- 可预过滤细胞外表达
- 可一次处理整个目录并在 obs 里添加分区名称 (如果使用我发布的标准格式的话, 比如猕猴屏状核那篇 Cell 里的数据)
只需要:
import s2a
adata = s2a.stereo_df_to_adata(
<your df or your df path>,
obs_src='cell_label' # cell_label or spot_bin
# spot_bin_size=50 # if you are using spot_bin, spot_bin_size is required
verbose=True
)
print(adata)查看项目主页: https://github.com/myuanz/stereoseq-to-adata
安装:
uv add stereoseq-to-adata
# or
pip install stereoseq-to-adata有需求或 Bug 请发 issue, 项目仍在维护
我上份工作期间处理过很多单细胞和空间组学的数据, 非常重要的一部分就是华大基因的 stereo-seq 数据. 他们有一套官方的 SAW 工具链, 但接口难用、功能缺失、某些任务很慢. 特别是处理较大 stereo-seq 测试结果时, 更佳难用.
这个工具代码最早作为一个大工具包的子集发布在内网的 pypi-server 里, 后来有合作方想用, 于是我整理了一下开源并发布到 pypi. 前些日子跟老同事聊天, 才知道现在华大内部也有人在用这个工具, 真是倒反天罡, 不过也激起了写一篇文章宣传一下的念头, 现在回头看, 过去几年做过很多有趣的东西, 可是几乎没有公开过, 十分遗憾.