NBT | 使用CytoSPACE对单细胞和空间转录组进行高分辨率比对
最近的研究强调了单细胞空间生物学的重要性,但现有的空间转录组学检测方法具有有限的基因恢复或低空间分辨率。近日,《Nature Biotechnology 》发表了一种将单个细胞从scRNA-seq图谱映射到空间表达谱的优化方法:CytoSPACE。
CytoSPACE是什么?
CytoSPACE是一种将单细胞转录组分配给原位空间转录组学(ST)数据的计算方法,需要组织样本的空间转录组分析和注释的scRNA-seq图谱作为输入,并产生具有高基因覆盖率和适合下游分析的空间分辨scRNA-seg数据的重建组织样本。CytoSPACE提供bulk ST和单细胞ST模式。
CytoSPACE通过受约束的全局优化来产生单细胞到组织的稳健映射。它对整个转录组进行操作,而不会减少预选标记基因或共享嵌入空间,从而保持对细微细胞状态的敏感性。
具体来说,CytoSPACE构建了(1)一组与ST样本中预测存在的scRNA-seq相匹配的输入scRNA-seq,以及(2)根据每个位置的预测细胞密度,ST样本中可用的一组“子点”。有了这些匹配的集合,CytoSPACE将组织重建任务制定为线性分配问题,并根据基于细胞和点之间转录组一致性的成本函数,将选定的 scRNA-seq 集合最佳地安排在子点集上。
CytoSPACE的性能测试
在模拟和真实ST数据集上,开发团队发现:不同平台和组织类型中,CytoSPACE在噪声容限、准确性和解析单细胞空间组成方面优于先前的方法。
在多个评估的噪声水平和细胞类型中,CytoSPACE在模拟ST数据集中将单个细胞映射到其已知位置方面实现了比其他方法高得多的精度。
CytoSPACE恢复了在所有六个scRNA-seq 和ST数据集组合中最接近癌细胞的CD4和CD8 T 细胞中T细胞耗竭基因的空间富集;相比之下,Tangram和CellTrek生成的单细胞映射在预期方向上显著降低了T细胞耗竭基因的富集。
CytoSPACE成功地恢复了CE9和CE10细胞状态在淋巴和髓系谱系中的预期空间偏差,在标记基因富集的大小和方向上优于12种先前的方法。
在正常小鼠肾脏样本中验证了CytoSPACE能在大量ST数据中发现密集的细胞亚结构。
在乳腺癌样本中验证了CytoSPACE可以增强具有低基因通量的单细胞ST数据集。
综上,CytoSPACE是一种通过全局优化调整单细胞和空间转录组的工具。与其他方法不同,CytoSPACE根据基于相关性的成本函数和每个点的细胞数量,确保全局最优的单细胞/点对齐。此外,它可以容易地扩展以适应额外的限制,例如每个点的每种细胞类型的分数组成(例如由RCTD或cell2location 推断)。相比之下,CellTrek依赖于Spatial Seurat学习的共同嵌入,它可以消除细微但重要的生物信号(例如细胞状态差异)。尽管Tangram在理想化的环境中是稳定的,但它不能保证全局最优的解决方案。虽然CytoSPACE需要两个输入参数,但使用标准方法可以合理地估计这两个参数,这表明它们在实践中不太可能构成主要障碍。此外,在模拟和真实数据集上,CytoSPACE比其他方法更准确。
CytoSPACE 1.0 版是用 Python 编码的, 它连同用于创建CytoSPACE输入和估计细胞类型分数的文档、插图和帮助脚本可在如下链接获取:
https://github.com/digitalcytometry/cytospace
此外,开发团队还提供了一个用户友好的网站用于运行CytoSPACE:https://cytospace.stanford.edu
参考文献
Vahid, M.R., Brown, E.L., Steen, C.B. et al. High-resolution alignment of single-cell and spatial transcriptomes with CytoSPACE. Nat Biotechnol (2023). https://doi.org/10.1038/s41587-023-01697-9
相关文章
- VSCode 使用教程-7.Code Runner运行 javascript 代码
- 【R语言】rep函数的使用
- 在生产环境中使用 Linkerd
- charles抓包软件使用1_下载
- 在Eclipse中使用JUnit5进行单元测试
- 使用 spring 的 IoC 实现账户的 CRUD
- 如何使用Charles进行map local
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 MetaClass 进行方法注入构造方法 )
- 【错误记录】Android 中使用 Kotlin 为 EditText 组件设置文本报错 ( Type mismatch. Required:Editable. Found:String )
- 使用NIO进行文件拷贝详解编程语言
- 一个封装的使用Apache HttpClient进行Http请求(GET、POST、PUT等)的类。详解编程语言
- Oracle 视图 DBA_INVALID_OBJECTS 官方解释,作用,如何使用详细说明
- Oracle 视图 DBA_SQLTUNE_RATIONALE_PLAN 官方解释,作用,如何使用详细说明
- MySQL 使用 JOIN 合并表的方法。(mysql合并表)
- Linux下使用Vim编辑器进行编程.(linux打开vim)
- 如何使用Oracle查看系统权限(oracle查看系统权限)
- 使用 Linux 安全工具进行渗透测试
- 轻松学习Oracle:如何使用下拉功能进行快速查询(oracle下拉)
- 使用Linux和SVN进行高效的项目管理(linuxsvn项目)
- 如何在Linux中使用管道pipe进行数据传输(pipelinux)
- 如何确定Redis内存的合理使用大小(怎么看redis内存大小)
- 使用Linux驱动程序编程实现i2c通讯(i2clinux)
- 查看Redis CLI了解如何使用(查看redis cli)
- MSSQL检查所使用的语句是否符合标准