用途:Arboreto 用于从基因表达数据推断基因调控网络(GRN),即根据观测(细胞、样本、条件)中的表达模式,识别哪些转录因子(TF)调控哪些靶基因。
主要能力:提供两种算法。GRNBoost2 基于梯度提升,速度快,适合大数据集(1 万以上观测),是多数分析的默认选择;GENIE3 基于随机森林,属经典多元回归方法,可用于对比或验证。输出为 DataFrame,含 TF、target、importance 三列,importance 越高表示调控关系越强。支持通过 tf_names 限定转录因子,支持设置 seed 保证可复现。
使用方式:安装可用 pip install arboreto,或 conda install -c bioconda arboreto。基本调用为 from arboreto.algo import grnboost2,传入以基因为列的表达式矩阵(Pandas DataFrame 或 NumPy 数组)即可得到网络。脚本中必须使用 if name == 'main': 保护,因为 Dask 会派生新进程。分布式方面,默认自动使用本机所有核心;也可用 distributed 的 LocalCluster 与 Client 控制资源,或连接远程 Dask 调度器(如 Client('tcp://scheduler:8786'))。
适用场景:单细胞 RNA-seq 分析、bulk RNA-seq 结合 TF 过滤、多条件比较分析,以及作为 pySCENIC 流程中 GRN 推断的核心组件。
限制:资料未提供具体性能基准、收费或授权信息。常见问题包括内存不足(可过滤低方差基因或改用分布式)、速度慢(改用 GRNBoost2、启用分布式、过滤 TF 列表)、Dask 报错(检查 main 保护)、结果为空(检查数据格式与 TF 名称是否匹配基因名)。