## fetchDiffCorrGrinnNetwork - Compute a differential correlation network and expand the network with information from Grinn internal database

### 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

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 sourceTo or targetTo = "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

### Examples

```
# 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")
# 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")
```

### References

Correlation-based analyses apply methods from the following publications:

- Dudoit S,
*et al.*Statistical methods for identifying differentially expressed genes in replicated cDNA microarray experiments, STATISTICA SINICA 2002;12:111. - Fukushima A DiffCorr: an R package to analyze and visualize differential correlations in biological networks. Gene 2013;10;518(1):209-14.
- Langfelder P,
*et al.*WGCNA: an R package for weighted correlation network analysis. BMC Bioinformatics 2008;9:559. - Langfelder P,
*et al.*Tutorials for the WGCNA package, click here

Go to HOME | Documentation | fetchGrinnNetwork | fetchCorrGrinnNetwork | fetchDiffCorrGrinnNetwork | fetchModuGrinnNetwork | fetchGrinnCorrNetwork | input formats