DGCA v1.0.1


Monthly downloads



Differential Gene Correlation Analysis

Performs differential correlation analysis on input matrices, with multiple conditions specified by a design matrix. Contains functions to filter, process, save, visualize, and interpret differential correlations of identifier-pairs across the entire identifier space, or with respect to a particular set of identifiers (e.g., one). Also contains several functions to perform differential correlation analysis on clusters (i.e., modules) or genes. Finally, it contains functions to generate empirical p-values for the hypothesis tests and adjust them for multiple comparisons. Although the package was built with gene expression data in mind, it is applicable to other types of genomics data as well, in addition to being potentially applicable to data from other fields entirely. It is described more fully in the manuscript introducing it, freely available at <doi:10.1186/s12918-016-0349-1>.


Travis-CI Build Status


The goal of DGCA is to calculate differential correlations across conditions.

It simplifies the process of seeing whether two correlations are different without having to rely solely on parametric assumptions by leveraging non-parametric permutation tests and adjusting the resulting empirical p-values for multiple corrections using the qvalue R package.

It also has several other options including calculating the average differential correlation between groups of genes, gene ontology enrichment analyses of the results, and differential correlation network identification via integration with MEGENA.


You can install DGCA from github with:

# install.packages("devtools")

Basic Example

data(darmanis); data(design_mat)
ddcor_res = ddcorAll(inputMat = darmanis, design = design_mat, compare = c("oligodendrocyte", "neuron"))
head(ddcor_res, 3)
#   Gene1  Gene2 oligodendrocyte_cor oligodendrocyte_pVal neuron_cor neuron_pVal
# 1 CACYBP   NACA        -0.070261455           0.67509118  0.9567267           0
# 2 CACYBP    SSB        -0.055290516           0.74162636  0.9578999           0
# 3 NDUFB9    SSB        -0.009668455           0.95405875  0.9491904           0
#   zScoreDiff     pValDiff     empPVals pValDiff_adj Classes
# 1  10.256977 1.100991e-24 1.040991e-05    0.6404514     0/+
# 2  10.251847 1.161031e-24 1.040991e-05    0.6404514     0/+
# 3   9.515191 1.813802e-21 2.265685e-05    0.6404514     0/+


There are three vignettes available in order to help you learn how to use the package:

  • DGCA_basic: This will get you up-and-going quickly.
  • DGCA: This is a more extended version that explains a bit about how the package works and shows several of the options available in the package.
  • DGCA_modules: This will show you how to use the package to perform module-based and network-based analyses.

The second two vignettes can be found in inst/doc.


You can view the manuscript describing DGCA in detail as well as several applications here:

Material for associated simulations and networks created from MEGENA can be found here:

Functions in DGCA

Name Description
dcTopPairs Creates a data frame for the top differentially correlated gene pairs in your data set.
matCorSig Calculate correlation matrix p-values.
ddcorAll Calls the DGCA pairwise pipeline.
ddMEGENA Integration function to use MEGENA to perform network analyses of DGCA results.
ddplot Create a heatmap showing the correlations in two conditions.
pairwiseDCor Calculate pairwise differential correlations.
moduleGO Perform module GO-trait correlation
matCorr Calculate a correlation matrix.
ddcorFindSignificant Find groups of differentially correlated gene symbols.
ddcorGO Gene ontology of differential correlation-classified genes.
adjustPVals Adjusts a numeric vector of p-values.
ages_darmanis Brain sample ages vector.
getGroupsFromDesign Split input matrix(es) based on the design matrix.
makeDesign Create a design matrix from a character vector.
switchGenesToHGCN Switches a gene vector to cleaned HGNC symbols.
topDCGenes Ranks genes by their total number of differentially correlated gene pairs.
dCorMats Finds differential correlations between matrices.
dCorrs Differential correlation between two conditions.
extractModuleGO Extract results from the module GO analysis
filterGenes Filter rows out of a matrix.
findGOTermEnrichment Find GO enrichment for a gene vector (using GOstats).
getCors Compute matrices necessary for differential correlation calculation.
permQValue Calculate q-values from DGCA class objects based on permutation-based empirical null statistics.
plotCors Plot gene pair correlations in multiple conditions.
plotModuleGO Plot extracted results from module-based GO enrichment analysis using ggplot2.
plotVals Creates a dotplot of the overall values for an individual gene in multiple conditions.
matNSamp Find the number of non-missing values.
moduleDC Calculate modular differential connectivity (MDC)
plotGOOneGroup Plot results from a hypergeometric enrichment test for one condition.
plotGOTwoGroups Plot results from a hypergeometric enrichment test to compare two conditions.
getDCorPerm Get permuted groupwise correlations and pairwise differential correlations.
getDCors Get groupwise correlations and pairwise differential correlations.
dCorAvg Get average empirical differential correlations.
dCorClass Classify differential correlations.
design_mat Design matrix of cell type specifications of the single-cell RNA-seq samples.
DGCA DGCA: An R package for Differential Gene Correlation Analysis
darmanis Single-cell gene expression data from different brain cell types.
bigEmpPVals Use speed-optimized sorting to calculate p-values observed and simulated null test statistic using a reference pool distribution.
No Results!

Vignettes of DGCA

No Results!

Last month downloads


VignetteBuilder knitr
RoxygenNote 5.0.1
License GPL-3
LazyData true
NeedsCompilation no
Packaged 2016-11-17 15:51:18 UTC; amckenz
Repository CRAN
Date/Publication 2016-11-17 18:33:47

Include our badge in your README