8 Mar 2012    mcx clcf 12-068



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. Conceptually, each job takes a number of threads from the total thread pool. If job control is used (the -J option is used) then the number of jobs should not exceed the number of threads. The total number of threads divided by the total number of jobs defines the number of threads that will be used by the current job. Additionally, the number of threads specified signifies the total added amount of all threads across all machines and must be the same for all jobs. This number is used by each job to infer its own set of tasks. The following set of options, if given to as many commands, defines three jobs, each running four threads.

-t 12 -G 3 -g 0 -t 12 -G 3 -g 1 -t 12 -G 3 -g 2


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