用途:从转录组表达数据推断基因调控网络,识别哪些转录因子(TF)调控哪些靶基因。主要能力:提供 GRNBoost2(基于梯度提升,速度快,适合大数据集,默认推荐)与 GENIE3(基于随机森林,可用于对比或验证)两种算法;支持 Pandas DataFrame、稠密 NumPy 数组或稀疏 scipy.sparse.csc_matrix 输入(行=观测/细胞/样本,列=基因,数组输入需显式传 gene_names);可用 tf_names 限定转录因子,用 limit 返回全局前 N 条链接;输出 DataFrame 含 TF、target、importance 三列,importance 越高表示调控关系越强。使用方式:安装可用 uv pip install arboreto 或 conda install -c bioconda arboreto;基本调用为 from arboreto.algo import grnboost2,再执行 grnboost2(expression_data=matrix)。脚本中必须加 if name == 'main': 保护,因为 Dask 会派生新进程。分布式计算可传入 Dask 的 LocalCluster/Client 控制本地资源,或连接远程调度器(如 Client('tcp://scheduler:8786'))。适用场景:单细胞 RNA-seq、bulk RNA-seq 的调控网络推断,多条件比较分析,以及作为 pySCENIC 的 GRN 推断步骤(pySCENIC 0.11+ 传入稀疏矩阵;0.12+ 默认改用 arboreto_with_multiprocessing.py,需要 Dask 扩展时使用独立 arboreto)。限制与注意事项:需设置 seed 以保证可复现,可用多 seed 取共识;内存不足时可过滤低方差基因或改用分布式;结果为空时检查基因是否按列排列、TF 名称是否与列名一致;稀疏数据需用 csc_matrix 并传匹配的 gene_names(0.1.6 起支持)。上游 PyPI 最新版本为 0.1.6(2021-02-09),依赖 dask[complete]、distributed、numpy、pandas、scikit-learn、scipy。
arboreto
数据与分析
更新于 10-15 21:39