Last data update: 2014.03.03

R: Network reconstruction based on partial correlation method...
splineNetReconR Documentation

Network reconstruction based on partial correlation method with shrinkage approach

Description

splineNetRecon reconstructs gene association networks from time-course data. Based on given object of class ExpressionSet, longitudinal data object is created. Subsequantly the function estimates edges using partial correlation method with shrinkage approach applying ggm.estimate.pcor and network.test.edges functions. As a result an object or list of object of class igraph is created.

Usage

splineNetRecon(eSetObject, treatmentType, probesForNR="all", 
            cutoff.ggm=0.8, method="dynamic", saveEdges=FALSE)

Arguments

eSetObject

ExpressionSet object of class ExpressionSet containing log-ratios or log-values of expression for a series of microarrays

treatmentType

a character string containing a type of Treatment defining samples considered for network reconstruction

probesForNR

a vector of character string containing names/IDs used for network reconstruction

cutoff.ggm

number or vector of numbers between 0 and 1 defining cutoff for significant posterior probability; default value is 0.8

method

method used to estimate the partial correlation matrix; available options are "static" and "dynamic" (default) - both are shrinkage methods

saveEdges

if TRUE, .Rdata file with all edges is created; default is FALSE

Details

The input eSetObject must be provided as an object of class ExpressionSet which contains SampleName, Time, Treatment and if applicable Replicates variables (columns) included in the phenotypic data of the eSetObject (pData(eSetObject)). Two types of Treatment defining two groups to compare have to be definied.

Gene association network reconstruction is conducted for a selected type of Treatment. This allows to find regulatory association between genes under a certain condition (treatment). First, a longitudinal data object of the gene expression data with possible repicates is created. This object is used to estimate partial correlation with selected shrinkage method ("dynamic" or "static") with the ggm.estimate.pcor function (for details see ggm.estimate.pcor function help). Finally, the network.test.edges function estimates the probabilities for all possible edges and lists them in descending order (for details see network.test.edges help).

cutoff.ggm can be a single number or a vector of numbers. If more than one value for cutoff.ggm is definied than function returns a list of objects of class igraph for each definied cutoff.ggm value. Otherwise a single object of class igraph with one selected probability is returned.

Value

An object or list of objects of class igraph.

If saveEdges is TRUE, .Rdata file with all possible edges is created.

Author(s)

Agata Michna

See Also

http://strimmerlab.org/software/genenet/

http://strimmerlab.org/software/longitudinal/

Examples

## load "eSetObject" containing simulated time-course data
data(TCsimData)

## define function parameters 
treatmentType = "T2"
probesForNR = "all"
cutoff.ggm = 0.8
method = "dynamic"

## reconstruct gene association network from time-course data
igr <- splineNetRecon(eSetObject = TCsimData, treatmentType, probesForNR, cutoff.ggm, method)
plot(igr, vertex.label = NA, vertex.size = 3)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(splineTCDiffExpr)
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

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

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

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

    IQR, mad, xtabs

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

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: igraph

Attaching package: 'igraph'

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

    normalize, union

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

    decompose, spectrum

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

    union

Loading required package: limma

Attaching package: 'limma'

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

    plotMA

Loading required package: GSEABase
Loading required package: annotate
Loading required package: AnnotationDbi
Loading required package: stats4
Loading required package: IRanges
Loading required package: S4Vectors

Attaching package: 'S4Vectors'

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

    compare

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

    colMeans, colSums, expand.grid, rowMeans, rowSums


Attaching package: 'IRanges'

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

    simplify

Loading required package: XML
Loading required package: graph

Attaching package: 'graph'

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

    addNode

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

    degree, edges, intersection

Loading required package: gtools

Attaching package: 'gtools'

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

    permute

Loading required package: splines
Loading required package: GeneNet
Loading required package: corpcor
Loading required package: longitudinal
Loading required package: fdrtool
Loading required package: FIs
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/splineTCDiffExpr/splineNetRecon.Rd_%03d_medium.png", width=480, height=480)
> ### Name: splineNetRecon
> ### Title: Network reconstruction based on partial correlation method with
> ###   shrinkage approach
> ### Aliases: splineNetRecon
> ### Keywords: differential expression time-course data
> 
> ### ** Examples
> 
> ## load "eSetObject" containing simulated time-course data
> data(TCsimData)
> 
> ## define function parameters 
> treatmentType = "T2"
> probesForNR = "all"
> cutoff.ggm = 0.8
> method = "dynamic"
> 
> ## reconstruct gene association network from time-course data
> igr <- splineNetRecon(eSetObject = TCsimData, treatmentType, probesForNR, cutoff.ggm, method)

----------------------------------------------------------------
All rows from eSetObject will be taken for network reconstruction

----------------------------------------------------------------
Longitudinal object
----------------------------------------------------------------
$time
[1]  1  4  8 16 24 32 40 48

$repeats
[1] 2 2 2 2 2 2 2 2

Estimating optimal shrinkage intensity lambda (correlation matrix): 0.6926 

Estimate (local) false discovery rates (partial correlations):
Step 1... determine cutoff point
Step 2... estimate parameters of null distribution and eta0
Step 3... compute p-values and estimate empirical PDF/CDF
Step 4... compute q-values and local fdr


-------------- igraph_0.8 --------------
Significant edges:  990 
    Corresponding to  0.05 %  of possible edges 
Number of nodes:  473 
> plot(igr, vertex.label = NA, vertex.size = 3)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>