Key Driver Analysis Tool

Key Driver Analysis (KDA) is an analysis tool, as both an R package and Cytoscape plugin, for identifying key regulators of a gene regulatory network.  It takes as input a gene network N  (directed or undirected) and a gene set (module) G.  The gene set is any subset of genes from the network N (e.g. pathway, module, ontology), permitting focus on a particular biological context. Send comments and suggestions to:

Download KDA Java Plugins and R Package:


The KDA archive contains the plugin source, the plugin jar file, and several example datasets. To install, copy the file ‘kda-plugin.jar’ into Cytoscape’s plugin directory [cytoscape_install_path/plugins].  If Cytoscape is open, close and restart cytoscape; the plugin should now be visible from within the “Plugin” menu.

Running KDA (by example):
This tutorial assumes some elementary knowledge of Cytoscape, such as importing and laying out networks.  Please read the Cytoscape documentation prior to using KDA.

  1. KDA requires an active network within the Cytoscape desktop.  The KDA package contains 2 sample networks: open the network labeled “yeastbn.cys” found in the “kda/data” directory [Figure 1].

  2. Activate the KDA plugin by selecting the “Key Driver Analysis” menu item from the “Plugin” menu [Figure 2]. This will open a “Key Driver Analysis Settings” dialog [Figure 3]. The dialog contains the following settings:
    • Import gene modules: a single gene module or multiple gene modules may be input here, or loaded from a file.  For multiple gene modules, the input should be two columns (tab separated) with the first column containing the names of the genes (graph nodes) while the 2nd column is the name of the module.  For a single module, the 2nd column may be omitted.
    • Network: the loaded Cytoscape network to analyze.
    • Graph type: denotes the network as directed or undirected.
    • Signifcance threshold: p-value threshold (uncorrected for multiple hypothesis testing) for determining what constitutes a key-driver
    • Module network expansion: the initial h-layer neighbor expansion to determine the subnetwork Ng for key driver analysis.
    • Nearest neighbors: the h-layer neighborhood expansion for each node in Ng, used in computing the enrichment statistic with the genes (node) in module G.  In “Search” mode, the integer parameter is the maximum H to search, such that h={1..H}.  In “Fixed” mode, the integer parameter is the h-parameter used in the analysis.
    • Permutations: a q-value is computed to estimate false discoveries by permuting the labels within the module G.  If set to 0, the q-value will not be computed, and only the bonferroni correction will be reported.

  3. Load the gene modules by clicking the “Import Gene Modules” button, and select the file called “yeast_eQTL_hotspots.txt” found in the “kda/data” directory.  Keep the default parameters, and set “Permutations” to 1000.  Start the KDA analysis by clicking “Run”.

  4. The complete analysis takes less then 2 minutes on a Mac Book Pro with 1000 permutations.  Subnetworks for each module are created and displayed in the network view [Figure 4].  Results of the analysis are shown in the KDA dialog [Figure 5].  To export these results to a flat-file, select “Export Results”.  Clicking on a key driver in the results table pane will activate and highlight the corresponding node in the network view.

Figure 1.

figure 1


Figure 2.

figure 2


Figure 3.

figure 3


Figure 4.

figure 4

Figure 5.

figure 5


^ Back to top