pySCENIC安装的BUG&deBUG过程

嗯,很有必要整理一下这个软件遇到的很多问题。
作为分析regulon的一个工具,SCENIC有两张版本,一个是R版本,一个是python版本。
R版本安装简单,但是计算速度非常。。非常。。非常慢。而且要是安装在本地,对电脑的内存要求蛮高的。
例如我,为了图省事,直接买了两个内存条插进去,但是数据依旧卡在了中途。
所以还是python的版本比较快。

1,先介绍一下regulon是干什么的?
Regulon(调控子):是受同一个调控元件(转录因子)调控的一群基因的集合。
每个调控子可以定义为一个转录因子及其靶基因的集合。
调控子(Regulon)分析能做什么?
①识别单细胞转录组数据中的转录因子及其靶基因,鉴定Regulon。
②找到共同调控下游基因,负责细胞功能的高关联性Regulon。
③构建不同细胞类型中的基因调控网络。
④确定维持细胞特性的重要调控子。
这个是博主“生信光”的介绍。

举个例子吧,例如在Tao文章中的一个分析,想看看在early stage、late stage和 post trans中方HSC中富集的转录子,所以就使用SCENIC进行富集。

2、pySCENIC的安装。
安装最开始是跟着官网进行的

conda create -n pyscenic python=3.10
conda activate pyscenic
pip install pyscenic

完成之后,看起来是成功了,但是运行的时候报错。
error1:

pyscenic ValueError: Intersection of gene_names and tf_names is empty.

解决办法1:就是重新下载TF的文件,或者直接从pySCENIC的包的data路径下copy过来。

error2:

AttributeError: module 'numpy' has no attribute 'object'.

解决办法2:跟换numpy的版本。
这里就是试来试去,换了numpy 1.20.0,以为万事大吉了,天真了,还是不对。
然后github查了好多,说换别的版本,1.22.0,1.23.0,1.24.0。
好多个版本都不对。
算求!!!!
直接卸了,重新安装。
看到一个博主,使用的是python3.9和默认numpy,试试吧。
完蛋玩意儿,还是不对。

最后看到一个GitHub,说python3.8和numpy1.24.0。
看了一下pyscenic 是2022年的,而且有人回复说这个组合解决问题啊。
试试吧。
还是不对。
报错还是说要numpy1.20。
嗯,那就看看conda里面是到底包含的是numpy多少/

conda search numpy

good,是1.20.3。安装。
解决了,但是又报错。

ModuleNotFoundError: No module named 'six'

那就conda install安装即可。
运行,又报错

ImportError: Numba needs NumPy 1.22 or greater. Got NumPy 1.20.

呃~~~~~~FUCK
不管了,先改一改试试吧。
更新到1.22版,pyscenic -h 好了。

3、使用pyscenic分析数据
(1)推断转录因子与提供的表达矩阵基因的共表达模块,基于grnboost2方法

pyscenic grn --num_workers 5 \
  --sparse \
  --method grnboost2 \
  --output sce.adj.csv \
  sce.loom \
  hs_hgnc_tfs.txt

(2) 进行TF-motif富集分析,识别直接靶标。得到转录因子(TF)与其对应的直接作用的靶点,称为regulon(每一个regulon是1个TF和其调控的靶基因)

pyscenic ctx --num_workers 5 \
  --output sce.regulons.csv \
  --expression_mtx_fname sce.loom \
  --all_modules \
  --mask_dropouts \
  --mode "dask_multiprocessing" \
  --min_genes 10 \
  --annotations_fname ./pySCENIC/motifs-v9-nr.hgnc-m0.001-o0.0.tbl \
  sce.adj.csv \
  ./pySCENIC/hg38_10kbp_up_10kbp_down_full_tx_v10_clust.genes_vs_motifs.rankings.feather

(3) 使用AUCell对每个细胞的每个regulon活性进行评分。

pyscenic aucell --num_workers 3 \
  --output sce_SCENIC.loom \
  sce.loom \
  sce.regulons.csv

以为万事大吉了,不不不,还有很多错误需要解决。

[BUG] 'Series' object has no attribute 'iteritems'

查了一下,应该是pandas包的版本有问题。
这里也需要安装特定版本。

conda install numpy=1.5.3

Finally 终于完成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容