No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
aaronmcdaid Merge pull request #2 from JFRode/patch-1
Update and rename README to README.md
Latest commit 12bd398 Aug 7, 2017
Permalink
Failed to load latest commit information.
clustering No need for merge_components(). Jun 5, 2011
graph @ 597288e (submodule) support for skip_self_loops, and minimum number of nodes Jun 4, 2011
misc @ dc11536 Update submodule misc, because it didn't know about size_t Aug 21, 2012
.gitmodules Change submodules from git: to https: Aug 10, 2014
Makefile Added option to makefile to avoid compilation error in current c++ st… Jan 20, 2017
README.md Update and rename README to README.md Aug 4, 2017
cliques.cpp cliques.cpp: The functor had a misleading name (stdout). Nov 13, 2011
cliques.hpp Storing the cliques in a vector Jun 1, 2011
cmdline-cp5.c /// comments. And it records the git version too. Jun 11, 2011
cmdline-cp5.ggo /// comments. And it records the git version too. Jun 11, 2011
cmdline-cp5.h /// comments. And it records the git version too. Jun 11, 2011
cmdline-mscp.c start on mSCP Jun 13, 2011
cmdline-mscp.ggo start on mSCP Jun 13, 2011
cmdline-mscp.h start on mSCP Jun 13, 2011
cmdline.c Support --str flag May 30, 2011
cmdline.ggo Support --str flag May 30, 2011
cmdline.h Support --str flag May 30, 2011
comments.hh /// comments. And it records the git version too. Jun 11, 2011
cp5.cpp Use a smaller bloom filter by default, as 32-bit likes it Aug 21, 2012
gpl.txt README and gpl.txt May 29, 2011
justTheCliques.cpp (submodule) support for skip_self_loops, and minimum number of nodes Jun 4, 2011
macros.hpp I really should have put brackets around (container) Nov 13, 2011
mscp.cpp mscp? I forgot about that :-) Nov 13, 2011

README.md

MaximalCliques

justTheCliques: Find maximal cliques, via the Bron Kerbosch algorithm, Bron Kerbosch in Wikipedia

cp5: Fast clique percolation algorithm, described in Cornell University Library

Copyright

Copyright 2009-2011 - Aaron McDaid aaronmcdaid@gmail.com. Licensed under GPL v3. See gpl.txt included with this package.

Compiling

First, to get your hands on the latest code from GitHub. In a directory of your choice:

git clone --recursive https://github.com/aaronmcdaid/MaximalCliques.git
make clean justTheCliques cp5

Usage

./justTheCliques your_edge_list.txt                         [--stringIDs]    > cliques.txt
./cp5            your_edge_list.txt output_directory        [--stringIDs]
  • justTheCliques will output the cliques to standard output, hence you should redirect it with "> cliques.txt" as in this example.
  • cp5 will create its output in a directory of your choice.

or, if you just want cliques with at least 10 nodes in them,

./justTheCliques your_edge_list.txt -k 10  [--stringIDs]    > cliques.txt

this should be a little faster. --stringIDs is to allow strings, not just integers in the input - see below.

The cliques themselves are printed to stdout (hence the redirection above). Various summary stats are printed on stderr. So, if you didn't want the cliques but did want to see the sizes of the cliques found, to

./justTheCliques edge_list.txt       > /dev/null

Input file

Each line of the your_edge_list.txt represents an edge. The first two fields (delimited by commas, pipes(|), spaces or tabs) are the names of the two nodes that are connected. Directionality is ignored, and self-loops will be rejected. Any other fields on the line are also ignored.

By default, the node names are integers (64-bit integers). But you can change this with the --stringIDs option; note this will increase memory usage.