songw01 / MEGENA

Multiscale embedded gene co-expression network analysis
GNU General Public License v3.0
48 stars 16 forks source link

`calculate.correlation` function bug #16

Open hanguojun007 opened 2 years ago

hanguojun007 commented 2 years ago

function (datExpr, doPerm = 100, doPar = FALSE, num.cores = 8, method = "pearson", FDR.cutoff = 0.05, n.increment = 100, is.signed = FALSE, output.permFDR = TRUE, output.corTable = TRUE, saveto = NULL) { if (doPerm == 0) { if (!doPar) { cor.output <- test.pairwiseCor(datExpr, method = method) } else { cor.output <- test.pairwiseCor.par(datExpr, n.cores = num.cores, method = method) } vertex.names <- cor.output$row.names edgelist <- cor.output[[1]] edgelist <- cbind(edgelist, fdr.q.value = p.adjust(edgelist$p.value, "fdr")) edgelist <- edgelist[which(edgelist$fdr.q.value < FDR.cutoff), ] if (is.signed) { edgelist <- edgelist[order(edgelist[, 3], decreasing = T), ] edgelist <- data.frame(row = vertex.names[edgelist[[1]]], col = vertex.names[edgelist[[2]]], as.data.frame(edgelist[, 3:ncol(edgelist)])) } else { sign <- rep("", nrow(edgelist)) sign[which(edgelist[, 3] < 0)] <- "negative" sign[which(edgelist[, 3] > 0)] <- "positive" edgelist[, 3] <- abs(edgelist[, 3]) edgelist <- edgelist[order(edgelist[, 3], decreasing = T), ] edgelist <- data.frame(row = vertex.names[edgelist[[1]]], col = vertex.names[edgelist[[2]]], as.data.frame(edgelist[, 3:ncol(edgelist)]), sign = sign) } } else { rho.output <- calculate.rho(datExpr, n.perm = doPerm, FDR.cutoff = FDR.cutoff, estimator = method, rho.thresh = seq(0, 1, 1/n.increment), sort.el = TRUE) if (output.permFDR) { if (!is.null(saveto)) { write.table(rho.output$FDR, file = paste(saveto, "correlation_FDR_table.txt", sep = "/"), sep = "\t", row.names = F, col.names = T, quote = F) } else { write.table(rho.output$FDR, file = "correlation_FDR_table.txt", sep = "\t", row.names = F, col.names = T, quote = F) } } } #<- this } maybe wrong if (output.corTable) { cat("- outputting correlation results...\n") if (!is.null(saveto)) { write.table(rho.output$signif.ijw, file = paste(saveto, "Data_Correlation.txt", sep = "/"), sep = "\t", row.names = F, col.names = T, quote = F) } else { write.table(rho.output$signif.ijw, file = "Data_Correlation.txt", sep = "\t", row.names = F, col.names = T, quote = F) } } edgelist <- rho.output$signif.ijw

} it should be here

return(edgelist) }