16 May 2014    mcx clcf 14-137



mcx clcf — compute the clustering coefficient of a graph


mcx clcf [options] [matrix-file]

mcxclcf is not in actual fact a program. This manual page documents the behaviour and options of the mcx program when invoked in mode clcf. The options -h, --apropos, --version, -set, --nop, -progress <num> are accessible in all mcx modes. They are described in the mcx manual page.

mcx clcf [-abc <fname> (specify label input)] [-imx <fname> (specify matrix input)] [-tab <fname> (use tab file)] [-o <fname> (write to this file)] [-t <int> (use <int> threads)] [-J <intJ> (a total of <intJ> jobs are used)] [-j <intj> (this job has index <intj>)] [--summary (return mean clustering coefficient)] [-h (print synopsis, exit)] [--apropos (print synopsis, exit)] [--version (print version, exit)]


mcx clcf computes the clustering coefficient of a graph.

The input graph/matrix, if specified with the -imx option, has to be in mcl matrix/graph format. You can use label input instead by using the -abc option. Refer to mcxio for a description of these two input formats. By default mcx diameter reads from STDIN and expects matrix format. To specify label input from STDIN use -abc -.


-abc <fname> (label input)

The file name for input that is in label format.

-imx <fname> (input matrix)

The file name for input. STDIN is assumed if not specified.

-o <fname> (output file)

The file name for output. STDOUT is the default output stream.

-tab <fname> (use tab file)

This option causes the output to be printed with the labels found in the tab file. With -abc this option will, additionally, construct a graph only on the labels found in the tab file. If this option is used in conjunction with -imx the tab domain and the matrix domain are required to be identical.

--summary (return mean clustering coefficient)

By the default a 1-column table (with row names included) is output, one row for each node. This option causes the output of the average clustering coefficient only.

-t <int> (use <int> threads)
-J <intJ> (a total of <intJ> jobs are used)
-j <intj> (this job has index <intj>)

Computing clustering coefficients is time-intensive for large graphs. If you have multiple CPUs available consider using as many threads. Additionally it is possible to spread the computation over multiple jobs/machines. These three options are described in the clmprotocols manual page. The following set of options, if given to as many commands, defines three jobs, each running four threads.

-t 4 -J 3 -j 0 -o out.0 -t 4 -J 3 -j 1 -o out.1 -t 4 -J 3 -j 2 -o out.2

The output can then be collected with

mcx collect --add-column -o out.all out.[0-2]


mcxio, and mclfamily for an overview of all the documentation and the utilities in the mcl family.