社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

生信技能树 • 1 年前 • 517 次点击  

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
 
517 次点击