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
prodigaland notprodigal.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 thegplacecommand 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
guppyinstead.
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.