WaRSwap Software Application

WarSwap Software Application

A network motif discovery tool for large multi-layer biological networks


The WaRSwap Software Application is a fast network motif discovery tool for large multi-layer biological networks with highly uneven in-degree and out-degree distributions (large source and target hubs). It implements the WaRSwap core randomization algorithm coupled with a fast sub-graph enumeration tool, and is available in two versions: 1) A Standalone version for PC and MAC desktop computers, which takes advantage of parallel execution on all available CPU cores. 2) A Cluster version, which uses the DRMAA-Java library to manage resources on grid computing platforms.Supplementary Material

Download and Install

The WaRSwap Software Application is available in two versions: 1) PC version for running on personal computers, and 2) Cluster version. Both versions are available for download from the following links: 

Software versionFileDescription
  PC (Linux, Windows, MAC)WaRSwapSoftwareApplication_PC.zipPC installation guide
  ClusterWaRSwapSoftwareApplication_cluster.zipCluster installation guide
  Source codeGithub link to source code 

PC installation guide

The standalone PC version is a Java application, which takes advantage of parallel execution on all available CPU cores. The PC version is platform-independent and provides a user-friendly graphical user interface (GUI). It takes advantage of parallel execution on all available CPU cores. The user manual can be found here.

  1. Make sure you have Java jdk installed on your computer (How to check java is installed on your machine?).
  2. Download the software from the Downloads section.
  3. Extract the downloaded package to a destination folder.
  4. Go into the directory in which you extracted the software and run the WaRSwapSoftwareApplication as follows:
    • For windows: double click on jwarswap.jar
    • For linux and mac: Open a command line terminal and type 

      cd WaRSwapSoftwareApplication
  5. To test with the existing sample input graph, select an edge file such as the small_sample_graph.edges.txt and a vertex file such as thesmall_sample_graph.vertices.txt from the sample_inputs directory.
  6. Change default options if desired, otherwise click on the "Start" button to run the program.
  7. Wait while program is running. For the small_sample_graph it may take ~2 minutes to complete.
  8. Find motif discovery output files in given output directory.
  9. Find detailed information on options in the User Manual.

Cluster installation guide

Use the cluster version of the WaRSwap Software Application when the input network is very large (running the PC version of the software may take several days to finish). The cluster version is built on the DRMAA-Java library, and can be depolyed on grid engines such as Oracle (Sun) Grid Engine, Univa Grid Engine, and on GridWay a framework as a programming interface. The GridWay framework enables sharing of computing resources (clusters, servers, supercomputers, etc.) managed by different distributed resource management (DRM) systems such as Condor, Univa Grid Engine, and Son Grid Engine.


Related Materials

    1. Login into a cluster-head machine, which can submit jobs to other nodes in the cluster.
    2. Make sure that you have the "drmaa" library installed on your cluster (http://www.drmaa.org/).
    3. Download the cluster version of the software from the Downloads section.
    4. Extract the package and change the current directory to the extracted folder, and then type:

      cd WaRSwapSoftwareApplication/
    5. DRMAA settings:
      • Ask your cluster admin about the location of libdrmaa.so and drmaa.jar files in the cluster.
      • Open startApplication.sh file to change the DRMAA settings if needed:
        • Set the DRMAA_LIB_PATH variable in startApplication.sh to the directory in which libdrmaa.so is located  (the default path points to: /local/cluster/sge/lib/lx24-amd64/)
        • Save changes in the startApplication.sh file.
      • (Optional) Copy drmaa.jar into WaRSwapSoftwareApplication/lib directory. (Note: do this step only if the current version ofdrmaa.jar located in WaRSwapSoftwareApplication/lib didn't work on your cluster)
    6. Run the application (see the User Manual for more details on how to set the options):

    7. * NETWORK_NAME : an arbitrary string to name the input graph
      * EDGE_FILE : a valid input edge file
      * VERTEX_FILE : a valid input vertex file
      * NO_OF_RAND_NETWORKS : the number of random networks (2500 is recommended)
      * MOTIF_SIZE: an integer larger than 0

    8. The results are located in the “output” directory as follows:
      • A text file named "NETWORK_NAME.motifs.out” which is a human readable text format file containing output motifs.
      • An HTML file named “NETWORK_NAME.motifs.html” which is a graphical representation of output motifs (Use a web browser to open this file).
  • (*Note: load management on available cluster nodes) - The DRMAA-Java application distributes jobs on available nodes which the user has access to. If being a good neighbor on your cluster requires you to limit node usage, you will need to run the program only on the appropriate queues (consult your cluster admin for the advised way to do this on your cluster).
  • The WaRSwap core randomization algorithm is published at: 
    Megraw,M. et al. (2013) Sustained-input switches for transcription factors and microRNAs are central building blocks of eukaryotic gene circuits.Genome Biol., 14, R85.


    Please see the LICENSE file included in both archives for copyright and distribution rights.