Skip to main content

checkm

Tags: assembly-quality microbial-genomes completeness contamination bactopia-tool

Assessment of microbial genome assembly quality.

This Bactopia Tool uses CheckM to assess the quality of microbial genomes recovered from isolates, single cells, and metagenomes using a set of lineage-specific marker genes.

Usage

Bactopia CLI:

bactopia --wf checkm \
--bactopia /path/to/your/bactopia/results

Nextflow:

nextflow run bactopia/bactopia/workflows/bactopia-tools/checkm/main.nf \
--bactopia /path/to/your/bactopia/results

Outputs

Expected Output Files

<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ └── tools
│ └── checkm-<TIMESTAMP>
│ ├── <SAMPLE_NAME>.tsv
│ ├── logs
│ │ ├── checkm.log
│ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ └── versions.yml
│ └── supplemental
│ ├── <SAMPLE_NAME>-genes.aln
│ ├── bins
│ │ └── <SAMPLE_NAME>
│ │ ├── genes.faa.gz
│ │ ├── genes.gff
│ │ ├── hmmer.analyze.txt.gz
│ │ └── hmmer.tree.txt
│ ├── lineage.ms
│ └── storage
│ ├── aai_qa
│ ├── bin_stats.analyze.tsv
│ ├── bin_stats.tree.tsv
│ ├── bin_stats_ext.tsv
│ ├── checkm_hmm_info.pkl.gz
│ ├── marker_gene_stats.tsv
│ ├── phylo_hmm_info.pkl.gz
│ └── tree
│ ├── PF00164.20.masked.faa.gz
│ ├── PF00177.16.masked.faa.gz
│ ├── PF00181.18.masked.faa.gz
│ ├── PF00189.15.masked.faa.gz
│ ├── PF00203.16.masked.faa.gz
│ ├── PF00237.14.masked.faa.gz
│ ├── PF00238.14.masked.faa.gz
│ ├── PF00252.13.masked.faa.gz
│ ├── PF00276.15.masked.faa.gz
│ ├── PF00281.14.masked.faa.gz
│ ├── PF00333.15.masked.faa.gz
│ ├── PF00366.15.masked.faa.gz
│ ├── PF00410.14.masked.faa.gz
│ ├── PF00411.14.masked.faa.gz
│ ├── PF00562.23.masked.faa.gz
│ ├── PF00623.15.masked.faa.gz
│ ├── PF00673.16.masked.faa.gz
│ ├── PF00831.18.masked.faa.gz
│ ├── PF00861.17.masked.faa.gz
│ ├── PF03719.10.masked.faa.gz
│ ├── PF03947.13.masked.faa.gz
│ ├── PF04560.15.masked.faa.gz
│ ├── PF04561.9.masked.faa.gz
│ ├── PF04565.11.masked.faa.gz
│ ├── PF04997.7.masked.faa.gz
│ ├── PF11987.3.masked.faa.gz
│ ├── concatenated.fasta.gz
│ ├── concatenated.pplacer.json
│ ├── concatenated.tre
│ └── pplacer.out
└── bactopia-runs
└── checkm-<TIMESTAMP>
├── merged-results
│ ├── checkm.tsv
│ └── logs
│ └── checkm-concat
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── nf-reports
├── checkm-dag.dot
├── checkm-report.html
└── checkm-timeline.html

Quality Assessment

