inferG1 {G1DBN}R Documentation

First order dependence graph G(1) inference

Description

This function infers the score S1 of each potential edge of a Dynamic Bayesian Network (defined by full order dependence DAG G) by considering 1st order dependencies. The smallest score points out the most significant edge for the 1st order dependence DAG G(1). inferG1 is the 1st step of the estimation procedure described in the references.

Usage

out<-inferG1(data,ls=T,huber=F,tukey=F,kendall=F,predictor=NULL,target=NULL)

Arguments

data a matrix with n rows (=time points) and p columns (=genes) containing the gene expression time series.
ls boolean, TRUE to obtain a score matrix computed by using Least Square estimator, default=TRUE.
huber boolean, TRUE to obtain a score matrix computed by using Huber estimator, default=FALSE.
tukey boolean, TRUE to obtain a score matrix computed by using Tukey bisquare (or biweight) estimator, default=FALSE.
predictor To be specified if the possible predictor genes should be reduced to a subset of d<p genes: an array included in [1,p] defining the position of the d predictor genes in the data matrix, default=NULL.
target To be specified if the possible target genes should be reduced to a subset of r<p genes: an array included in [1,p] defining the position of the r target genes in the data matrix, default=NULL.

Value

A list with out$ls a matrix with min(r,p) columns (=target genes) and min(d,p) rows (=predictor genes) containing the scores S1 obtained with least square estimator (out$ls[i,j] is the score for the edge j -> i), out$huber a matrix containing scores S1 obtained with Huber estimator, out$tukey a matrix containing scores S1 obtained with Tukey bisquare (or biweight) estimator.

Note

For a large number of target genes, it may be interesting to parallel run the procedure inferG1 for each target gene.

Author(s)

Lebre Sophie (http://stat.genopole.cnrs.fr/~slebre).

References

Lebre, S. 2007. Inferring Dynamic Bayesian Networks with low order dependencies. Preprint available at http://hal.archives-ouvertes.fr/hal-00142109.

See Also

GfromG1, edges.

Examples

# load G1DBN Library
library(G1DBN)

data(arth800line)
data<-arth800line
id<-c(60, 141, 260, 333, 365, 424, 441, 512, 521, 578, 789, 799)

# compute score S1 
pmaxG1<-inferG1(data,ls=TRUE,tukey=FALSE,huber=FALSE,predictor=id,target=id)
round(pmaxG1$ls,2)

resG1<-edges(score=pmaxG1$ls,targetNames=id,predNames=id,validMat=NULL,roc=FALSE,
threshold=0.001,nb=NULL,prec=6)
resG1$nameslist

# compute score S2 from S1 
GwithLS<-GfromG1(pmaxG1$ls,data,method='ls',alpha1=0.1,alpha2=0.01,predictor=NULL,
target=NULL)
GwithLS

resG<-edges(score=GwithLS$S2,targetNames=id,predNames=id,validMat=NULL,roc=FALSE,
threshold=0.001,nb=NULL,prec=6)
resG$nameslist

[Package G1DBN version 1.0 Index]