R 有一个名为 BoolNet 的包,它有一个名为reconstructNetwork 的函数。
也许对 R 数据格式有更好理解的人可以帮助我使用它。这是一个悬而未决的问题。以防万一有人想尝试新的 R 包。
我想我正在关注文档
BoolNet 的reconstructNetwork 函数的文档:
reconstructNetwork(measurements,
method = c("bestfit", "reveal"),
maxK = 5,
readableFunctions = FALSE,
allSolutions = FALSE)
"measurements must be a list of matrices, each corresponding to one time series.
Each row of these matrices contains measurements for one gene on a time line,
i. e. column i+1 contains the successor states of column i.
The genes must be the same for all matrices in the list."
所以我认为我的矩阵应该看起来像
t0 t1
[[1 0]
[0 0]
...
[0 1]]
我的实际数据是 8 个可能的状态和 2 个时间点。所以一个 8x2 矩阵。
A <- matrix( c(0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0), nrow = 8, ncol = 2)
B <- matrix( c(0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0), nrow = 8, ncol = 2)
C <- matrix( c(0,1,0,1,0,1,0,1,0,0,1,1,0,1,1,0), nrow = 8, ncol = 2)
list_mats = list(A,B,C)
reconstructNetwork(list_mats, method = "reveal", maxK = 3, readableFunctions = TRUE, allSolutions = FALSE))
但我的结果是我有 8 个单位而不是 3 个(我的 A、B 和 C)。我试过转置每个矩阵。我使用这个函数是因为我想运行REVEAL 算法来从转换表中推断出一个布尔网络。