(main page)
MCL - a cluster algorithm for graphs
Four iterands of MCL visualized
Download

Software

If you use this software in writing scientific papers, or you use this software in any other medium serving scientists or students (e.g. web-sites, CD-ROMs) include proper reference to mcl's home on http://micans.org/mcl/ and its author, Stijn van Dongen. Also include at least one of the following citations - note that copies of the corresponding publications can be retrieved via the links given.

Stijn van Dongen, Graph Clustering by Flow Simulation. PhD thesis, University of Utrecht, May 2000.
[ http://www.library.uu.nl/digiarchief/dip/diss/1895620/inhoud.htm ].

 

Stijn van Dongen. A cluster algorithm for graphs. Technical Report INS-R0010, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
[ http://www.cwi.nl/ftp/CWIreports/INS/INS-R0010.ps.Z ].

 

Stijn van Dongen. A stochastic uncoupling process for graphs. Technical Report INS-R0011, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
[ http://www.cwi.nl/ftp/CWIreports/INS/INS-R0011.ps.Z ].

 

Stijn van Dongen. Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
[ http://www.cwi.nl/ftp/CWIreports/INS/INS-R0012.ps.Z ].

 

Stijn van Dongen. Graph clustering via a discrete uncoupling process. Siam Journal on Matrix Analysis and Applications 30-1, p121-141, 2008.

For biological applications, it is appropriate to cite in addition the following paper, in which the application of MCL to biological graphs was first proposed.

Enright A.J., Van Dongen S., Ouzounis C.A. An efficient algorithm for large-scale detection of protein families, Nucleic Acids Research 30(7):1575-1584 (2002).

Download a a ready-to-install tarball containing my GPL-ed MCL implementation in C. The software is licensed under the GNU General Public License, commonly known and abbreviated as GPL. It implies that the source code is available, and the license gives you the freedom to study the code and modify it in any way that you see fit. If you pass parts or all of the code, compiled parts of the code, or a derived product on to others, you have to make the code available to them on the same conditions. For more information about GNU software and the GNU philosophy go hither.

Manual pages in html, troff, and ps are part of the distribution (and can be automatically installed), and they are also available from this site. Several other programs are part of the mcl distribution, they are described below.

Many thanks go to Joost van Baal who packages this mcl implementation for Debian and autofooled MCL. This implies that the tarball pointed to above should install on virtually any UNIX flavour.

The software is provided on an 'as is' basis. The implementation is fast (one of the aims in its design), and is grounded on a lean sparse matrix/vector architecture. It is command-line based and the source code documentation is also lean and sparse.