Download

The current version of CoDACom may be downloaded here.

Version

The current version number is 0.1.1.

Dependancies

  • igraph
  • expect (optionnal)
  • mcl (optionnal)
  • boost graph library (optionnal)

CoDACom heavily depends on the igraph library. Fortunatly, this library is available through multiple repositories. Optional packages may be required for community detection algorithms implementation. If these packages are not installed, the corresponding algorithms will simply not be run.

Debian-based

Checked on Debian 8.2 from a fresh install.

Required:

sudo apt-get install build-essential libigraph0-dev

Optionnal:

apt-get install mcl libboost-graph-dev expect

OSX with brew

Checked on Yosemite 10.10.1 from a fresh install

Required:

brew install homebrew/science/igraph
brew install python3

Optionnal:

brew install boost
brew install mcl

Generic Unix

If the version of igraph in your package manager is too old, you may install it from the source. If you install libraries in non-standard locations (e. g. using --prefix=path/to/igraph/install as an option of the igraph configure step), you must inform the path of the binaries and of the include files to CoDACom. You may refer to these locations in two ways :

  • either provide the locations as options of your configure, such as ./configure LDFLAGS=-L/path/to/igraph/install/lib CPPFLAGS=-I/path/to/igraph/install/include,
  • or add the include location to your CPATH variable and the library location to your LD_LIBRARY_PATH variable

Installation

The package follows a standard autoconf installation procedure, but with a few twists. After uncompressing the archive, you may install it in the wollowing way :

cd methods/; sh scrap_web.sh; cd - #Optionnal, import some methods from websites
./configure
make
sh update_whitelist.sh #Sets whitelists to the default ones

Since it is not a library, make install is not required.

Website (with GUI)

Before reading this section, it is advised to read at least the use guide. The website uses PHP5 as its only prerequiste.

In the html folder of the archive, you will find the website you are currently browsing. In order for it to communicate with the CoDACom implementation, you need to provide the appropriate folders to two configuration files.

  • conf.php is the server-side configuration of the website. It handles different behavioral aspects, and also references paths that are essential for the GUI.
  • vars.sh (or any file named by the $vars_path variable in conf.php) is the configuration file that will be provided to the command-line interface.

Usually, one would first install the command-line interface using the previous sections, in a folder we will call main. Then, he would copy the content of the html folder into the repository used by the web server, that we will call web. Afterwards, he would modify web/conf.php, to provide the location of the main directory to the $root_dir variable. He would also make sure that the folders pointed to by the variables $gt_dir, $rgt_dir, $clusterings_dir and $result_dir can be listed by the web interface. He may finally let users upload graphs by setting the $authorise_upload variable.

If the shared mode is not used (i.e. the data is user-specific), the files in data/template also need to be configured. A mirror of vars.sh and conf.php that will be copied for each user are there, and have to be edited.