fetchDiffCorrGrinnNetwork: Compute a differential correlation network and expand the...

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/fetchDiffCorrGrinnNetwork.R

Description

from input omics data e.g. normalized expression data or metabolomics data, it is a one step function to:

1. Compute a differential correlation network of input omics data from two conditions, see datX1, datX2, datY1, datY2. Correlation coefficients, pvalues and relation directions among entities in each condition are calculated using WGCNA functions cor and corPvalueStudent. The correlation coefficients are continuous values between -1 (negative correlation) and 1 (positive correlation), with numbers close to 1 or -1, meaning very closely correlated. Then correlation coefficients are test for differential correlations using Fisher's z-test based on DiffCorr.

2. Expand the differential correlation network using information from the Grinn internal database. The nodes of the differential correlation network are the keywords input to query the grinn database. The Grinn internal database contains the networks of the following types that can get expanded to: metabolite-protein, metabolite-protein-gene, metabolite-pathway, protein-gene, protein-pathway and gene-pathway, see also fetchGrinnNetwork.

Usage

1
fetchDiffCorrGrinnNetwork(datX1,  datX2, datY1, datY2, pDiff, method, returnAs, xTo, yTo, filterSource)

Arguments

datX1

data frame containing normalized, quantified omics data e.g. expression data, metabolite intensities of one condition. Columns correspond to entities e.g. genes, metabolites, and rows to samples. Require 'nodetype' at the first row to indicate the type of entities in each column. See below for details.

datX2

data frame containing normalized, quantified omics data e.g. expression data, metabolite intensities of another condition. Use the same format as datX1.

datY1

data frame containing normalized, quantified omics data e.g. expression data, metabolite intensities of one condition. Use the same format as datX1. If there is only one type of dataset, it can be NULL. See below for details.

datY2

data frame containing normalized, quantified omics data e.g. expression data, metabolite intensities of another condition. Use the same format as datX1. If there is only one type of dataset, it can be NULL. See below for details.

pDiff

numerical value to define the maximum value of pvalues (pvalDiff), to include edges in the output.

method

string to define which correlation is to be used. It can be one of "pearson","kendall","spearman", see cor.

returnAs

string of output type. Specify the type of the returned network. It can be one of "tab","json","cytoscape", default is "tab". "cytoscape" is the format used in Cytoscape.js

xTo

string of node type. It can be one of "metabolite","protein","gene","pathway". See below for details.

yTo

string of node type. It can be one of "metabolite","protein","gene","pathway". See below for details.

filterSource

string or list of pathway databases. The argument is required, if xTo or yTo = "pathway". The argument value can be any of "SMPDB","KEGG","REACTOME" or combination of them e.g. list("KEGG","REACTOME").

Details

To calculate the differential correlation network, require the input data from two conditions; 1 and 2. The input data are matrices in which rows are samples and columns are entities. For each condition, if datY is given, then the correlations between the columns of datX and the columns of datY are computed before testing. In this case:

- The differential correlation network can be expand from datX (by providing a value to xTo) or datY (by providing a value to yTo) or both entities to the specified nodetype.

Otherwise if datY is not given, the correlations of the columns of datX are computed before testing. In this case:

- The differential correlation network can be expand from datX entites to a specific nodetype, by providing a value to xTo.

If xTo or yTo or both is given, the columns of both datX and datY are required to use grinn ids for extended queries on the Grinn internal database, see convertToGrinnID for id conversion.

If xTo = NULL and yTo = NULL, only the correlation network will be returned.

Value

list of nodes and edges. The list is with the following componens: edges and nodes. Output includes correlation coefficients, pvalues and relation directions of each conditions, and the pvalues (pvalDiff) after testing. Return empty list if found nothing

Author(s)

Kwanjeera W kwanich@ucdavis.edu

References

Langfelder P. and Horvath S. (2008) WGCNA: an R package for weighted correlation network analysis. BMC Bioinformatics, 9:559

Dudoit S., Yang YH., Callow MJ. and Speed TP. (2002) Statistical methods for identifying differentially expressed genes in replicated cDNA microarray experiments, STATISTICA SINICA, 12:111

Langfelder P. and Horvath S. Tutorials for the WGCNA package http://labs.genetics.ucla.edu/horvath/CoexpressionNetwork/Rpackages/WGCNA/Tutorials/index.html

Fukushima A. (2013) DiffCorr: an R package to analyze and visualize differential correlations in biological networks. Gene, 10;518(1):209-14.

See Also

cor, corPvalueStudent, fetchGrinnNetwork, DiffCorr, http://js.cytoscape.org/

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Compute a differential correlation network of metabolites and expand to a grinn network of metabolite-protein
dummyX1 <- rbind(nodetype=rep("metabolite"),mtcars[1:16,])
colnames(dummyX1) <- c('G1.1','G27967','G371','G4.1',letters[1:7])
rownames(dummyX1)[-1] <- paste0(rep("normal_"),1:16)
dummyX2 <- rbind(nodetype=rep("metabolite"),mtcars[17:32,])
colnames(dummyX2) <- c('G1.1','G27967','G371','G4.1',letters[1:7])
rownames(dummyX2)[-1] <- paste0(rep("cancer_"),1:16)
result <- fetchDiffCorrGrinnNetwork(datX1=dummyX1, datX2=dummyX2, pDiff=0.05, method="spearman", returnAs="tab", xTo="protein")
library(igraph)
plot(graph.data.frame(result$edges[,1:2], directed=FALSE))
# Compute a differential correlation network of metabolites and proteins and expand to the grinn network of metabolite-pathway and protein-gene
dummyX1 <- rbind(nodetype=rep("metabolite"),mtcars[1:16,1:5])
colnames(dummyX1) <- c('G1.1','G27967','G371','G4.1','G16962')
rownames(dummyX1)[-1] <- paste0(rep("normal_"),1:16)
dummyX2 <- rbind(nodetype=rep("metabolite"),mtcars[17:32,1:5])
colnames(dummyX2) <- c('G1.1','G27967','G371','G4.1','G16962')
rownames(dummyX2)[-1] <- paste0(rep("cancer_"),1:16)
dummyY1 <- rbind(nodetype=rep("protein"),mtcars[1:16,6:10])
colnames(dummyY1) <- c('P28845','P08235','Q08AG9','P80365','P15538')
rownames(dummyY1)[-1] <- paste0(rep("normal_"),1:16)
dummyY2 <- rbind(nodetype=rep("protein"),mtcars[17:32,6:10])
colnames(dummyY2) <- c('P28845','P08235','Q08AG9','P80365','P15538')
rownames(dummyY2)[-1] <- paste0(rep("cancer_"),1:16)
result <- fetchDiffCorrGrinnNetwork(datX1=dummyX1, datX2=dummyX2, datY1=dummyY1, datY2=dummyY2, pDiff=0.05, method="spearman", returnAs="tab", xTo="pathway", yTo="gene")

kwanjeeraw/grinn documentation built on May 20, 2019, 7:07 p.m.