社区所有版块导航
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

PySCENIC 全流程指南::R 与 Python 联手搞定!

生信菜鸟团 • 4 天前 • 56 次点击  
本文不仅涵盖环境配置、数据准备、PySCENIC 三步分析,还贴心标注了常见报错与避坑点,全流程一文打尽!
  1. pyscenic 三部曲之命令详解
  2. pyscenic (附全流程代码)
  3. pyscenic全流程(jupyterlab)
  4. 单细胞转录因子分析:pyscenic
  5. R语言版本pyscenic,非常耗时!不推荐



🧱 一、项目背景与R语言数据准备
我们先在 R 中使用 Seurat 筛选目标细胞群(如 fibroblast & myofibroblast),并将表达矩阵导出:
load("/home/data/.../subset.Rdata")
# 可视化标记细胞DimPlot(subset_data2, label = TRUE)
# 将 count 矩阵导出为 csv 文件(注意转置!!)write.csv(  t(as.matrix(subset_data2@assays$RNA@counts)),  file = "/.../fibo_1000.csv")

💡 提示:PySCENIC 要求行为细胞、列为基因,因此必须转置!


⚙️ 二、创建 Python 环境并注册 Jupyter 内核

在终端执行以下命令,创建 PySCENIC 专属环境,并在 Jupyter Notebook 中注册:

conda create -n pyscenic python=3.10conda activate pyscenicpip install pyscenicconda install ipykernel
python -m ipykernel install --user --name pyscenic --display-name "pyscenic"

📂 三、安装依赖工具包

PySCENIC 需要 loompyscanpy 等包:

pip install loompy scanpypip install numpy==1.22 pandas==1.5.3
⚠️ numpy 与 numba 版本需匹配,强烈建议固定 numpy==1.22

🧬 四、将 CSV 转换为 LOOM 格式
import scanpy as scimport loompy as lpimport numpy as np
x = sc.read_csv("./fibo_1000.csv")  # 读取 R 中导出的表达矩阵
row_attrs = {"Gene": np.array(x.var_names)}col_attrs = {"CellID": np.array(x.obs_names)}
lp.create("sample.loom", x.X.T, row_attrs, col_attrs)
🧠 五、PySCENIC 三步走!
🔹 Step 1:构建基因调控网络(GRN)
pyscenic grn sample.loom allTFs_mm.txt \--num_workers 40 \--output adj.sample.tsv \--method grnboost2
📌 allTFs_mm.txt 是转录因子列表,可从官方数据库下载或自建。

🔹 Step 2:富集 motif 匹配(ctx)
pyscenic ctx adj.sample.tsv \/path/to/mm10.genes_vs_motifs.rankings.feather \--annotations_fname /path/to/motifs.tbl \--expression_mtx_fname sample.loom \--output reg.csv \--mode "dask_multiprocessing" \--num_workers 40 \--mask_dropouts
🧠 该步骤将 motif 匹配信息与调控网络整合,生成 regulons

🔹 Step 3:AUCell 打分,评估 regulon 活性
pyscenic aucell sample.loom reg.csv \--output sample_SCENIC.loom \--num_workers 3
✨ 得到的 .loom 文件可用于 regulon 打分、tSNE/UMAP 可视化等后续分析。

🧩 六、常见报错 & 避坑提醒

问题
解决方案
SyntaxError: invalid syntax
Jupyter 运行 shell 命令要加 !
pyscenic: command not found
添加环境路径或使用 os.system()
numpy 不兼容
安装 numpy==1.22 与 numba 匹配
loompy 找不到pip install loompy -U
 后重启环境
路径错误(Singularity)
检查 .sif 文件是否真实存在

🎁 七、进阶用法:Singularity镜像运行(HPC 推荐)
singularity run aertslab-pyscenic-0.12.1.sif \pyscenic grn sample.loom allTFs_mm.txt \--output adj.tsv --num_workers 6

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/185905
 
56 次点击