Closed iamcorrinne closed 11 months ago
Hi,
Did you inspect the values in res$weight.matrix
to check if there was any NaN or weird values?
Yes, and I don't see anything immediately weird.
> sum(is.na(res$weight.matrix))
[1] 0
> sum(is.infinite(res$weight.matrix))
[1] 0
> sum(is.finite(res$weight.matrix))
[1] 2841529636
> length(res$weight.matrix)
[1] 2841529636
> link.list <- get.link.list(res$weight.matrix, threshold=0.005)
Error in if (n > 0) c(NA_integer_, -n) else integer() :
missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In rep.fac * nx : NAs produced by integer overflow
2: In .set_row_names(as.integer(prod(d))) :
NAs introduced by coercion to integer range
Hi,
As there is an integer overflow, I suspect the problem comes from the fact that the weight matrix is too big.
Could you first reduce your weight matrix to rows corresponding to the 3638 candidate regulators (as the other rows contain only zero values, they don't matter):
res$weight.matrix <- res$weight.matrix[input.genes,]
where 'input.genes' is a list containing the names of the regulators.
Then try to call get.link.list
with this reduced matrix to see if the problem still occurs. I modified the get.link.list
function so that it can handle non-square matrices.
That worked! Thanks so much.
I have a 53306 x 14 matrix (genes x timepoints) that I am analyzing with dynGENIE3 (3638 of those genes are considered regulators). The dynGENIE3 function finishes to completion, but there is an error in getting the link.list.
This error persists even if make the threshold more stringent and if I modify the
report.max
. Can you please advise?Thanks, Corrinne
This is what I have loaded