SCENIC (Single-Cell rRegulatory Network Inference and Clustering)是一种能够从单细胞 RNA-seq 数据(SCENIC)或单细胞 RNA-seq+单细胞 ATAC-seq 的组合(SCENIC+, 今年新发的Nature Methods, 2023, 20, 1355–1367)中同时进行转录因子推断、基因调控网络重建的方法。

工作流程主要分为 三个步骤:共表达网络推断、通过基因 motif 验证的调控网络模块(regulons)、regulons 活性计算。

pySCENIC中共表达推断方法GRNBoost2相比于R中GENIE3有很大的速度提升,所以建议前面的分析使用pySCENIC,后面可视化还是在R中进行(因为本人不怎么会python……)。

1. R中提取转置后的表达矩阵

mat <- as.matrix(sc@assays$RNA@counts)
#mat <- mat[rowSums(mat)>10,]
write.csv(t(mat),file="./counts.csv")

2.conda安装

conda create -n pyscenic python=3.7 #注意自己的python版本
conda activate pyscenic 
conda install -y numpy
conda install -y -c anaconda cytoolz
conda install -y scanpy
pip install pyscenic

3.制作一个trans.py,主要目的是把提取的表达矩阵转成loom文件,python 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("counts.csv");
row_attrs={"Gene":np.array(x.var_names),};
col_attrs={"CellID":np.array(x.obs_names)};
%lp.create("sc.loom",x.X.transpose(),row_attrs,col_attrs);

4.准备好三个文件ranking database, motif database, TF list(注意物种),下载地址:

Welcome to the cisTarget resources website! (aertslab.org)

pySCENIC/resources at master · aertslab/pySCENIC (github.com)

5.三步搞定,最后得到sc_SCENIC.loom, reg.csv, adj.sc.tsv这三个文件就可以进行下一步可视化了

#推断转录因子与候选靶基因之间的共表达模块
pyscenic grn \
--num_workers 20 \
--output adj.sc.tsv \
--method grnboost2 \
sc.loom \
mm_mgi_tfs.txt
#DNA-motif分析选择TF潜在直接结合的靶点(regulon)
pyscenic ctx \
adj.sample.tsv /mm9-tss-centered-10kb-7species.mc9nr.genes_vs_motifs.rankings.feather \
--annotations_fname /mm10/cisTarget_database/motifs-v9-nr.mgi-m0.001-o0.0.tbl \
--expression_mtx_fname sc.loom \
--mode "dask_multiprocessing" \
--output reg.csv \
--num_workers 20 \
--mask_dropouts
#计算Regulons的活性
pyscenic aucell \
sc.loom \
reg.csv \
--output sc_SCENIC.loom \
--num_workers 8

参考:pySCENIC — pySCENIC latest documentation

SCENIC (aertslab.org)

