A c++ implementation of MDANCE, a flexible n-ary clustering package for all applications
Before you begin, make sure you have Eigen installed.
To build MDance from source, first clone the GitHub repository:
git clone https://github.com/mqcomplab/CPP-MDANCE.gitThen navigate into the directory:
cd CPP-MDANCERun CMake to generate the build configuration files:
cmake -S . -B build(Optional) You can choose from three different build types:
- Release (Default)
- Debug
- RelWithDebInfo To specify a different build type:
cmake -S . -B build -DCMAKE_BUILD_TYPE=<BuildType>Compile MDance by running:
cmake --build buildNavigate to build/tests/ folder:
cd build/tests/Use ctest to execute the tests:
ctestAn example output is:
Start 1: mdance_tests
1/1 Test #1: mdance_tests ..................... Passed 2.71 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 2.71 secTODO: add instructions for installation and figure out how to make CPP-MDANCE easily portable.
src/cluster/KmeansRex/KmeansRexCore.cpp: Has NANI implementationsrc/cluster/divine.cpp: Has DIVINE implementationsrc/tools: Has supporting functions, such as BTS, type definitions, and score calculations.- TODO: implement HELM
tests/runTests.sh: Bash script for testing code by comoparing output to that of the Python librarytests/data: stores datasetstests/results: Stores the results of the test. The results themselves are stored in the*Results.txtfiles, while the time and any error messages are stored in*Time.txtfiles