BuildNetwork {G1DBN} | R Documentation |
Given a list of scored edges and a REQUIRED vector of labels
(e.g, 1:p
), this function builds an object "Network". This is useful for exporting a network described by a list of edges to a network described by an adjacency matrix.
out <- BuildNetwork(Edges,Labels,nonedges.val=NA)
Edges |
a n times 3 matrix (each line contains a couple of vertices plus the associated score) |
Labels |
a vector of labels for the vertices |
nonedges.val |
optional. Value attributed to the not existing edges in the generated score matrix out$Score, default=NA |
a list that contains out$Vertices$Num the number of vertices, out$Vertices$Labels a vector of labels of the vertices, out$Vertices$Connected a vector of the connected vertices, out$Edges$Prop the proportion of edges, out$Edges$Num the number of edges, the graph of the network (out$AdjMatrix an adjacency matrix and out$Edges$List a list of edges) and out$Score a score matrix.
L`ebre Sophie (http://www3.imperial.ac.uk/theoreticalgenomics/people/slebre),
Chiquet Julien (http://stat.genopole.cnrs.fr/~jchiquet/).
BuildEdges
library(G1DBN) ## ======================== ## SIMULATING THE NETWORK ## ________________________ ## number of genes p <- 10 ## number of time points n <- 20 ## proportion of genes geneProp <- 0.05 ## the network - adjacency Matrix MyNet <- SimulNetworkAdjMatrix(p,geneProp,c(-1.5,-0.5,0.5,1.5)) cat("\n==========================================\n") cat("SIMULATION\n\n") ## ====================================== ## SIMULATING THE TIME SERIES EXPERIMENTS ## ______________________________________ ## ## Autoregressive model ## cat("Time series experiments with") ## initializing the B vector B <- runif(p,-1,1) ## initializing the variance of the noise sigmaEps <- runif(p,0.1,0.5) ## initializing the process Xt X0 <- B + rnorm(p,0,sigmaEps*10) ## the times series process Xn <- SimulGeneExpressionAR1(MyNet$A,B,X0,sigmaEps,n) ## ====================================== ## NETWORK INFERENCE WITH DBN ## ______________________________________ ## cat("\n==========================================\n") cat("NETWORK INFERENCE\n\n") cat("Using a Dynamic Bayesian Network model\n\n") ## STEP 1 ## ------ cat("STEP 1...\n") S1 <- DBNScoreStep1(Xn, method='ls') ## STEP 2 ## ------ cat("STEP 2...\n") alpha1=0.5 S2 <- DBNScoreStep2(S1$S1ls, data=Xn, method='ls', alpha1=alpha1) ## ====================================== ## POST TREATMENTS ## building the inferred Graph G1 <- BuildEdges(S1$S1ls,threshold=alpha1,dec=FALSE) ## encoding as the adjancecy matrix graph Step1InferredNet <- BuildNetwork(G1,1:p) Step1InferredNet #Step 2 alpha2=0.05 G <- BuildEdges(S2,threshold=alpha2,dec=FALSE) Step2InferredNet <- BuildNetwork(G,1:p) ## ====================================== ## PLOTTING THE RESULTS... ## ______________________________________ cat("\n==========================================\n") cat("SUMMARY\n\n") cat("Plotting the results...\n") ## The Original graph and data ## --------------------------- attach(MyNet) pos <- gplot(abs(AdjMatrix), vertex.cex=1.5, diag=TRUE, displaylabel=TRUE, usecurv=TRUE, boxed.label=FALSE, main="Simulated network") detach(MyNet) ## The Inferred Nets ## ----------------- #after Step 2 split.screen(c(1,2)) screen(1) attach(Step2InferredNet) gplot(abs(AdjMatrix), vertex.cex=1.5, diag=TRUE, coor=pos, displaylabel=TRUE, usecurv=TRUE, boxed.label=FALSE, main="Inferred network - Step 2") detach(Step2InferredNet) #after Step 1 screen(2) attach(Step1InferredNet) gplot(abs(AdjMatrix), vertex.cex=1.5, diag=TRUE, coor=pos, displaylabel=TRUE, usecurv=TRUE, boxed.label=FALSE, main="Inferred network - Step 1") detach(Step1InferredNet) close.screen(all = TRUE) cat("") cat("\nDONE !\n")