Skip to content

kitsiosk/fglt

FGλT
Fast Graphlet Transform

DOI DOI GitHub license GitHub issues

Summary

We introduce...

Getting started

System environment

The FGλT library has been tested under Ubuntu 18.04 and macOS Catalina v10.15.6. The only prerequisite is a C++ compiler (optionally, with cilk support, see Installation)

Installation

To generate the FGλT library and program:

mkdir build; cd build
../configure
make all

To specify the C++ compiler:

./configure CXX=<compiler-executable>

Note: If the specified compiler supports cilk, the compiled program will automatically use cilk for parallelism. Otherwise, the program will run in sequential mode.

If you wish to install the executable fglt, issue:

make install

Note: Depending on your setup, you might need sudo privileges for this operation.

To generate the documentation (assuming Doxygen is installed on your machine):

cd docs
make
open html/index.html

Usage demo

The FGλT executable is named fglt. Usage:

fglt <filename>

where <filename> is the path to a sparse matrix stored in symmetric, coordinate, MatrixMarket format. The graphlet frequencies are exported in freq_net.txt. For example,

wget https://suitesparse-collection-website.herokuapp.com/MM/Pajek/GD96_c.tar.gz --no-check-certificate
tar -xzvf GD96_c.tar.gz
fglt GD96_c/GD96_c.mtx
less freq_net.csv

MATLAB interface

To build the MATLAB interface to FGλT, issue

fgtmake

in MATLAB command window, under MATLAB directory.

A MATLAB demo script is provided under MATLAB:

demo.m

which showcases the use of FGλT on a couple of test graphs.

Julia wrapper

You can use FGλT with Julia with the FGLT.jl package.

Building with Meson

You can use Meson to build a shared library and link the demo executable against it. You need to build the shared library to use FGλT with Julia or Python.

After installing meson and ninja, you can simply run:

meson build
cd build
ninja
sudo ninja install # optional: install the shared library system-wide

License and community guidelines

The FGlT library is licensed under the GNU general public license v3.0. To contribute to FGlT or report any problem, follow our contribution guidelines and code of conduct.

Contributors

Design and development:
Dimitris Floros1, Nikos Pitsianis1,2, Xiaobai Sun2\

Development of Julia and Python wrappers:
Jason Barmparesos1

1 Department of Electrical and Computer Engineering, Aristotle University of Thessaloniki, Thessaloniki 54124, Greece
2 Department of Computer Science, Duke University, Durham, NC 27708, USA

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors