Skip to content


Subversion checkout URL

You can clone with
Download ZIP
C C++
Branch: master
Failed to load latest commit information.
clustering No need for merge_components().
graph @ 597288e (submodule) support for skip_self_loops, and minimum number of nodes
misc @ dc11536 Update submodule misc, because it didn't know about size_t
.gitmodules Change submodules from git: to https:
Makefile Makefile: mscp doesn't need graph/saving.o
README README: more reliable cloning instruction
cliques.cpp cliques.cpp: The functor had a misleading name (stdout).
cliques.hpp Storing the cliques in a vector
cmdline-cp5.c /// comments. And it records the git version too.
cmdline-cp5.ggo /// comments. And it records the git version too.
cmdline-cp5.h /// comments. And it records the git version too.
cmdline-mscp.c start on mSCP
cmdline-mscp.ggo start on mSCP
cmdline-mscp.h start on mSCP
cmdline.c Support --str flag
cmdline.ggo Support --str flag
cmdline.h Support --str flag
comments.hh /// comments. And it records the git version too.
cp5.cpp Use a smaller bloom filter by default, as 32-bit likes it
gpl.txt README and gpl.txt
justTheCliques.cpp (submodule) support for skip_self_loops, and minimum number of nodes
macros.hpp I really should have put brackets around (container)
mscp.cpp mscp? I forgot about that :-)


justTheCliques:   Find maximal cliques, via the Bron Kerbosch algorithm,
cp5:     Fast clique percolation algorithm, described in

== Copyright ==

Copyright 2009-2011 - Aaron McDaid
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
	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.

Something went wrong with that request. Please try again.