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)
}
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 wrongif (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 herereturn(edgelist)
}