Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
update R package
- Loading branch information
Ghanbari
committed
Sep 6, 2017
1 parent
a5a0db4
commit 339bb56
Showing
16 changed files
with
281 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#' One of the expression data (insilico_size10_1_knockouts) from DREAM4 in-silico challenge | ||
#' | ||
#' | ||
#' @docType data | ||
#' | ||
#' @usage data(dream4) | ||
#' | ||
#' @format gene expression data as a matrix where columns correspond to 10 genes and rows correspond to samples (10 knockout). | ||
#' | ||
#' @keywords datasets | ||
#' | ||
#' @examples | ||
#' data(dream4) | ||
#' reg.dpm(dream4) | ||
#' | ||
"dream4" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#' The gold standard of insilico_size10 data from DREAM4 in-silico challenge | ||
#' | ||
#' @docType data | ||
#' | ||
#' @usage data(dream4gs) | ||
#' | ||
#' @format the adjacency matrix where columns and rows correspond 10 genes and the entry 1 in the matrix indicates a link between two corresponding genes. | ||
#' | ||
#' @keywords datasets | ||
#' | ||
#' @examples | ||
#' data(dream4gs) | ||
#' | ||
"dream4gs" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,51 @@ | ||
#' Function to compute fisher z transformation pvalues | ||
#' Function to compute fisher z-transformation pvalues for the links | ||
#' | ||
#' @param p a | ||
#' @param alpha a | ||
#' @param nsamp is the number of required samples | ||
#' @param nnodes is the number of nodes in the simulated graph | ||
#' @param score_matrix score matrix obtained from DPM or reg.DPM. | ||
#' @param alpha a significance level | ||
#' @param nsamp is the number of samples (number of rows of input matrix for (reg-)DPM ). Note that we need nsamp such that: nsamp*(nsamp+1)> 2*(nvar-5) | ||
#' @param nvar is the number of variables (number of columns of input matrix for (reg-)DPM ) | ||
#' | ||
#' @return a list contains the pvalues (pval) and correspending decisions of having a significant link (isnotnull) for all links | ||
#' @return a list containing | ||
#' - the list of significant links as a data frame. Each line of the data frame corresponds to a link. | ||
#' The first and second columns are the corresponding nodes of the link, the third column is the score of the link and the forth column is the corresponding pvalue. | ||
#' - the threshold that all the links with scores more than it are significant at defined significance level. | ||
#' | ||
#' @examples | ||
#' ## Generate non-linear data | ||
#' data <- nldata(100,0.2)$data | ||
#' ## Load DREAM4 data (insilico_size10_1_knockouts) | ||
#' data(dream4) | ||
#' | ||
#'## Run regularized DPM | ||
#' res <- reg.dpm(data) | ||
#' | ||
#' ## Compute pvalues | ||
#' fisher_test(res, 0.05,) | ||
#' ## Get the list of significant links at significance level alpha=0.05 | ||
#' fisher_test(res,alpha=0.05,10,10)$LinkList | ||
#' | ||
#' ##Get the threshold at significance level alpha=0.05 | ||
#' fisher_test(score_matrix=res,alpha=0.05,nsamp=10,nvar=10)$threshold | ||
#' | ||
#' | ||
#' @export | ||
|
||
########################################################### | ||
### Function to compute fisher z transformation pvalues ### | ||
########################################################### | ||
|
||
fisher_test <- function(p, alpha, nsamp, nnodes){ | ||
z = sqrt(nsamp-(nnodes-2)-3) * 0.5 * abs(log((1 + p) / (1 - p))) | ||
pval = 2 * pnorm(-z) | ||
pval_tr = qnorm(1-alpha/2) | ||
isnotnull = (z > pval_tr ) | ||
temp = exp( 2 * pval_tr / (sqrt(nsamp-(nnodes-2)-3)) ) | ||
threshold = (temp -1)/(temp + 1) | ||
return(list(pval=pval, isnotnull=isnotnull,threshold=threshold)) | ||
fisher_test <- function(score_matrix, alpha, nsamp, nvar){ | ||
nsamp <- (nsamp*(nsamp+1))/2 | ||
if (nsamp-(nvar-2)-3 <= 0 ) stop("the test requires nsamp such that: nsamp*(nsamp+1)> 2*(nvar-5)") | ||
diag(score_matrix) <- NA | ||
score_matrix[upper.tri(score_matrix)] <- NA | ||
linkList <- reshape2::melt(score_matrix, na.rm=TRUE) | ||
colnames(linkList) <- c("Node1", "Node2", "Score") | ||
p <- linkList["Score"] | ||
z <- sqrt(nsamp-(nvar-2)-3) * abs(atan(p)) | ||
pval <- 2 * pnorm(-as.matrix(z)) | ||
colnames(pval) <- "Pvalue" | ||
linkList <- cbind(linkList,pval) | ||
linkList <- linkList[linkList$Pvalue<alpha,] | ||
temp <- exp( 2 * pval_tr / (sqrt(nsamp-(nvar-2)-3)) ) | ||
threshold <- (temp -1)/(temp + 1) | ||
return(list(LinkList=linkList,threshold=threshold)) | ||
} | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.