DME
Dense Module Enumeration in Weighted Interaction Networks

News

Introduction

DME (Dense Module Enumeration) is a C++ software for extracting dense modules from a weighted interaction network. It allows to incorporate constraints with respect to additional data sources.

Given an undirected weighted graph with node set V, let W be the symmetric matrix that represents the interaction weights between all pairs of nodes (if no edge is given, the interaction weight is zero by default). Let U be a subset of nodes. Then the density of U with respect to W is defined as the average pairwise interaction weight between all members of U. DME detects all node subsets that satisfy a user-defined minimum density threshold. We refer to these node subsets as dense modules.

In addition, the module search can respect consistency constraints with respect to external profile data. Given some discrete profile for each node, a module is called consistent if there exists a subprofile which is shared by all member nodes. For example, if each node corresponds to a protein, the profile could indicate its presence or absence across multiple cellular conditions. For each of the discrete states (for example, presence or absence), the user can define the minimum required number of profile conditions for which all module members are in this state. DME yields all dense modules that satisfy the specified consistency constraints.

The method only outputs locally maximal solutions, i.e. modules where all direct supermodules (containing one additional node) do not satisfy the minimum density threshold. The obtained modules are ranked according to the probability that a random selection of the same number of nodes produces a module with at least the same density. For a detailed description of the method, please see the publications section.

Note:
For the special case of dense module enumeration in an unweighted graph and without additional constraints and module ranking, it is most efficient to use the PCE software by T. Uno (Method description).

Download

License: DME is free software under the GNU General Public License, version 2. A copy of the license document is included in the DME distribution.

If the above version consumes too much memory for your application, please use the --ranking=0 option (no ranking) or, to obtain the module-ranking in a memory-efficient way, try the following version (which might be more time-consuming).

PCE (pseudo clique enumerator) by T. Uno: Very efficient implementation for the special case of dense module enumeration in an unweighted graph and without additional constraints and module ranking.

  • PCE software, Method description, T. Uno's homepage
  • DME Manual

    Compilation:

    >> make

    Usage:

      Basic module enumeration method:
    >> ./dme m <input_file> <output_file> <density_threshold> [options]
      With consistency constraints:
    >> ./dme c <input_file> <output_file> <density_threshold> <profile_file>
    <number_of_states_s> <threshold_state_0> ... <threshold_state_(s-1)> [options]

    Examples: >> ./dme m data/ppi.txt res/output.txt 0.75 --minSize=3
    >> ./dme m data/ppi.txt res/output1.txt 0.75 --minSize=3 --ranking=0
    >> ./dme c data/ppi.txt res/output2.txt 0.75 data/nodeInfo.txt 2 0 3
    >> ./dme c data/ppi.txt res/output3.txt 0.75 data/nodeInfo.txt 2 1 1
    Please note that consistency constraints have to be specified for each possible state individually. For states where you do not want to impose a constraint, you can enter a 0.

    Publications

    Contact