Title: | Selection, Reverse-Engineering and Prediction in Cascade Networks |
---|---|
Description: | A modeling tool allowing gene selection, reverse engineering, and prediction in cascade networks. Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014) <doi:10.1093/bioinformatics/btt705>. |
Authors: | Frederic Bertrand [cre, aut] , Myriam Maumy-Bertrand [aut] , Laurent Vallat [ctb], Nicolas Jung [ctb] |
Maintainer: | Frederic Bertrand <[email protected]> |
License: | GPL (>= 2) |
Version: | 2.1 |
Built: | 2025-01-16 04:38:57 UTC |
Source: | https://github.com/fbertran/cascade |
A modeling tool allowing gene selection, reverse engineering, and prediction in cascade networks. Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014) <doi:10.1093/bioinformatics/btt705>.
This package has been written by Frédéric Bertrand, Myriam Maumy-Bertrand and Nicolas Jung with biological insights from Laurent Vallat. Maintainer: Frédéric Bertrand <[email protected]>
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
Calculates some indicators for each node in the network.
## S4 method for signature 'network' analyze_network(Omega, nv, label_v = NULL)
## S4 method for signature 'network' analyze_network(Omega, nv, label_v = NULL)
Omega |
a network object |
nv |
the level of cutoff at which the analysis should be done |
label_v |
(optionnal) the name of the genes |
A matrix containing, for each node, its betweenness,its degree, its output, its closeness.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(network) analyze_network(network,nv=0)
data(network) analyze_network(network,nv=0)
Coerce a matrix into a micro_array object.
as.micro_array(M, time, subject)
as.micro_array(M, time, subject)
M |
A matrix. Contains the microarray measurements. Should of size N * K, with N the number of genes and K=T*P with T the number of time points, and P the number of individuals. This matrix should be created using cbind(M1,M2,...) with M1 a N*T matrix with the measurements for individual 1, M2 a N*T matrix with the measurements for individual 2. |
time |
A vector. The time points measurements. |
subject |
The number of subjects. |
A micro_array object.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) }
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) }
Allows comparison between actual and inferred network.
## S4 method for signature 'network,network,numeric' compare(Net, Net_inf, nv = 1)
## S4 method for signature 'network,network,numeric' compare(Net, Net_inf, nv = 1)
Net |
A network object containing the actual network. |
Net_inf |
A network object containing the inferred network. |
nv |
A number that indicates at which level of cutoff the comparison should be done. |
A vector containing : sensibility, predictive positive value, and the F-score
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(Net) data(Net_inf) #Comparing true and inferred networks F_score=NULL #Here are the cutoff level tested test.seq<-seq(0,max(abs(Net_inf@network*0.9)),length.out=200) for(u in test.seq){ F_score<-rbind(F_score,Cascade::compare(Net,Net_inf,u)) } matplot(test.seq,F_score,type="l",ylab="criterion value",xlab="cutoff level",lwd=2)
data(Net) data(Net_inf) #Comparing true and inferred networks F_score=NULL #Here are the cutoff level tested test.seq<-seq(0,max(abs(Net_inf@network*0.9)),length.out=200) for(u in test.seq){ F_score<-rbind(F_score,Cascade::compare(Net,Net_inf,u)) } matplot(test.seq,F_score,type="l",ylab="criterion value",xlab="cutoff level",lwd=2)
Allows estimating the best cutoff, in function of the scale-freeness of the network. For a sequence of cutoff, the corresponding p-value is then calculated.
## S4 method for signature 'network' cutoff(Omega, sequence = NULL, x_min = 0)
## S4 method for signature 'network' cutoff(Omega, sequence = NULL, x_min = 0)
Omega |
a network object |
sequence |
(optional) a vector corresponding to the sequence of cutoffs that will be tested. |
x_min |
(optional) an integer ; only values over x_min are further retained for performing the test. |
A list containing two objects :
p.value |
the p values corresponding to the sequence of cutoff |
p.value.inter |
the smoothed p value vector, using the loess function |
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(network) cutoff(network) #See vignette for more details
data(network) cutoff(network) #See vignette for more details
Dimension of the data
## S4 method for signature 'micro_array' dim(x)
## S4 method for signature 'micro_array' dim(x)
x |
an object of class "micro-array |
Gives the dimension of the matrix of measurements.
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) dim(micro_US) }
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) dim(micro_US) }
See the evolution of the network with change of cutoff. This function may be usefull to see if the global topology is changed while increasing the cutoff.
## S4 method for signature 'network' evolution( net, list_nv, gr = NULL, color.vertex = NULL, fix = TRUE, gif = TRUE, taille = c(2000, 1000), label_v = 1:dim(net@network)[1], legend.position = "topleft", frame.color = "black", label.hub = FALSE )
## S4 method for signature 'network' evolution( net, list_nv, gr = NULL, color.vertex = NULL, fix = TRUE, gif = TRUE, taille = c(2000, 1000), label_v = 1:dim(net@network)[1], legend.position = "topleft", frame.color = "black", label.hub = FALSE )
net |
a network object |
list_nv |
a vector of cutoff at which the network should be shown |
gr |
a vector giving the group of each gene |
color.vertex |
a vector giving the color of each node |
fix |
logical, should the position of the node in the network be calculated once at the beginning ? Defaults to TRUE. |
gif |
logical, TRUE |
taille |
vector giving the size of the plot. Default to c(2000,1000) |
label_v |
(optional) the name of the genes |
legend.position |
(optional) the position of the legend, defaults to "topleft" |
frame.color |
(optional) the color of the frame, defaults to "black" |
label.hub |
(optional) boolean, defaults to FALSE |
A HTML page with the evolution of the network.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(network) sequence<-seq(0,0.2,length.out=20) #setwd("inst/animation") #evolution(network,sequence)
data(network) sequence<-seq(0,0.2,length.out=20) #setwd("inst/animation") #evolution(network,sequence)
Simulates microarray data based on a given network.
## S4 method for signature 'network' gene_expr_simulation(network, time_label = 1:4, subject = 5, level_peak = 100)
## S4 method for signature 'network' gene_expr_simulation(network, time_label = 1:4, subject = 5, level_peak = 100)
network |
A network object. |
time_label |
a vector containing the time labels. |
subject |
the number of subjects |
level_peak |
the mean level of peaks. |
A micro_array object.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(Net) set.seed(1) #We simulate gene expression according to the network Net Msim<-gene_expr_simulation( network=Net, time_label=rep(1:4,each=25), subject=5, level_peak=200) head(Msim)
data(Net) set.seed(1) #We simulate gene expression according to the network Net Msim<-gene_expr_simulation( network=Net, time_label=rep(1:4,each=25), subject=5, level_peak=200) head(Msim)
Find the neighborhood of a set of nodes.
## S4 method for signature 'network' geneNeighborhood( net, targets, nv = 0, order = length(net@time_pt) - 1, label_v = NULL, ini = NULL, frame.color = "white", label.hub = FALSE, graph = TRUE, names = FALSE )
## S4 method for signature 'network' geneNeighborhood( net, targets, nv = 0, order = length(net@time_pt) - 1, label_v = NULL, ini = NULL, frame.color = "white", label.hub = FALSE, graph = TRUE, names = FALSE )
net |
a network object |
targets |
a vector containing the set of nodes |
nv |
the level of cutoff. Defaut to 0. |
order |
of the neighborhood. Defaut to 'length(net@time_pt)-1'. |
label_v |
vector defining the vertex labels. |
ini |
using the “position” function, you can fix the position of the nodes. |
frame.color |
color of the frames. |
label.hub |
logical ; if TRUE only the hubs are labeled. |
graph |
plot graph of the network. Defaults to 'TRUE'. |
names |
return names of the neighbors. Defaults to 'FALSE'. |
The neighborhood of the targeted genes.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(Selection) data(network) #A nv value can chosen using the cutoff function nv=.11 EGR1<-which(match(Selection@name,"EGR1")==1) P<-position(network,nv=nv) geneNeighborhood(network,targets=EGR1,nv=nv,ini=P, label_v=network@name)
data(Selection) data(network) #A nv value can chosen using the cutoff function nv=.11 EGR1<-which(match(Selection@name,"EGR1")==1) P<-position(network,nv=nv) geneNeighborhood(network,targets=EGR1,nv=nv,ini=P, label_v=network@name)
Selection of differentially expressed genes.
## S4 method for signature 'micro_array,micro_array,numeric' geneSelection( x, y, tot.number, data_log = TRUE, wanted.patterns = NULL, forbidden.patterns = NULL, peak = NULL, alpha = 0.05, Design = NULL, lfc = 0 ) ## S4 method for signature 'list,list,numeric' geneSelection( x, y, tot.number, data_log = TRUE, alpha = 0.05, cont = FALSE, lfc = 0, f.asso = NULL ) ## S4 method for signature 'micro_array,numeric' genePeakSelection( x, peak, y = NULL, data_log = TRUE, durPeak = c(1, 1), abs_val = TRUE, alpha_diff = 0.05 )
## S4 method for signature 'micro_array,micro_array,numeric' geneSelection( x, y, tot.number, data_log = TRUE, wanted.patterns = NULL, forbidden.patterns = NULL, peak = NULL, alpha = 0.05, Design = NULL, lfc = 0 ) ## S4 method for signature 'list,list,numeric' geneSelection( x, y, tot.number, data_log = TRUE, alpha = 0.05, cont = FALSE, lfc = 0, f.asso = NULL ) ## S4 method for signature 'micro_array,numeric' genePeakSelection( x, peak, y = NULL, data_log = TRUE, durPeak = c(1, 1), abs_val = TRUE, alpha_diff = 0.05 )
x |
either a micro_array object or a list of micro_array objects. In the first case, the micro_array object represents the stimulated measurements. In the second case, the control unstimulated data (if present) should be the first element of the list. |
y |
either a micro_array object or a list of strings. In the first case, the micro_array object represents the stimulated measurements. In the second case, the list is the way to specify the contrast:
|
tot.number |
an integer. The number of selected genes. If tot.number <0 all differentially genes are selected. If tot.number > 1, tot.number is the maximum of diffenrtially genes that will be selected. If 0<tot.number<1, tot.number represents the proportion of diffenrentially genes that are selected. |
data_log |
logical (default to TRUE); should data be logged ? |
wanted.patterns |
a matrix with wanted patterns [only for geneSelection]. |
forbidden.patterns |
a matrix with forbidden patterns [only for geneSelection]. |
peak |
interger. At which time points measurements should the genes be selected [optionnal for geneSelection]. |
alpha |
float; the risk level. Default to 'alpha=0.05' |
Design |
the design matrix of the experiment. Defaults to 'NULL'. |
lfc |
log fold change value used in limma's 'topTable'. Defaults to 0. |
cont |
use contrasts. Defaults to 'FALSE'. |
f.asso |
function used to assess the association between the genes. The default value 'NULL' implies the use of the usual 'mean' function. |
durPeak |
vector of size 2 (default to c(1,1)) ; the first elements gives the length of the peak at the left, the second at the right. [only for genePeakSelection] |
abs_val |
logical (default to TRUE) ; should genes be selected on the basis of their absolute value expression ? [only for genePeakSelection] |
alpha_diff |
float; the risk level |
A micro_array object.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) data(micro_S) micro_S<-as.micro_array(micro_S,time=c(60,90,210,390),subject=6) #Basically, to find the 50 more significant expressed genes you will use: Selection_1<-geneSelection(x=micro_S,y=micro_US, tot.number=50,data_log=TRUE) summary(Selection_1) #If we want to select genes that are differentially #at time t60 or t90 : Selection_2<-geneSelection(x=micro_S,y=micro_US,tot.number=30, wanted.patterns= rbind(c(0,1,0,0),c(1,0,0,0),c(1,1,0,0))) summary(Selection_2) #To select genes that have a differential maximum of expression at a specific time point. Selection_3<-genePeakSelection(x=micro_S,y=micro_US,peak=1, abs_val=FALSE,alpha_diff=0.01) summary(Selection_3) } if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) data(micro_S) micro_S<-as.micro_array(micro_S,time=c(60,90,210,390),subject=6) #Genes with differential expression at t1 Selection1<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(1,0,0,0))) #Genes with differential expression at t2 Selection2<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,1,0,0))) #Genes with differential expression at t3 Selection3<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,0,1,0))) #Genes with differential expression at t4 Selection4<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,0,0,1))) #Genes with global differential expression Selection5<-geneSelection(x=micro_S,y=micro_US,20) #We then merge these selections: Selection<-unionMicro(list(Selection1,Selection2,Selection3,Selection4,Selection5)) print(Selection) #Prints the correlation graphics Figure 4: summary(Selection,3) ##Uncomment this code to retrieve geneids. #library(org.Hs.eg.db) # #ff<-function(x){substr(x, 1, nchar(x)-3)} #ff<-Vectorize(ff) # ##Here is the function to transform the probeset names to gene ID. # #library("hgu133plus2.db") # #probe_to_id<-function(n){ #x <- hgu133plus2SYMBOL #mp<-mappedkeys(x) #xx <- unlist(as.list(x[mp])) #genes_all = xx[(n)] #genes_all[is.na(genes_all)]<-"unknown" #return(genes_all) #} #Selection@name<-probe_to_id(Selection@name) }
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) data(micro_S) micro_S<-as.micro_array(micro_S,time=c(60,90,210,390),subject=6) #Basically, to find the 50 more significant expressed genes you will use: Selection_1<-geneSelection(x=micro_S,y=micro_US, tot.number=50,data_log=TRUE) summary(Selection_1) #If we want to select genes that are differentially #at time t60 or t90 : Selection_2<-geneSelection(x=micro_S,y=micro_US,tot.number=30, wanted.patterns= rbind(c(0,1,0,0),c(1,0,0,0),c(1,1,0,0))) summary(Selection_2) #To select genes that have a differential maximum of expression at a specific time point. Selection_3<-genePeakSelection(x=micro_S,y=micro_US,peak=1, abs_val=FALSE,alpha_diff=0.01) summary(Selection_3) } if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) data(micro_S) micro_S<-as.micro_array(micro_S,time=c(60,90,210,390),subject=6) #Genes with differential expression at t1 Selection1<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(1,0,0,0))) #Genes with differential expression at t2 Selection2<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,1,0,0))) #Genes with differential expression at t3 Selection3<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,0,1,0))) #Genes with differential expression at t4 Selection4<-geneSelection(x=micro_S,y=micro_US,20,wanted.patterns= rbind(c(0,0,0,1))) #Genes with global differential expression Selection5<-geneSelection(x=micro_S,y=micro_US,20) #We then merge these selections: Selection<-unionMicro(list(Selection1,Selection2,Selection3,Selection4,Selection5)) print(Selection) #Prints the correlation graphics Figure 4: summary(Selection,3) ##Uncomment this code to retrieve geneids. #library(org.Hs.eg.db) # #ff<-function(x){substr(x, 1, nchar(x)-3)} #ff<-Vectorize(ff) # ##Here is the function to transform the probeset names to gene ID. # #library("hgu133plus2.db") # #probe_to_id<-function(n){ #x <- hgu133plus2SYMBOL #mp<-mappedkeys(x) #xx <- unlist(as.list(x[mp])) #genes_all = xx[(n)] #genes_all[is.na(genes_all)]<-"unknown" #return(genes_all) #} #Selection@name<-probe_to_id(Selection@name) }
Overview of a micro_array object.
## S4 method for signature 'micro_array' head(x, ...)
## S4 method for signature 'micro_array' head(x, ...)
x |
an object of class 'micro_array'. |
... |
additional parameters |
Gives an overview.
Gives an overview.
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) head(micro_US) }
if(require(CascadeData)){ data(micro_US) micro_US<-as.micro_array(micro_US,time=c(60,90,210,390),subject=6) head(micro_US) }
Reverse-engineer the network.
## S4 method for signature 'micro_array' inference( M, tour.max = 30, g = function(x) { 1/x }, conv = 0.001, cv.subjects = TRUE, nb.folds = NULL, eps = 10^-5, type.inf = "iterative" )
## S4 method for signature 'micro_array' inference( M, tour.max = 30, g = function(x) { 1/x }, conv = 0.001, cv.subjects = TRUE, nb.folds = NULL, eps = 10^-5, type.inf = "iterative" )
M |
a micro_array object. |
tour.max |
maximal number of steps. Defaults to 'tour.max=30' |
g |
the new solution is choosen as (the old solution + g(x) * the new solution)/(1+g(x)) where x is the number of steps. Defaults to 'g=function(x) 1/x' |
conv |
convergence criterion. Defaults to 'conv=10e-3' |
cv.subjects |
should the cross validation be done removing the subject one by one ? Defaults to 'cv.subjects=TRUE'. |
nb.folds |
Relevant only if cv.subjects is FALSE. The number of folds in cross validation. Defaults to 'NULL'. |
eps |
machine zero. Defaults to '10e-5'. |
type.inf |
"iterative" or "noniterative" : should the algorithm be computed iteratively. Defaults to '"iterative"'. |
A network object.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
#With simulated data data(M) infM <- inference(M) str(infM) #With selection of genes from GSE39411 data(Selection) infSel <- inference(Selection) str(infSel)
#With simulated data data(M) infM <- inference(M) str(infM) #With selection of genes from GSE39411 data(Selection) infSel <- inference(Selection) str(infSel)
Simulated M microarray.
data(M) head(M)
data(M) head(M)
"micro_array"
The "micro_array"
class
Objects can be created by calls of the form
new("micro_array", ...)
.
showClass("micro_array")
showClass("micro_array")
"micropredict"
The "micropredict"
class
Objects can be created by calls of the form
new("micropredict", ...)
.
showClass("micropredict")
showClass("micropredict")
Simulated network.
data(Net) str(Net)
data(Net) str(Net)
The reverse-engineered network of the simulated data (M and Net).
data(Net_inf) str(Net_inf)
data(Net_inf) str(Net_inf)
A network object. It is the same as the result in the vignette for the inference of the network.
data(network) plot(network) print(network)
data(network) plot(network) print(network)
Generates a network.
network_random( nb, time_label, exp, init, regul, min_expr, max_expr, casc.level )
network_random( nb, time_label, exp, init, regul, min_expr, max_expr, casc.level )
nb |
Integer. The number of genes. |
time_label |
Vector. The time points measurements. |
exp |
The exponential parameter, as in the barabasi.game function in igraph package. |
init |
The attractiveness of the vertices with no adjacent edges. See barabasi.game function. |
regul |
A vector mapping each gene with its number of regulators. |
min_expr |
Minimum of strength of a non-zero link |
max_expr |
Maximum of strength of a non-zero link |
casc.level |
... |
A network object.
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
set.seed(1) Net<-network_random( nb=100, time_label=rep(1:4,each=25), exp=1, init=1, regul=round(rexp(100,1))+1, min_expr=0.1, max_expr=2, casc.level=0.4 ) plot(Net)
set.seed(1) Net<-network_random( nb=100, time_label=rep(1:4,each=25), exp=1, init=1, regul=round(rexp(100,1))+1, min_expr=0.1, max_expr=2, casc.level=0.4 ) plot(Net)
"network"
The "network"
class
Objects can be created by calls of the form
new("network", ...)
.
showClass("network")
showClass("network")
Considering the class of the argument which is passed to plot, the graphical output differs.
## S4 method for signature 'micro_array,ANY' plot(x, y, ...) ## S4 method for signature 'network,ANY' plot( x, y, choice = "network", nv = 0, gr = NULL, ini = NULL, color.vertex = NULL, video = TRUE, weight.node = NULL, ani = FALSE, taille = c(2000, 1000), label_v = 1:dim(x@network)[1], horiz = TRUE, legend.position = "topleft", frame.color = "black", label.hub = FALSE, ... ) ## S4 method for signature 'micropredict,ANY' plot( x, time = NULL, label_v = NULL, frame.color = "white", ini = NULL, label.hub = FALSE, edge.arrow.size = 0.7, edge.thickness = 1 )
## S4 method for signature 'micro_array,ANY' plot(x, y, ...) ## S4 method for signature 'network,ANY' plot( x, y, choice = "network", nv = 0, gr = NULL, ini = NULL, color.vertex = NULL, video = TRUE, weight.node = NULL, ani = FALSE, taille = c(2000, 1000), label_v = 1:dim(x@network)[1], horiz = TRUE, legend.position = "topleft", frame.color = "black", label.hub = FALSE, ... ) ## S4 method for signature 'micropredict,ANY' plot( x, time = NULL, label_v = NULL, frame.color = "white", ini = NULL, label.hub = FALSE, edge.arrow.size = 0.7, edge.thickness = 1 )
x |
a micro_array object, a network object or a micropredict object |
y |
optional and not used if x is an appropriate structure |
... |
additional parameters |
choice |
what graphic should be plotted: either "F" (for a representation of the matrices F) or "network". |
nv |
the level of cutoff. Defaut to '0'. |
gr |
a vector giving the group of each gene |
ini |
using the “position” function, you can fix the position of the nodes. |
color.vertex |
a vector defining the color of the vertex. |
video |
if ani is TRUE and video is TRUE, the result of the animation is saved as an animated GIF. |
weight.node |
nodes weighting. Defaults to 'NULL'. |
ani |
animated plot? |
taille |
vector giving the size of the plot. Default to 'c(2000,1000)'. |
label_v |
vector defining the vertex labels. |
horiz |
landscape? Defaults to 'TRUE'. |
legend.position |
position of the legend. |
frame.color |
color of the frames. |
label.hub |
logical ; if TRUE only the hubs are labeled. |
time |
sets the time for plot of the prediction. Defaults to 'NULL' |
edge.arrow.size |
size of the arrows ; default to 0.7. |
edge.thickness |
edge thickness ; default to 1. |
a micro_array object
a vector of cutoff at which the network should be shown
a network object
Optionnal arguments:
a vector giving the group of each gene
what graphic should be plotted: either "F" (for a representation of the matrices F) or "network".
the level of cutoff. Defaut to 0.
using the “position” function, you can fix the position of the nodes
a vector defining the color of the vertex
animated plot?
vector giving the size of the plot. Default to c(2000,1000)
if ani is TRUE and video is TRUE, the animation result is a GIF video
vector defining the vertex labels
position of the legend
color of the frames
logical ; if TRUE only the hubs are labeled
size of the arrows ; default to 0.7
edge thickness ; default to 1.
a micropredict object
Optionnal arguments: see plot for network
data(Net) plot(Net) data(M) plot(M) data(Selection) data(network) nv<-0.11 plot(network,choice="network",gr=Selection@group,nv=nv,label_v=Selection@name, edge.arrow.size=0.9,edge.thickness=1.5)
data(Net) plot(Net) data(M) plot(M) data(Selection) data(network) nv<-0.11 plot(network,choice="network",gr=Selection@group,nv=nv,label_v=Selection@name, edge.arrow.size=0.9,edge.thickness=1.5)
Returns the position of edges in the network
## S4 method for signature 'network' position(net, nv = 0)
## S4 method for signature 'network' position(net, nv = 0)
net |
a network object |
nv |
the level of cutoff at which the analysis should be done |
Returns a matrix with the position of the node. This matrix can then be used as an argument in the plot function.
data(Net) position(Net)
data(Net) position(Net)
predict
Prediction of the gene expressions after a knock-out experience
## S4 method for signature 'micro_array' predict(object, Omega, nv = 0, targets = NULL, adapt = TRUE)
## S4 method for signature 'micro_array' predict(object, Omega, nv = 0, targets = NULL, adapt = TRUE)
object |
a micro_array object |
Omega |
a network object. |
nv |
[=0] numeric; the level of the cutoff |
targets |
[NULL] vector; which genes are knocked out? |
adapt |
[TRUE] boolean; do not raise an error if used with vectors instead of one column matrices. |
Nicolas Jung, Frédéric Bertrand , Myriam Maumy-Bertrand.
Jung, N., Bertrand, F., Bahram, S., Vallat, L., and Maumy-Bertrand, M. (2014). Cascade: a R-package to study, predict and simulate the diffusion of a signal through a temporal gene network. Bioinformatics, btt705.
Vallat, L., Kemper, C. A., Jung, N., Maumy-Bertrand, M., Bertrand, F., Meyer, N., ... & Bahram, S. (2013). Reverse-engineering the genetic circuitry of a cancer cell with predicted intervention in chronic lymphocytic leukemia. Proceedings of the National Academy of Sciences, 110(2), 459-464.
data(Selection) data(network) #A nv value can chosen using the cutoff function nv=.11 EGR1<-which(match(Selection@name,"EGR1")==1) P<-position(network,nv=nv) #We predict gene expression modulations within the network if EGR1 is experimentaly knocked-out. prediction_ko5<-predict(Selection,network,nv=nv,targets=EGR1) #Then we plot the results. Here for example we see changes at time point t2: plot(prediction_ko5,time=2,ini=P,label_v=Selection@name)
data(Selection) data(network) #A nv value can chosen using the cutoff function nv=.11 EGR1<-which(match(Selection@name,"EGR1")==1) P<-position(network,nv=nv) #We predict gene expression modulations within the network if EGR1 is experimentaly knocked-out. prediction_ko5<-predict(Selection,network,nv=nv,targets=EGR1) #Then we plot the results. Here for example we see changes at time point t2: plot(prediction_ko5,time=2,ini=P,label_v=Selection@name)
print
Methods for function print
## S4 method for signature 'micro_array' print(x, ...) ## S4 method for signature 'network' print(x, ...)
## S4 method for signature 'micro_array' print(x, ...) ## S4 method for signature 'network' print(x, ...)
x |
an object of class micro-array or network |
... |
additional parameters |
data(Net) print(Net) data(M) print(M)
data(Net) print(Net) data(M) print(M)
20 (at most) genes with differential expression at t1, 20 (at most) genes with differential expression at t2, 20 (at most) genes with differential expression at t3, 20 (at most) genes with differential expression at t4 et 20 (at most) genes with global differential expression were selected.
data(Selection) head(Selection) summary(Selection,3)
data(Selection) head(Selection) summary(Selection,3)
summary
Methods for function summary
## S4 method for signature 'micro_array' summary(object, nb.graph = NULL, ...)
## S4 method for signature 'micro_array' summary(object, nb.graph = NULL, ...)
object |
an object of class micro-array |
nb.graph |
(optionnal) choose the graph to plot. Displays all graphs by default. |
... |
additional parameters. |
data(M) summary(M)
data(M) summary(M)
Makes the union between two micro_array objects.
## S4 method for signature 'micro_array,micro_array' unionMicro(M1, M2)
## S4 method for signature 'micro_array,micro_array' unionMicro(M1, M2)
M1 |
a micro-array or a list of micro-arrays |
M2 |
a micro-array or nothing if M1 is a list of micro-arrays |
Returns a micro_array object which is the union of M1 and M2.
Returns a micro_array object which is the union of the elements of M1.
data(M) #Create another microarray object with 100 genes Mbis<-M #Rename the 100 genes Mbis@name<-paste(M@name,"bis") rownames(Mbis@microarray) <- Mbis@name #Union (merge without duplicated names) of the two microarrays. str(unionMicro(M,Mbis))
data(M) #Create another microarray object with 100 genes Mbis<-M #Rename the 100 genes Mbis@name<-paste(M@name,"bis") rownames(Mbis@microarray) <- Mbis@name #Union (merge without duplicated names) of the two microarrays. str(unionMicro(M,Mbis))