[ PROMPT_NODE_26214 ]
Arboreto 算法
[ SKILL_DOCUMENTATION ]
# GRN 推理算法
Arboreto 提供了两种用于基因调控网络 (GRN) 推理的算法,均基于多元回归方法。
## 算法概述
两种算法遵循相同的推理策略:
1. 对数据集中的每个目标基因,训练一个回归模型
2. 从模型中识别最重要的特征(潜在调节因子)
3. 将这些特征作为具有重要性分数的候选调节因子输出
关键区别在于**计算效率**和底层的回归方法。
## GRNBoost2 (推荐)
**目的**:使用梯度提升算法对大规模数据集进行快速 GRN 推理。
### 何时使用
- **大型数据集**:数以万计的观测值(例如单细胞 RNA-seq)
- **时间受限的分析**:需要比 GENIE3 更快的结果
- **默认选择**:GRNBoost2 是旗舰算法,推荐用于大多数用例
### 技术细节
- **方法**:带有早停正则化的随机梯度提升
- **性能**:在大数据集上显著快于 GENIE3
- **输出**:与 GENIE3 格式相同(TF-目标-重要性三元组)
### 用法
python
from arboreto.algo import grnboost2
network = grnboost2(
expression_data=expression_matrix,
tf_names=tf_names,
seed=42 # 用于可重复性
)
### 参数
python
grnboost2(
expression_data, # 必需:pandas DataFrame 或 numpy 数组
gene_names=None, # numpy 数组必需
tf_names='all', # TF 名称列表或 'all'
verbose=False, # 打印进度消息
client_or_address='local', # Dask 客户端或调度器地址
seed=None # 用于可重复性的随机种子
)
## GENIE3
**目的**:经典的基于随机森林的 GRN 推理,作为概念蓝图。
### 何时使用
- **较小的数据集**:当数据集大小允许更长的计算时间时
- **对比研究**:当需要与已发表的 GENIE3 结果进行比较时
- **验证**:用于验证 GRNBoost2 的结果
### 技术细节
- **方法**:随机森林或 ExtraTrees 回归
- **基础**:原始的多元回归 GRN 推理策略
- **权衡**:计算成本更高,但非常成熟
### 用法
python
from arboreto.algo import genie3
network = genie3(
expression_data=expression_matrix,
tf_names=tf_names,
seed=42
)
### 参数
python
genie3(
expression_data, # 必需