Py学习  »  Python

Python的转录组学分析框架与生态

生信技能树 • 10 月前 • 156 次点击  

2023的4月份,看到了NBT的文章:《The scverse project provides a computational ecosystem for single-cell omics data analysis》,是单细胞领域跟Seurat齐名的scanpy团队的fabian,他号召业内人士建立一个 Python single-cell analysis ecosystem ,希望囊括全部的使用了Python开发的单细胞数据分析工具:

虽然佩服,但是fabian远在欧洲,很难直接沟通交流。但是国内学者在同一时间也有意打造Python的转录组学分析框架与生态,值得宣传和鼓励:

2023年6月7日,来自北京科技大学,清华大学与中山大学的研究者在biorxiv上发布了一篇题为“OmicVerse: A single pipeline for exploring the entire transcriptome universe” 的研究工作,该框架的提出解决了RNAseq分析诸多问题:

  • 解决了单细胞转录组学与bulk转录组学分析中不同算法的格式不一致,运算过慢以及不够美观的可视化问题;
  • 除此之外,该框架还提出了一种名为“BulkTrajBlend”的单细胞插补算法,用于解决单细胞测序中由于技术限制(如通量,细胞类型)导致的细胞分化的中断问题。

我们邀请到了论文的第一作者来介绍整个工作。

  • 代码仓库:https://github.com/Starlitnightly/omicverse/
  • 框架教程:https://omicverse.readthedocs.io/en/latest/

引言

omicverse是在我大三保研做Bulk RNA-seq时提出的,当时为了自己的方便,就把差异表达分析(DEG),加权基因共表达分析(WGCNA),通路富集分析(GSEA)等整合进了一个叫Pyomic的包中方便自己调用,当时的野心很大,想把整个组学分析都用Python来完成(笑)

现在博士一年级,也做了快两年的单细胞分析,中途用了很多包,但不同的包之间,对于格式的需求往往是不一样的,而且有的包本身并没有好好利用GPU的计算优势,并且大部分的包所作的图与CNS上的图差别还是比较大的。所以我就把当时的Pyomic给捡了起来,把我做分析用到的所有包都塞进了omicverse里面,统一了它们的输入输出,并对部分可以优化的算法进行了优化,以及给出了一些新的可视化函数来帮助研究人员呈现结果。可能你会想,这不就是一个整合的包吗?但其实不是。

  • 我通过大量的基准测试,以及相关的paper,整理出了一套最适的Python单细胞分析流程,Bulk RNA-seq分析流程与可视化。
  • 我提出了一种新的生物学算法“BulkTrajBlend”,解决了单细胞测序中由于通量限制导致的细胞不连续现象。
图1|omicverse的概述

Bulk RNA-seq

整个框架由三部分构成,分别是Bulk RNA-seq,singel cell RNA-seq以及Bulk2Single部分。

omicverse提出了一套完整的Bulk RNA-seq分析流程,包括基因ID比对,差异表达分析(ttest,wliconx,DESeq2),通路富集分析,基因共表达模块分析。

在Supplementary Note里面,我们通过阿尔茨海默症的RNA-seq数据演示了整个分析。

Bulk RNA-seq分析教程:https://omicverse.readthedocs.io/en/latest/Tutorials-bulk/t_deseq2/

图2|Bulk RNA-seq的分析效果

single cell RNA-seq

对于单细胞分析,omicverse也提供了一套完整的分析框架,包括细胞质控与预处理,细胞类型自动注释,细胞分化轨迹推断,亚群差异表达分析,细胞通路打分AUCell,药物反应预测,细胞通讯分析。我们应用结直肠癌的单细胞数据来完成了分析的实验。

单细胞RNA-seq分析教程:https://omicverse.readthedocs.io/en/latest/Tutorials-single/t_cellanno/

图3&图4|单细胞RNA-seq的分析效果

scRNA-seq与scATAC-seq联合分析

在去年,来自北京大学的高歌课题组提出了一种名为GLUE的算法,将两个不同的组学层嵌入到一个低维空间中,文章发表在Nature Biotechnology。在2018年,多组学算法MOFA的提出解决了斑马鱼内胚层命运的分化问题,文章发表在Nature上。但MOFA受限于一个样本多个组学层,GLUE恰好可以解决不同组学层的整合问题,故我们将GLUE与MOFA的联合分析整合进了omicverse中。我们在Supplementary中应用阿尔兹海默症证明分析的可靠性。

多组学分析教程:https://omicverse.readthedocs.io/en/latest/Tutorials-single/t_mofa_glue/

图5|多组学整合效果

从Bulk RNA-seq生成Single RNA-seq

2022年,浙江大学范晓辉课题组提出了BulkSpace算法,该算法利用解卷积与深度随机森林模型解决了从Bulk RNA-seq生成空间转录组数据的问题。我们将该算法拆解成两个部分:bulk2single与single2spatial,并且我们改进了single2spatial部分,因为原作者是想用深度随机森林完成分类问题,我们改成了神经网络完成分类问题,充分利用了GPU加速。我们对比了优化前后的算法,分类与生成效果一致,同时速度大幅提升。我们在阿尔茨海默症和PDAC数据上给出了算法的分析框架。

Bulk2single分析教程:https://omicverse.readthedocs.io/en/latest/Tutorials-bulk2single/t_bulk2single/

图6|Bulk2single分析效果

结语

我个人很喜欢这项工作,它减少了我很多的代码量。在论文的最后部分我是这么写的。我希望构建一个基于Python的转录组学分析框架与生态,但仅凭我一人之力可能还有很多问题没有发现,欢迎对omicverse感兴趣的研究人员在github上面提相关的issue或者pr,帮助omicverse变得更好。

github地址:https://github.com/Starlitnightly/omicverse/

我们的目标是在Python环境中创建一个适用于bulk/singel RNA-seq分析和优美可视化的生态系统。用户可以利用Python社区的机器学习模型和专业知识,使用单一编程语言进行全面的转录组分析。随着OmicVerse不断发展,我们预计会进行持续更新,引入新的算法、功能和模型。OmicVerse预计将受益于bulk/singel RNA-seq社区,促进新模型的原型开发,建立跨组学分析的标准,以及加强科学发现的流程。

参考文献:

[1] Zeng Z, Ma Y, Hu L, Xiong Y, Du H. OmicVerse: A single pipeline for exploring the entire transcriptome universe. Cold Spring Harbor Laboratory; 2023.

写在文末

如果你也擅长Python,想在生物信息学工具开发路上找到同道中人,那么这个Python的转录组学分析框架与生态交流群请不要错过。因为交流群名额限制,所以仅限于有Python开发能力的小伙伴进群,大家可以去 github地址:https://github.com/Starlitnightly/omicverse/ 进行star操作,然后申请入群哈。需要发邮件给 starlitnightly@163.com 并且告知自己的github账号哈。

如果是前面的200人,有Python开发能力的小伙伴可以直接扫描下面的二维码哈。

(友情提示:交流群有门槛,沟通有难度,慎入!!!)


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156796
 
156 次点击