关于单细胞转录组转录因子的分析我们之前在单细胞系列讲过R语言版本的,参考:
跟着Cell学单细胞转录组分析(十二):转录组因子分析
,但是R语言分析起来速度非常慢,如果你动辄上万的单细胞可能要运行好几周,这显然不现实。pySCENIC则很好的解决了这个问题,分析速度很快。官方教程参考:
https://pyscenic.readthedocs.io/en/latest/
一、软件安装
老样子,还是先说一下安装和分析文件的准备,前面环境的配置和之前cellphonedb一样,如果已经操作过的,可以跳过:
#安装下载及环境设置
# 安装一个conda,为什么安装他可以理解为Rstuido之于R,后期在环境设置、软件安装上很方便。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# bash安装,按照指引,都选yes,这样一些依赖的python包都安装了。
bash Miniconda3-latest-Linux-x86_64.sh
# 激活conda环境
source ~/.bashrc
#设置镜像
conda config --add channels r
conda config --add channels conda-forge
conda config --add channels bioconda
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
然后就是安装pySCENIC及环境设置:
#安装pyscenic,并创建分析环境
conda create -n pyscenic python=3.9#创建一个pyscenic 的python环境,pyscenic要求python版本3.6及以上,目前python出到3.9了,我用3.9
conda activate pyscenic #激活pyscenic 环境
#安装依赖包
conda install -y numpy
conda install -y -c anaconda cytoolz
conda install -y scanpy
#安装pyscenic
pip install pyscenic
pip安装即可,如果安装失败或者觉得下载速度太慢,可以使用下面代码,使用与其他软件的pip安装。
pip install cellphonedb -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
二、数据文件准备
一些分析用的依赖数据库及文件:
#TF注释
wget https://resources.aertslab.org/cistarget/motif2tf/motifs-v9-nr.mgi-m0.001-o0.0.tbl
wget https://resources.aertslab.org/cistarget/motif2tf/motifs-v9-nr.hgnc-m0.001-o0.0.tbl
#转录组因子列表
https://github.com/aertslab/pySCENIC/tree/master/resources
#人的文件名:hs_hgnc_tfs.txt,复制为txt文件即可
#鼠的文件名:mm_mgi_tfs.txt,复制为txt文件即可
#reference数据库,之前一些网上教程的链接文件已经不行了,因为做了更新,跑的时候会出错,我是根据报错选择了下面的文件
wget https://resources.aertslab.org/cistarget/databases/mus_musculus/mm10/refseq_r80/mc_v10_clust/gene_based/mm10_10kbp_up_10kbp_down_full_tx_clustered.genes_vs_motifs.rankings.feather
wget https://resources.aertslab.org/cistarget/databases/homo_sapiens/hg38/refseq_r80/mc_v10_clust/gene_based/hg38_10kbp_up_10kbp_down_full_tx_v10_clust.genes_vs_motifs.rankings.feather
三、分析文件准备
这一步是从我们的R种seurat对象提取表达矩阵,并转化为loom文件。这里使用一个python脚本,转化一下即可。
#文件准备
#pyscenic的输入文件是行为基因名,列为细胞ID的矩阵,所以在seurat对象中导出矩阵的时候需要转置一下,可以用标准化矩阵,也可以用counts矩阵,影响不大!
#表达矩阵、meta----R中进行
write.csv(t(as.matrix(sce@assays$RNA@counts)),file = "sce_exp.csv")
#cellInfo <- sce@meta.data[,c("celltype","nCount_RNA","nFeature_RNA")]
#colnames(cellInfo) <- c('CellType', 'nGene' ,'nUMI')
#head(cellInfo)
#write.csv(cellInfo, file = "cellInfo.csv")
#转化为loom文件,Linux下的python脚本
#编辑脚本
vim trans.py
#输入以下内容
import os, sys
os.getcwd()
os.listdir(os.getcwd())
import loompy as lp;
import numpy as np;
import scanpy as sc;
x=sc.read_csv("sce_exp.csv");#R中导出的表达矩阵
row_attrs = {"Gene": np.array(x.var_names),};
col_attrs = {"CellID": np.array(x.obs_names)};
lp.create("sce.loom",x.X.transpose(),row_attrs,col_attrs)
#保存并退出
#运行trans.py
python trans.py
#这样在文件夹中会出现sce.loom文件,就是接下来输入pyscenic的文件。
这样整个准备工作就完成了,后续的分析很简洁,只需要三步。然后就是可视化了,这个下回分解,觉得分享有用对你有帮助的,点个赞、分享下再走呗!记得关注下,之后不迷路!更多精彩请访问我的公众号《KS科研分享与服务》
假设你完成了上面的步骤,那接下来的分析至少在代码上很简单,三个步骤,可能会等待一段时间,尤其是第一、二步骤,不过相比于R简直是神速。参考基因组的情况根据实际情况自行下载,当然我下载的也可以用,具体深入的原理有兴趣的可以去了解,我只是参考文献使用的!为了减轻大家的负担,文件我已经下载好了,包括人的、鼠的,以及转化文件的py脚本,已上传QQ群文件,群成员可在群里免费获取!上一节说了pySCENIC的分析环境配置及安装,除了这些,还有一些必要条件,例如相关文件的下载,一些数据转化等等。
pyscenic的分析和可视化总算是结束了。其实还有python版本的可视化,但是已经不想研究了,和R差不多,主要是对结果的解读。3、差异TF的分析,这也许是今天这个帖子的重点内容吧,可以像转录组那样,或者GSVA,寻找不同组织间差异性TF,结果更有说服力!1、rank形式的转录因子展示,有些文章中是这样,特异性TF展示更直观。更多精彩内容请至我的公众号---KS科研分享与服务。2、利用我们之前说过的网络图展示TF与靶基因!
pyscenic
micromamba activate SCpip install pyscenic -i https://mirrors.aliyun.com/pypi/simple/
安装docker
需要有root权限或者在docker的用户组
#1.Update the apt package index and inst
我们也可以提取数据,用热图的方式呈现,这里我是用ggheatmap做的,也可以用pheatmap、complexheatmap或ggplot2做。RSS分析,查看细胞类型特异性转录因子,需要先加载seurat对象,提取metadata信息,并进行分析!上面我们展示的是转录因子在不同细胞的评分,按照这个道理,我们依然可以选定某种细胞,看样本间转录因子的差别!当然了,全部展示没有啥意义,还是可以提取数据,可视化需要的TF!更多精彩内容请至我的公众号---KS科研分享与服务。先加载需要的R包,都加载了,没毛病。
通过脚本和snakemake实现自动化
到目前为止,我们已经完成了所有工作,并复制并粘贴了许多命令来完成所需的操作。这可行!但是也可能很耗时,并且更容易出错。接下来,我们将向你展示如何将所有这些命令放入Shell脚本中。
一个shell脚本是一个文本文件的完整的shell命令,运行时就如同你在命令行交互方式运行它们。
在这里,我们将创建一个从中获取并一次运行它们全部的命令。
编写shell脚本
原标题:一个生信素人的上道经验分享-转录组测序(差异分析篇)转录组测序技术(RNA-seq)作为目前二代测序领域最普遍的技术手段,自从转录组测序问世以来,已经开发了数百种分析工具。根据转录组分析内容可大致将其分析流程分为比对,转录本组装,基因注释和差异表达分析。目前,分析的每一步都有很多软件,其软件的性能和分析效率不尽相同。上篇文章小编为各位小伙伴介绍了转录组分析的第三步——基因定量【 一个生信素...
文章目录一、安装二、使用1、准备工作2、预处理过滤低质量细胞样本3、检测特异性基因4、主成分分析(Principal component analysis)5、领域图,聚类图(Neighborhood graph)6、检索标记基因7、保存数据8、番外
如果没有conda 基础,参考: Conda 安装使用图文详解(2021版)
pip install scanpy
conda install -y -c conda-forge leidenalg
1、准备工作
# 载入包
import
DriverRegulators
识别scRNAseq数据集中细胞状态转换的基础转录因子
该存储库包含源代码和有关DriverRegulators管道的信息(Grimaldi等人2021)。
该python代码将pyscenic和scvelo这2个python库的输出组合到了转录因子和相关靶基因的网络中。 常规工作流程为:
1-运行scvelo并按簇将最重要的驱动基因保存为表格
2-在同一数据集上运行pyscenic并生成“ f_loom_final.loom”文件
3-使用DriverRegulators代码生成节点和边的表
4-使用诸如Gephi之类的程序来可视化网络
可扩展的SCENIC工作流程,用于单细胞基因调控网络分析
该存储库描述了如何对单细胞数据运行pySCENIC基因调控网络推断分析以及基本的“最佳实践”表达分析。 这包括:
独立的Jupyter笔记本电脑,用于交互式分析
Nextflow DSL1工作流程,它提供了一种半自动化且简化的方法来运行这些步骤
pySCENIC安装,使用和下游分析的详细信息
另请参阅《自然规约》中的相关出版物: : 。
有关此协议中步骤的高级实现,请参阅 ,这是pySCENIC的Nextflow DSL2实现,具有用于表达式分析的全面且可自定义的管道。 这包括其他pySCENIC功能(多次运行,集成的基于主题和基于轨迹的regulon修剪,织机文件生成)。
PBMC 10k数据集(10x基因组学)
完整的SCENIC分析,以及过滤,群集,可视化和SCope就绪的织机文件创建: |