[ PROMPT_NODE_26212 ]
arboreto
[ SKILL_DOCUMENTATION ]
# Arboreto
## 概述
Arboreto 是一个计算库,用于通过并行算法从基因表达数据中推断基因调控网络 (GRN),这些算法可从单机扩展到多节点集群。
**核心能力**:根据跨观测值(细胞、样本、条件)的表达模式,识别哪些转录因子 (TF) 调控哪些目标基因。
## 快速入门
安装 arboreto:
bash
uv pip install arboreto
基本 GRN 推断:
python
import pandas as pd
from arboreto.algo import grnboost2
if __name__ == '__main__':
# 加载表达数据 (基因为列)
expression_matrix = pd.read_csv('expression_data.tsv', sep='t')
# 推断调控网络
network = grnboost2(expression_data=expression_matrix)
# 保存结果 (TF, 目标, 重要性)
network.to_csv('network.tsv', sep='t', index=False, header=False)
**关键点**:务必使用 `if __name__ == '__main__':` 保护代码,因为 Dask 会生成新进程。
## 核心能力
### 1. 基本 GRN 推断
适用于标准 GRN 推断工作流,包括:
- 输入数据准备 (Pandas DataFrame 或 NumPy 数组)
- 使用 GRNBoost2 或 GENIE3 运行推断
- 按转录因子过滤
- 输出格式和解释
**参考**: `references/basic_inference.md`
**使用现成的脚本**: `scripts/basic_grn_inference.py` 用于标准推断任务:
bash
python scripts/basic_grn_inference.py expression_data.tsv output_network.tsv --tf-file tfs.txt --seed 777
### 2. 算法选择
Arboreto 提供两种算法:
**GRNBoost2 (推荐)**:
- 基于梯度提升的快速推断
- 针对大型数据集 (10k+ 观测值) 进行了优化
- 大多数分析的首选
**GENIE3**:
- 基于随机森林的推断
- 原始的多重回归方法
- 用于比较或验证
快速比较:
python
from arboreto.algo import grnboost2, genie3
# 快速,推荐
network_grnboost = grnboost2(expression_data=matrix)
# 经典算法
network_genie3 = genie3(expression_data=matrix)
**有关详细的算法比较、参数和选择指南**: `references/algorithms.md`
### 3. 分布式计算
将推断从本地多核扩展到集群环境:
**本地 (默认)** - 自动使用所有可用核心:
python
network = grnboost2(expression_data=matrix)
**自定义本地客户端** - 控制资源:
python
from distributed import LocalClust