---
name: "clm"
section: "1"
platform: "linux"
package: "mcl"
version: "1:22-282+ds-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/clm"
---

# clm(1)

clm - perform various computations on graphs and clusterings

```
   clm <mode> [mode-options] [mode-files]
```

```

```

**clm** implements a variety of computations on graphs and clusterings. The first argument to **clm** should be a *mode*, which is a string establishing the type of computation to invoke. Each mode *mode* is described in the clm*mode* manual page. The currently available modes are **clm dist**, **clm info**, **clm meet**, **clm mate**, **clm close**, **clm order**, **clm imac**, **clm vol**, and **clm residue**. The **dist** mode is thus described in the **clmdist** manual page.

Invoking **clm** without arguments causes it to print out a list of available modes with a short description of the type of command line expected by that mode.

Invoking **clm** with just a mode will print out a longer listing of options available for that particular mode. Modes that are able to function normally without arguments can be invoked by adding the *--nop* argument.

Several options are shared between all **clm** modes. Note that these options are specified after the **mode**. See **OPTIONS**.

The **--version** option causes **clm** to print out version and license information.

Issuing *clm help mode* will cause **clm** to look for a manual page describing *mode* and display it if found. This requires that the MANPATH environment variable contains the directory in which the MCL-edge manual pages were installed. This will usually be `PREFIX/share`, where `PREFIX` is the path with which the software was configured.

These are options that pertain to all modes. They should be specified *after* the mode argument.

**-h** (*synopsis*)\
 **--help** (*synopsis*)\
 List available options.

**--nop** (*no-op*)\
 Not an option. This option has no effect then to increment the argument count. This can be useful for **clm** modes which are able to function without any options. Such a mode typically reads from STDIN, writes to STDOUT, and uses default settings. However, simply specifying a mode without options leads **clm** to output a list of available options for that mode. This can be averted by using the **--nop** option.

**-set** key=val (*set key-value pair*)\
 Sets the key **key** to value **val** in the environment. Some modes allow adjustment of settings in this manner.

**-debug** \<int\> (*set debug level/flags*)\
 **--debug** (*turn default debugging on*)\
 **--test** (*turn default testing on*)\
 The first two turn on debugging, the last is for testing. The effect of these options is otherwise undocumented.

**--progress** (*enable progress reporting*)\
 This will enable some kind of progress reporting, by writing to STDERR.

Stijn van Dongen.

**[mclfamily(7)](/mclfamily/7.md)** for an overview of all the documentation and the utilities in the mcl family.
