My intent with this repo is to update a bit the tool graphm
which was initially proposed here: https://projects.cbio.mines-paristech.fr/graphm/.
It has not been for a decade and the code does not compile on my laptop, so I took the initiative to distribute the few fixes I made to have a working project.
At the beginning, I fixed a compilation error and then, a segmentation fault. The segmentation fault was solved by addressing a compilation warning, so I addressed all the compilation warnings.
For now, my intent is to make the code work without refactoring it. If some people are interested in refactoring and updating this code, you can contact me so we can organize something.
Feel free to contribute to this repo to fix additional bugs. Please also consider completing the requirements below.
- Umeyama algorithm. S.Umeyama: An eigendecomposition approach to weighted graph matching problems
- Linear programming approach. H.A. Almohamad and S.O. Duffuaa: Linear Programming Approach for the Weighted Graph Matching Problem
- Rank algorithm. R.Singh and J.Xu and B.Berger: Pairwise Global Alignment of Protein Interaction Networks By Matching Neighborhood Topology
- QCV (Quadratic convex relaxation) algorithm. M.Zaslavskiy and F.Bach and J-P.Vert A path following algorithm for the graph matching problem
- PATH (A path following) algorithm. M.Zaslavskiy and F.Bach and J-P.Vert A path following algorithm for the graph matching problem
Requirements:
- g++
- make
- GSL package
sudo apt install make build-essential libgsl-dev g++
Install script:
./graphm_install
Once install is done, you should have the binary ./bin/graphm
.