The Shannon GitHub repository is here. Source code can also be downloaded from the download page. Currently, Shannon can be built on Linux and Mac.

Requirements:

  • Python 2.7 or greater
  • Metis
    • See here for instructions on installing metis. In Ubuntu systems, metis can be simply installed using the following command: sudo apt-get install metis
  • NUMPY
    • Python package. See here for installing. The following command will work if you have pip installed: pip install numpy (you may need sudo access)
  • CVXOPT
    • Python oackage. See here for installing. The following command will work if you have pip installed: pip install cvxopt (you may need sudo access) CVXOPT does require ATLAS or BLAS libraries and LAPACK to be installed prior to its installation. On Ubuntu, it can simply be installed using apt-get with the following set of commands. sudo apt-get install libatlas-dev sudo apt-get install liblapack-dev sudo apt-get install libblas-dev sudo pip install cvxopt
  • Quorum
    • See here for installing. Both Quorum and Jellyfish can be installed using a single file
  • Jellyfish v2.0 or higher.
    • Jellyfish should be installed along with Quorum, but in case it is not installed, see here for downloading and installing.
  • GNU-Parallel
    • Optional. It is needed for running multiple jobs simultaneously. See here for installing.

Download

Shannon is hosted on GitHub. The source code can be obtained by cloning the repository as follows:

git clone https://github.com/sreeramkannan/Shannon.git

Configuration

Shannon needs to be configured so that it can find the dependencies. If the programs can be found directly in the shell, then the default configuration is fine. Otherwise the following four path variables need to be set in the file shannon.py

gpmetis_path = ‘gpmetis’ jellyfish_path = ‘jellyfish’ gnu_parallel_path = ‘parallel’ quorum_path = ‘quorum’

For example if quorum is available in ‘/Packages/quorum-1.0.0/’ set the variable as follows:

quorum_path = '/Packages/quorum-1.0.0/quorum'

Test

The Shannon package comes with a small set of read files that can be used to test that the package was compiled and installed correctly. The Getting started page provides a complete description of how to run Shannon on these files.