目录
这是GENIE3的R实施文件。
GENIE3方法描述如下:
Huynh Thu V.A.、Irrthum A.、Wehenkel L.和Geurts P.(2010)使用基于树的方法从表达数据推断调节网络。公共科学图书馆,5(9):e12776。
如何运行GENIE3
使用默认参数运行GENIE3
以下命令对表达式数据运行GENIE3exprMatr公司
使用默认参数:
库(GENIE3)set.seed(123)#用于结果的再现性重量材料<-GENIE3(exprMatr)
dim(重量垫)
## [1] 20 20
重量垫[1:5,1:5]
##基因1基因2基因3基因4基因5##基因1 0.00000000 0.06730813 0.028541318 0.063413221 0.02840563##基因2 0.04682954 0.00000000.006939940 0.054863918 0.01731399##基因3 0.02872232 0.03560571 0.000000000 0.005376876 0.09977545##基因4 0.04148807 0.04313984 0.003564747 0.000000000 0.02516903##基因5 0.02107191 0.02939945 0.130708812 0.018893254 0.00000000
该算法输出一个包含假定监管链接权重的矩阵,较高的权重对应于更可能的监管链接。重量材料[i,j]
是从\(i)-th基因到\(j)-th基因。
将候选调节器限制为基因子集
默认情况下exprMatr公司
被用作候选监管机构。然而,候选调控因子的列表可能仅限于基因子集。当你知道哪些基因是转录因子时,这会很有用。
#用作候选调节器的基因调节器<-c(2、4、7)#或者:调节器<-c(“Gene2”、“Gene4”、“Genere7”)weightMat<-GENIE3(exprMatr,regulators=调节器)
这里,只有基因2
,第4代
和第7代
(分别对应于中的第2、4和7行exprMatr公司
)被用作候选监管机构。在结果中重量垫
,来自非候选调控因子基因的链接的权重等于0。
要为每个基因请求不同的调节因子并返回列表:
regulatorsList<-list(“Gene1”=行名(exprMatr)[1:10],“Gene2”=行名称(exprMatr)[10:20],“Gene20”=行名称(exprMatr)[15:20])设定种子(123)权重列表<-GENIE3(exprMatr,nCores=1,targets=名称(regulatorsList),regulators=regulators.List,returnMatrix=FALSE)
更改基于树的方法及其设置
GENIE3基于回归树。这些树可以使用随机森林方法学习1Breiman L.(2001)《随机森林》。机器学习, 45(1):5-32.或Extra-Trees方法2Geurts P.、Ernst D.和Wehenkel L.(2006)《极度随机树》。机器学习, 36(1):3-42.。可以使用树方法
参数(tree.method=“RF”
对于Random Forests,这是默认选项,或tree.method=“ET”
对于额外树)。
每个基于树的方法都有两个参数:K(K)
和参赛者
.K(K)
是在每个树节点上随机选择的候选调节器的数量,用于最佳分割确定。让\(p\)是候选监管机构的数量。K(K)
必须是:
“平方码”
,它设置\(K=\sqrt{p}\)。这是默认值。
“全部”
,它设置\(K=p\).
- 或介于之间的任何整数\(1\)和\(p\).
参数参赛者
指定每个集合生长的树数。它可以设置为任何严格的正整数(默认值为1000)。
示例如下所示:
#使用额外树(ET)方法#在树的每个节点随机选择7个候选调节器#每组5棵树weightMat<-GENIE3(exprMatr,treeMethod=“ET”,K=7,nTrees=50)
并行GENIE3
为了减少计算时间,GENIE3可以在多个内核上运行。参数ncores公司
指定要使用的核心数。例如:
set.seed(123)#用于结果的再现性weightMat<-GENIE3(exprMatr,nCores=4,verbose=TRUE)
请注意见种子
允许在不同的运行中获得相同的结果,但只能在n孔==1
或n孔径>1
例如,运行设定种子(123)
和n孔=1
和另一个种子相同但n孔径>1
可能会提供不同的结果。
获取监管链接列表
获取所有监管链接
您可以使用以下命令获取所有监管链接的列表(从最有可能到最不可能):
链接列表<-getLinkList(weightMat)dim(链接列表)
## [1] 57 3
头(链接列表)
##regulatoryGene targetGene重量##1基因7基因12 0.8291864##2基因2基因14 0.6785825##3基因7基因10 0.6549558##4基因4基因13 0.6492514##5基因7基因19 0.6459223##6第7代第3代0.6381009
产生的结果链接列表
矩阵包含链接的排名。每行对应一个监管链接。第一列显示调节器,第二列显示目标基因,最后一列显示链接的权重。
(请注意,每次运行获得的排名都会略有不同。这是由于随机森林和额外树方法的内在随机性。可以通过增加每个集合的树数来减少排名的差异。)
仅获取排名靠前的链接
通常,人们只对提取最可能的监管联系感兴趣。可选参数报告.max
设置要报告的排名靠前的链接数:
链接列表<-getLinkList(weightMat,reportMax=5)
仅获取权重高于某个阈值的链接
或者,可以对链接的权重设置阈值:
链接列表<-getLinkList(权重Mat,阈值=0.1)
重要注意事项关于权重的解释
返回的链接的权重GENIE3()
没有任何统计意义并且只提供了对监管链接进行排序的方法。因此,没有标准阈值,在选择阈值时必须谨慎。