Installing CheckM

The latest release of CheckM is 1.3.0. CheckM >= 1.3.0 requires Python >= 3.11 (CheckM 1.1.0 to 1.2.10 require Python 3).

CheckM can be installed with pip or Bioconda, or run from a Docker image built with the Dockerfile in the CheckM repository. All methods require the CheckM reference data. We do not recommend installing CheckM from the master branch, which may be unstable; please install an official release.

System requirements

CheckM is designed to run on Linux. The limiting requirement for CheckM is memory. Inference of lineage-specific marker sets places genomes in the reference genome tree with gPlace, which requires approximately 12 GB of memory, most of it for the reference tree, so it hardly depends on the number of genomes (12.0 GB for 128 genomes and 12.1 GB for 1,000 genomes with 64 threads). On machines with less memory, use --gplace_max_memory (e.g., --gplace_max_memory 6G) to have gPlace place genomes tile by tile within this limit, which gives identical results: 128 genomes can be placed with 6 GB of memory.

CheckM <= 1.2.10 placed genomes with pplacer, which required approximately 40 GB of memory with the full reference genome tree, or less than 16 GB with the reduced tree (--reduced_tree, removed in CheckM 1.3.0).

System requirements are far more modest if you plan to make use of taxonomic-specific marker sets or your own custom marker genes, as this bypasses the need to place genomes in the reference genome tree.

If you plan to process a large number of genomes, see Processing large numbers of genomes.

Bioinformatic tool dependencies

CheckM requires the following programs to be added to your system path:

  • HMMER (>= 3.1b1)

  • Prodigal (2.60 or >= 2.6.1)

    • the executable must be named prodigal and not prodigal.linux

  • gPlace (>= 0.1.0)

    • gPlace requires Python >= 3.12 and can be installed with pip install gtdb-gplace. It can be installed in a separate environment as long as the gplace command is on your system path.

    • gPlace replaced pplacer in CheckM 1.3.0 and gives the same placements as pplacer, bit for bit, using less memory and time. CheckM <= 1.2.10 requires pplacer (>= 1.1) and guppy instead.

These programs are installed automatically in the Docker image, but must be installed separately when CheckM is installed with pip. See Bioconda for the Bioconda package.

Python dependencies

The following Python libraries are required and are installed automatically by pip:

  • numpy >= 1.21.3

  • scipy >= 1.7.3

  • matplotlib >= 3.5.1

  • pysam >= 0.19.0

  • dendropy >= 4.5.2

  • tqdm >= 4.62

  • xopen >= 2.0 (reads and writes the gzip-compressed output files)

  • setuptools >= 81

Running CheckM

Once CheckM and its reference data are installed, CheckM is ready to run. For a list of CheckM commands, type:

checkm

See Quick start to get started.

Upgrading CheckM

You can upgrade CheckM through pip:

pip3 install checkm-genome --upgrade --no-deps

Upgrading CheckM v1 does not require new reference data.

Web version through KBase

The CheckM lineage workflow has been made available through KBase for those looking for a web-based solution.