此前我们的单细胞分析教程大都是基于R中的神包Seurat(scRNA-seq数据基础分析手册(2025最新修订)),现如今面对指数级增长的单细胞数据,基于Python的Scanpy(scRNA-Seq学习手册Python版)其实是一个更好的选择。目前Python具有丰富的科学计算库和活跃的社区支持,在数据处理、可视化和与其他机器学习或生物信息学工具的集成方面展现出巨大的灵活性。即使是R语言一直引以为傲的可视化能力,也被Scanpy迎头赶上:其内置了多种可视化方法,从而利用matplotlib和seaborn等Python可视化库,可以创建高质量的图形,并且能够方便地进行定制和扩展,以满足不同的可视化需求。由于Python在机器学习(机器学习基础手册)领域的广泛应用,Scanpy 可以轻松与其他 Python 库和工具集成,如用于深度学习的PyTorch和TensorFlow,以及用于数据处理和分析的 Pandas 和 NumPy 等,便于进行更复杂的多模态数据分析和机器学习任务。不得不提的是,在处理大规模单细胞数据集时,Scanpy通常具有较好计算效率,无论是计算速度还是内存占用上都比基于R的Seurat要好得多,这使得它在处理海量单细胞数据时表现出色。
所以,不得不拥抱未来,让我们把Python中的单细胞内容学起来吧~
本教程基于Linux中的Rstudio环境(足够支持你完成硕博生涯的生信环境)演示,计算资源不足的同学可参考: 生信分析为什么要使用服务器? 足够支持你完成硕博生涯的生信环境 独享服务器,生信分析不求人
访问链接:https://biomamba.xiyoucloud.net/
更多内容可咨询客服微信[Biomamba_zhushou]
Python基础首先,你在学习这个教程前,需要有一定得Python知识,可以参考生信Python速查手册进行快速学习。
本文依赖的Python版本需要 >= 3.7
Python包的安装有诸多方式,我们提供了主流的几种。无论哪一种,只要正常安装即可,无需重复安装。大家出bug时也可多方尝试:
你需要在终端中完成:
# [leiden]会自动安装pandas 和 numpy# 安装时间可能会比较久pip install 'scanpy[leiden]'# python-igraph仍需额外安装pip install python-igraph
conda的安装我们反复提到过(生信软件管家——conda的安装、使用、卸载):
# 本代码框依旧在Linux终端中完成# 1、安装conda:wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.shbash Anaconda3-5.3.1-Linux-x86_64.sh#安装conda,出现选项选yes##安装过程一直敲回车、遇到询问均填写yes后敲击回车即可,安装时间需要花费5~10分钟,如果选择安装 Microsoft VSCode部分,会额外花费一部分时间。# 重启一下环境配置,否则无法直接定位到conda:source ~/.bashrc# #返回完整路径即为安装成功which conda#添加一些镜像conda config --add channels defaultsconda config --add channels conda-forgeconda config --add channels bioconda#增加bioconda,方便安装生信软件#最近阿里的镜像似乎比较稳定:conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda/
配置好conda,真正安装scanpy时一行即可搞定:
conda install -c conda-forge scanpy python-igraph leidenalg如果你与我一样是在Rstudio中调用Python,那么你可以通过reticulate调用pip进行安装。也可以通过reticulate调用conda安装。
library(reticulate)conda_create("my_scapy",python_version = "3.10.4")# conda_remove('my_scapy')use_condaenv("my_scapy")# install SciPyconda_install(packages = "scanpy")conda_install(packages = "python-igraph")conda_install(packages = "future")conda_install(packages = "leidenalg")# install SciPyuse_python('C:\\Users\\CPU1302\\AppData\\Local\\r-miniconda\\envs\\my_scapy\\python.exe')
# 或者你也可以在终端中运行python.exe进行安装:C:\\Users\\Username\\AppData\\Local\\r-miniconda\\envs\\my_scapy\\python.exe -m pip install scanpyC:\\Users\\Username\\AppData\\Local\\r-miniconda\\envs\\my_scapy\\python.exe -m pip install python-igraphC:\\Users\\Username\\AppData\\Local\\r-miniconda\\envs\\my_scapy\\python.exe -m pip install leidenalg
# 此代码框在R中运行# reticulate安装# 这一步需要关掉梯子,否则hostname报错reticulate::py_install("scanpy")reticulate::py_install("python-igraph")
这个就不用强调啦,熟悉我们的小伙伴应该都学过这些教程了,建议耐心看一遍哦,以备不时之需:
生信基地122篇单细胞教程全索引B站视频:先看一遍视频再去看推送操作,建议至少看三遍
后续我们会推出更多的Python单细胞知识,敬请期待!

如何联系我们


已有生信基地联系方式的同学无需重复添加