FileDescription
*.genes.alnAlignment of multi-copy genes and their AAI identity
*.results.txtFinal results of CheckM's lineage_wf
lineage.msOutput file describing marker set for each bin
bins/**Directory with inputs for processing by CheckM
storage/**Directory with intermediate results from CheckM processing

Merged Results

FileDescription
checkm.tsvMerged TSV file with CheckM results from all samples

Audit Trail

Below are files that can assist you in understanding which parameters and program versions were used.

Logs

Each process that is executed will have a folder named logs. In this folder are helpful files for you to review if the need ever arises.

ExtensionDescription
.beginAn empty file used to designate the process started
.errContains STDERR outputs from the process
.logContains both STDERR and STDOUT outputs from the process
.outContains STDOUT outputs from the process
.runThe script Nextflow uses to stage/unstage files and queue processes based on given profile
.shThe script executed by bash for the process
.traceThe Nextflow trace report for the process
versions.ymlA YAML formatted file with program versions

Nextflow Reports

These Nextflow reports provide great a great summary of your run. These can be used to optimize resource usage and estimate expected costs if using cloud platforms.

FilenameDescription
checkm-dag.dotThe Nextflow DAG visualization
checkm-report.htmlThe Nextflow Execution Report
checkm-timeline.htmlThe Nextflow Timeline Report
checkm-trace.txtThe Nextflow Trace report

Parameters

Required Parameters

Define where the pipeline should find input data and save output data.

ParameterTypeDefaultDescription
--bactopiastringThe path to bactopia results to use as inputs

CheckM Parameters

ParameterTypeDefaultDescription
--checkm_uniqueinteger10Minimum number of unique phylogenetic markers required to use lineage-specific marker set.
--checkm_multiinteger10Maximum number of multi-copy phylogenetic markers before defaulting to domain-level marker set.
--checkm_aai_strainnumber0.9AAI threshold used to identify strain heterogeneity
--checkm_lengthnumber0.7Percent overlap between target and query
--checkm_full_treebooleanUse the full tree (requires ~40GB of memory) for determining lineage of each bin.
--checkm_ignore_thresholdsbooleanIgnore model-specific score thresholds
--checkm_alibooleanGenerate HMMER alignment file for each bin
--checkm_ntbooleanGenerate nucleotide gene sequences for each bin
--checkm_force_domainbooleanUse domain-level sets for all bins
--checkm_no_refinementbooleanDo not perform lineage-specific marker set refinement
--checkm_individual_markersbooleanTreat marker as independent
--checkm_skip_adj_correctionbooleanDo not exclude adjacent marker genes when estimating contamination
--checkm_skip_pseudogene_correctionbooleanSkip identification and filtering of pseudogene

csvtk concat Parameters

ParameterTypeDefaultDescription
--csvtk_concat_optsstringExtra csvtk concat options in quotes
Filtering Parameters

Use these parameters to specify which samples to include or exclude.

ParameterTypeDefaultDescription
--includestringA text file containing sample names (one per line) to include from the analysis
--excludestringA text file containing sample names (one per line) to exclude from the analysis
Optional Parameters

These optional parameters can be useful in certain settings.

ParameterTypeDefaultDescription
--outdirstringbactopiaBase directory to write results to
--skip_compressionbooleanfalseOutput files will not be compressed
--datasetsstringThe path to cache datasets to
--keep_all_filesbooleanfalseKeeps all analysis files created
Max Job Request Parameters

Set the top limit for requested resources for any single job.

ParameterTypeDefaultDescription
--max_retryinteger3Maximum times to retry a process before allowing it to fail.
--max_cpusinteger4Maximum number of CPUs that can be requested for any single job.
--max_memorystring128.GBMaximum amount of memory that can be requested for any single job.
--max_timestring240.hMaximum amount of time that can be requested for any single job.
--max_downloadsinteger3Maximum number of samples to download at a time
Nextflow Configuration Parameters

Parameters to fine-tune your Nextflow setup.

ParameterTypeDefaultDescription
--nfconfigstringA Nextflow compatible config file for custom profiles, loaded last and will overwrite existing variables if set.
--publish_dir_modestringcopyMethod used to save pipeline results to output directory. (choices: symlink, rellink, link, copy, copyNoFollow, move)
--infodirstring${params.outdir}/pipeline_infoDirectory to keep pipeline Nextflow logs and reports.
--forcebooleanfalseNextflow will overwrite existing output files.
--cleanup_workdirbooleanfalseAfter Bactopia is successfully executed, the work directory will be deleted.
Institutional config options

Parameters used to describe centralized config profiles. These should not be edited.

ParameterTypeDefaultDescription
--custom_config_versionstringmasterGit commit id for Institutional configs.
--custom_config_basestringhttps://raw.githubusercontent.com/nf-core/configs/masterBase directory for Institutional configs.
--config_profile_namestringInstitutional config name.
--config_profile_descriptionstringInstitutional config description.
--config_profile_contactstringInstitutional config contact information.
--config_profile_urlstringInstitutional config URL link.
Nextflow Profile Parameters

Parameters to fine-tune your Nextflow setup.

ParameterTypeDefaultDescription
--condadirstringDirectory to Nextflow should use for Conda environments
--registrystringquay.ioRegistry to pull Docker containers from.
--datasets_cachestring<HOME>/.bactopia/datasetsDirectory where downloaded datasets should be stored.
--singularity_cachestringDirectory where remote Singularity images are stored.
--singularity_pull_docker_containerbooleanInstead of directly downloading Singularity images for use with Singularity, force the workflow to pull and convert Docker containers instead.
--force_rebuildbooleanfalseForce overwrite of existing pre-built environments.
--queuestringgeneral,high-memoryComma-separated name of the queue(s) to be used by a job scheduler (e.g. AWS Batch or SLURM)
--cluster_optsstringAdditional options to pass to the executor. (e.g. SLURM: '--account=my_acct_name'
--container_optsstringAdditional options to pass to Apptainer, Docker, or Singularity. (e.g. Singularity: '-D pwd'
--disable_scratchbooleanfalseAll intermediate files created on worker nodes of will be transferred to the head node.
Helpful Parameters

Uncommonly used parameters that might be useful.

ParameterTypeDefaultDescription
--monochrome_logsbooleanDo not use coloured log outputs.
--nfdirbooleanPrint directory Nextflow has pulled Bactopia to
--sleep_timeinteger5The amount of time (seconds) Nextflow will wait after setting up datasets before execution.
--validate_paramsbooleantrueBoolean whether to validate parameters against the schema at runtime
--helpbooleanDisplay help text.
--wfstringbactopiaSpecify which workflow or Bactopia Tool to execute
--list_wfsbooleanList the available workflows and Bactopia Tools to use with '--wf'
--show_hidden_paramsbooleanShow all params when using --help
--help_allbooleanAn alias for --help --show_hidden_params
--versionbooleanDisplay version text.

Composition

This workflow uses the following subworkflows:

  • checkm - Assess metagenome bin completeness using CheckM.

Citations

If you use this in your analysis, please cite the following.

Source

View source on GitHub