networkBMA: Gene network inference from time series data via BMA.

Description Usage Arguments Details Value References See Also Examples

View source: R/networkBMA.R


Estimates a probabilistic network of regulator-gene pairs from time series data via ScanBMA or iterative BMA.


networkBMA(data, nTimePoints, prior.prob = NULL, known = NULL, 
           ordering = "bic1+prior", nvar = NULL, self = TRUE, 
           maxreg = NULL, 
           control = ScanBMAcontrol(),
           diff0 = TRUE, diff100 = TRUE,
           verbose = FALSE)



A matrix whose columns correspond to variables or genes and whose rows correspond to the observations at different time points. The row names should be the gene names, to used in conjunction with prob and known as appropriate.


The number of time points at which expression measurements are available. The number of columns in data should be a multiple of nTimePoints, which could be greater than 1 if there are replicates.


If included as input, either a single positive fraction representing the probability of an regulator-gene pair in the network, or else a matrix in which the (i,j) entry is the estimated prior probability that gene i regulates gene j. The default value is NULL, which implies that no prior information will be used in modeling the network.


An optional 2-column matrix of known (hard-coded) regulatory relationships. The first column gives the name of the regulator, and the second column gives the name of the target gene. The gene names should be consistent with the data.


A character string indicating the ordering to be used for the genes or variables, referring to the options for ordering in function varord. The default is option "bic1+prior" for varord.
If a prior is provided, genes with prob=1 are always included first in modeling regardless of the specified ordering, while genes with prior = 0 are excluded.


The number of top-ranked (see ordering) genes to be considered in the modeling. The default is determined by the length of ordering if it is greater than 1, otherwise it is min(nrow(data),ncol(data)-1). The maximum number of genes for which measurements are available is nrow(data). If fastBMA algorithm is choosen, this parameter ignored, nVars in fastBMAcontrol used instead


A logical variable indicating whether or not to allow self edges in modeling. The default is to allow self edges.


An optional estimate of the maximum number of regulators for any gene in the network. If provided, this is used to help reduce the amount of memory used for the computations.


A list of control variables affecting the BMA computations. The functions ScanBMAcontrol for optimize="ScanBMA" and iBMAcontrolLM for optimize="iBMA" and fastBMAcontrol for optimize="fastBMA"are provided to faciltate this setting, and the default is ScanBMAcontrol().


A logical variable indicating whether to differentiate between edges with posterior probability of 0. This includes regulators not included from when nvar is less than the total number of possible regulators. If known is not NULL, then diff0 must be FALSE. If fastBMA algorithm used, then diff0 must be FALSE.


A logical variable indicating whether to differentiate between edges with posterior probability of 1.0. If known is not NULL, then diff100 must be FALSE. If fastBMA algorithm used, then diff100 must be FALSE.


A logical variable indicating whether or not a detailed information should be output as the computation progresses. The default value is FALSE.


networkBMA is intended for time-series data in which there are more variables (gene expression values) than observations (experiments). For each gene, a linear model is fit to the expression data for all genes at a particular time point to predict the expression of a particular gene at the next time point. BMA is used to fit the linear model to identify the candidate regulators (variables) in the model. The inferred network consists of candidate regulators and their corresponding posterior probabilities for each gene.
It is assumed that data is available for all replicates at the same set of time points.


A network represented as a data frame in which each row corresponds to a directed edge for which the probability is estimated to be nonzero. The first column gives the name of the regulator, the second column gives the name of the regulated gene, and the third column gives the estimated probability for the regulator-gene pair. Rows are ordered by decreasing probability estimate.
The summary function gives the number of inferred edges at posterior probabilities 0, .5, .75, .90, .95 and 1.0


K. Lo, A. E. Raftery, K. M. Dombek, J. Zhu, E. E. Schadt, R. E. Bumgarner and K. Y. Yeung (2012), Integrating External Biological Knowledge in the Construction of Regulatory Networks from Time-series Expression Data, BMC Systems Biology, 6:101.

K. Y. Yeung, K. M. Dombek, K. Lo, J. E. Mittler, J. Zhu, E. E. Schadt, R. E. Bumgarner and A. E. Raftery (2011), Construction of regulatory networks using expression time-series data of a genotyped population, Proceedings of the National Academy of Sciences, 108(48):19436-41.

K. Y. Yeung, A. E. Raftery and C. Fraley (2012), Uncovering regulatory relationships in yeast using networkBMA, networkBMA Bioconductor package vignette.

L. H. Hong, M. Wu1, A. Lee, W. C. Young, A. E. Raftery and K. Y. Yeung, FastBMA and Transitive Reduction for Gene Network Inference. [in preparation]

See Also

summary.networkBMA, varord, ScanBMAcontrol, iBMAcontrolLM, contabs



# there are a total of 5 datasets (networks) in the dream4ts10 data
network <- 1

nTimePoints <- length(unique(dream4ts10[[network]]$time))

edges1ts10 <- networkBMA( data = dream4ts10[[network]][,-(1:2)], 
                           nTimePoints = nTimePoints, prior.prob = 0.01)


edges1ts10.fastBMA <- networkBMA(data=dream4ts10[[network]][,-(1:2)], nTimePoints = nTimePoints,
                          control=fastBMAcontrol(optimize <- 4))

Example output

Loading required package: BMA
Loading required package: survival
Loading required package: leaps
Loading required package: robustbase

Attaching package: 'robustbase'

The following object is masked from 'package:survival':


Loading required package: inline
Loading required package: rrcov
Scalable Robust Estimators with High Breakdown Point (version 1.4-3)

Loading required package: Rcpp

Attaching package: 'Rcpp'

The following object is masked from 'package:inline':


Loading required package: RcppArmadillo
Loading required package: RcppEigen

Attaching package: 'RcppEigen'

The following objects are masked from 'package:RcppArmadillo':

    fastLm, fastLmPure

  0%  50%  75%  90%  95% 100% 
 100   14   13   12   12    5 
  0%  50%  75%  90%  95% 100% 
   3    3    3    3    3    3 

networkBMA documentation built on Jan. 28, 2021, 2:02 a.m.