PRE-REQUISITES:
---------------

The python script for NetEmd uses the following python packages:

1: Networkx.
2: Scipy
3: Numpy
4: Cython
5: the R packages:'igraph' and 'orca'


HOW TO RUN:
-----------
NetEmd is written in python and can be run from the command line using,
"python NetEmd.py indir var n-core"

The script takes two arguments:

indir: Name of directory containing all (and only) the query networks.
var: Features to be used as input for NetEmd. Options are: 'orb4' (graphlet degree distributions up to size 4),'orb5'(graphlet degree distributions up to size 5), 'ego4'(counts of grpahlets upto size 4 in 1-step ego networks) and 'spec' (spectra of the graph Laplacian and the normalized graph Laplacian).
n-core: Number of CPUs to be used for calculating NetEmd.

All networks should be in edge list format, i.e each line contains two node names separated by a space or tab.


OUTPUT:
-------
When var is 'orb4' or 'orb5' the program will generate the several output files corresponding to different choices of graphlet size. For instance NetEmd_G5_indir will contain the the pair-wise distance matrix for the query networks obtained using graphlets up to size 5. 

When var is 'ego4' the output file will read NetEmd_ego4_indir. 

When var is 'spec' the output file will read NetEmd_spec_indir. 

The program also creates a folder that contains the single feature NetEmd distance matrices. For instance for var='orb5' a folder called indir-NetEmdOrb5 containing all 73 NetEmd matrices corresponding to orbits of graphlets up to size 5 will be created.  

The output files should be compatible with R and Matlab.




 