接上一篇,pySCENIC分析完之后就可以进行可视化了,个人认为最重要的有三个图:rss点图,rank图,转录因子表达水平热图,3个图结合着看。3.可视化rank图,可以自己改一下plotRSS_oneSet参数让图更好看一点。4. regulon表达水平热图,转录因子表达水平同理,得到的图类似只是输入不一样。2.可视化点图:寻找cluster特异性转录因子。1.loom文件读入R,提取数据。 假设你完成了上面的步骤,那接下来的分析至少在代码上很简单,三个步骤,可能会等待一段时间,尤其是第一、二步骤,不过相比于R简直是神速。参考基因组的情况根据实际情况自行下载,当然我下载的也可以用,具体深入的原理有兴趣的可以去了解,我只是参考文献使用的!为了减轻大家的负担,文件我已经下载好了,包括人的、鼠的,以及转化文件的py脚本,已上传QQ群文件,群成员可在群里免费获取!上一节说了pySCENIC的分析环境配置及安装,除了这些,还有一些必要条件,例如相关文件的下载,一些数据转化等等。 关于单细胞转录转录因子的分析我们之前在单细胞系列讲过R语言版本的,参考:跟着Cell学单细胞转录组分析(十二):转录因子分析,但是R语言分析起来速度非常慢,如果你动辄上万的单细胞可能要运行好几周,这显然不现实。pySCENIC则很好的解决了这个问题,分析速度很快。 最近公众号小伙伴好像扎堆做单细胞转录因子富集分析,这里还是建议使用服务器,因为自己电脑可能跑起来比较费劲。我们也在上一篇内容里面对分析进行了更新,我们提供的方法都在liunux终端的conda环境中运行。我们是在R语言里面提取的seurat单细胞的矩阵去python中分析,所以最后可视化的时候需要将R里面的文件转化为python可读可操作的对象。我们封装了两个函数,第一个是R里面数据提取seurat_to_adata.R,第二个是python中数据构建函数seurat_to_adata.py。 我们也可以提取数据,用热图的方式呈现,这里我是用ggheatmap做的,也可以用pheatmap、complexheatmap或ggplot2做。RSS分析,查看细胞类型特异性转录因子,需要先加载seurat对象,提取metadata信息,并进行分析!上面我们展示的是转录因子在不同细胞的评分,按照这个道理,我们依然可以选定某种细胞,看样本间转录因子的差别!当然了,全部展示没有啥意义,还是可以提取数据,可视化需要的TF!更多精彩内容请至我的公众号---KS科研分享与服务。先加载需要的R包,都加载了,没毛病。 转录因子分析可以了解细胞异质性背后的基因调控网络的异质性。转录因子分析也是单细胞转录组常见的分析内容,R语言分析一般采用的是SCENIC包,具体原理可参考两篇文章。1、《SCENIC : single-cell regulatory networkinference and clustering》。2、《Ascalable SCENIC workflow for single-cell gene regulatory network analysis》。但是说在前头,SCENIC的计算量超级大,非常耗费内存 **pySCENIC全部往期精彩系列首先说一句,我们之前也发过R语言版本的SCENIC,但是后来我们感觉容易出错,而且费时,所以就没有再探究过。可是总是有小伙伴喜欢跑R,然后说这里错了,那里找不见,其实我们的帖子写于2022年,但是数据库已经更新了,去官网下载新的数据库,不能无脑跑代码。回到pySCENIC,之前我们写过整个系列4篇帖子,分析可视化都是很完善了。可是近期跑的时候发现在第一步有点问题,要么跑不动,要么出错,怀疑是软件和数据库没有更新的缘故,故而更新一下测试。这个帖子主要有两部分内容。 pyscenic的分析和可视化总算是结束了。其实还有python版本的可视化,但是已经不想研究了,和R差不多,主要是对结果的解读。3、差异TF的分析,这也许是今天这个帖子的重点内容吧,可以像转录组那样,或者GSVA,寻找不同组织间差异性TF,结果更有说服力!1、rank形式的转录因子展示,有些文章中是这样,特异性TF展示更直观。更多精彩内容请至我的公众号---KS科研分享与服务。2、利用我们之前说过的网络图展示TF与靶基因! 可扩展的SCENIC工作流程,用于单细胞基因调控网络分析 该存储库描述了如何对单细胞数据运行pySCENIC基因调控网络推断分析以及基本的“最佳实践”表达分析。 这包括: 独立的Jupyter笔记本电脑,用于交互式分析 Nextflow DSL1工作流程,它提供了一种半自动化且简化的方法来运行这些步骤 pySCENIC安装,使用和下游分析的详细信息 另请参阅《自然规约》中的相关出版物: : 。 有关此协议中步骤的高级实现,请参阅 ,这是pySCENIC的Nextflow DSL2实现,具有用于表达式分析的全面且可自定义的管道。 这包括其他pySCENIC功能(多次运行,集成的基于主题和基于轨迹的regulon修剪,织机文件生成)。 PBMC 10k数据集(10x基因组学) 完整的SCENIC分析,以及过滤,群集,可视化和SCope就绪的织机文件创建: | 2024/2/19 转录因子分析软件Pyscenic常用于分析单个细胞群受到的转录因子调控,目前版本为0.12.1,在使用Pyscenic 进行分析的时候报错:AttributeError: module 'numpy' has no attribute 'object'.为numpy软件不兼容所致。综合GITHUB上的解决方案,依旧存在问题。按照上述软件安装即可。 本篇文章给大家推荐2个网站,用于对动物、植物转录组因子(TF)、转录因子结合位点(TFBS)的预测。简单易学,任何你感兴趣的基因集,都可以用来预测 TF,也可以去预测它们的 TFBS。