8 Jan 2002   mcl version 1.00

1.
NAME
2.
SYNOPSIS
3.
DESCRIPTION
4.
OPTIONS
5.
APPLICABILITY
6.
FILES
7.
ENVIRONMENT
8.
DIAGNOSTICS
9.
BUGS
10.
AUTHOR
11.
HISTORY/CREDITS
12.
SEE ALSO
13.
REFERENCES
14.
NOTES

NAME

mcl - the Amsterdam implementation of the Markov Cluster Algorithm (MCL algorithm)

SYNOPSIS

mcl <-|fname> [-I f (inflation)] [-o str (fname)]
These two options are sufficient in 95 percent of the cases, or more.

mcl <-|fname> [-I f (inflation)] [-o str (fname)] [-c f (centering)] [-p f (cutoff)] [-P n (1/cutoff)] [-S n (selection number)] [-R n (recovery number)] [-pct f (recover percentage)] [-scheme k (use preset scheme)] [--show-schemes (show preset schemes)] [-warn-pct n (prune warn percentage)] [-warn-factor n (prune warn factor)] [--rigid (pruning)] [-ae f (adaptive pruning exponent)] [-af f (adaptive pruning factor)] [--adapt (pruning)] [-nx x (track worst n)] [-ny y (track worst n)] [-v str (verbosity type on)] [-V str (verbosity type off)] [--silent (very)] [--verbose (very)] [-progress k (gauge)] [-te k (#expansion threads)] [-ti k (#inflation threads)] [--clone (when threading)] [-cloneat n (trigger)] [-t k (#threads)] [-l n (initial iteration number)] [-L n (main iteration number)] [-i f (initial inflation)] [-a f (loop weight)] [-dumpi i:j (interval i..j-1)] [-dumpm k (dump i+0..i+k..)] [-dumpstem stem (file stem)] [-dump str (type)] [-digits n (printing precision)] [--show (print matrices to screen)] [--ascii (output format)] [--binary (output format)] [--overlap (keep it)] [--expand-only (factor out computation)] [--inflate-first (rather then expand)] [-preprune n (input matrix)] [-z (show current settings)]

DESCRIPTION

mcl implements the MCL algorithm, short for the Markov cluster algorithm, a cluster algorithm for graphs developed by Stijn van Dongen at the Centre for Mathematics and Computer Science in Amsterdam, the Netherlands. The algorithm simulates flow using two simple algebraic operations on matrices. The theory behind it is extensively described elsewhere (see REFERENCES). The program described here is a fast threaded implementation written by the algorithm's creator with contributions by several others. Anton Enright co-implemented threading; see the HISTORY/CREDITS section for a complete account. The implementation is used for the TRIBES project in which large numbers of proteins are clustered into families, and has become all the better from the feedback this has generated. See the APPLICABILITY section for a description of the type of graph mcl likes best, and for a qualitative assessment of its speed.

The -I f option is the main control, affecting cluster granularity. Using mcl is as simple as typing (assuming a file proteins contains a matrix/graph in mcl input format)

   mcl proteins -I 2.0

The above will result in a clustering written to the file named out.mcl. The mcl input format is described in the mcxformat section. Clusterings are also stored as matrices - this is again discussed in the mcxformat section. In finding good mcl parameter settings for a particular domain, or in finding cluster structure at different levels of granularity, one typically runs mcl multiple times for varying values of f (refer to the -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl runs for the same graphs with different -I settings (for obtaining clusterings at different levels of granularity), it can be useful to factor out the first bit of computation that is common to all runs, by using the --expand-only option one time and then using --inflate-first for each run in the set. Whether mcl considers a graph large depends mainly on the graph connectivity; a highly connected graph on 50,000 nodes is large to mcl (so that you might want to tune resources) whereas a sparsely connected graph on 500,000 nodes may be business as usual. If graphs are really huge, the time to read a graph from file can be shortened by converting the input graph from ascii mcl format to binary mcl format with mcxconvert.

Two other groups of interest are the thread-related options (you can specify the number of threads to use) {-t, -te, -ti, --clone, -cloneat} and the verbosity-related options {--verbose, --silent, -v, -V}. The actual settings are shown with -z, and for graphs with at most 12 nodes or so you can view the MCL matrix iterands on screen by supplying --show (this may give some more feeling).

The first option is the input file name (see the mcxformat section for its expected format), or a single hyphen to read from stdin. The rationale is that you typically do several runs with different parameters, and in command line mode it is pleasant if you do not have to skip over an immutable parameter all the time.

In the OPTIONS section options are listed in order of importance, with related options grouped together.

The creator of this page feels that manual pages are a valuable resource, that online html documentation is also a good thing to have, and that info pages are way way ahead of their time. The NOTES section explains how this page was created. -I option for further information).

mcl expects a nonnegative matrix in the input file, or equivalently, a weighted (possibly directed) graph. NOTE - mcl interprets the matrix entries or graph edge weights as similarities, and it likes symmetric input graphs best. It can handle asymmetric graphs, but any node pair (i,j) for which w(i,j) is much smaller than w(j,i) or vice versa will presumably have a slightly negative effect on the clusterings output by mcl. Many such node pairs will have a distinctly negative effect, so try to make your input graphs symmetric. How your edge weights are computed may affect mcl's performance. In protein clustering, it is best to choose the negated logarithm of the BLAST probabilities (see REFERENCES).

mcl's default parameters should make it quite fast in almost all circumstances. Taking default parameters, mcl has been used to generate good protein clusters on 133k proteins, taking 10 minutes running time on a Compaq ES40 system with four alpha EV6.7 processors.

For large graphs, there are several groups of parameters available for tuning the mcl computing process, should it be necessary. The easiest thing to do is just vary the -scheme option. This triggers different settings for the group of pruning parameters {-p/-P, -R, -S, and -pct}. The default setting corresponds with -scheme 2. There is an additional group of control parameters {--adapt, --rigid, -ae, -af}, which may be helpful in speeding up mcl. When doing multiple mcl</