Skip to main content
QUICK REVIEW

[Paper Review] CoverM: Read alignment statistics for metagenomics

Samuel T. N. Aroney, R.B. Newell|ArXiv.org|Jan 20, 2025
Genomics and Phylogenetic Studies17 citations
TL;DR

CoverM provides a unified framework to compute per-reference read coverage statistics for metagenomics by streaming read alignments and using Mosdepth arrays for efficiency, implemented in Rust with Python and Julia interfaces.

ABSTRACT

Genome-centric analysis of metagenomic samples is a powerful method for understanding the function of microbial communities. Calculating read coverage is a central part of analysis, enabling differential coverage binning for recovery of genomes and estimation of microbial community composition. Coverage is determined by processing read alignments to reference sequences of either contigs or genomes. Per-reference coverage is typically calculated in an ad-hoc manner, with each software package providing its own implementation and specific definition of coverage. Here we present a unified software package CoverM which calculates several coverage statistics for contigs and genomes in an ergonomic and flexible manner. It uses 'Mosdepth arrays' for computational efficiency and avoids unnecessary I/O overhead by calculating coverage statistics from streamed read alignment results. CoverM is free software available at https://github.com/wwood/coverm. CoverM is implemented in Rust, with Python (https://github.com/apcamargo/pycoverm) and Julia (https://github.com/JuliaBinaryWrappers/CoverM_jll.jl) interfaces.

Motivation & Objective

  • Motivate genome-centric analysis of metagenomic samples and the central role of read coverage in binning and community composition estimation.
  • Introduce a unified software package to compute per-reference coverage statistics for contigs and genomes.
  • Reduce I/O overhead and provide computationally efficient coverage statistics from streamed alignments.

Proposed method

  • Compute coverage statistics for contigs and genomes from read alignments using streamed data.
  • Utilize Mosdepth arrays to achieve computational efficiency.
  • Avoid unnecessary I/O by processing streamed read alignment results.
  • Implement core tool in Rust with interfaces to Python and Julia.

Experimental results

Research questions

  • RQ1How can per-reference coverage be calculated in a unified, ergonomic way for metagenomic contigs and genomes?
  • RQ2Can coverage statistics be derived efficiently from streamed read alignments without excessive I/O?
  • RQ3What is the value of a unified coverage framework for downstream genome recovery and community composition estimation in metagenomics?

Key findings

  • CoverM provides a unified approach to calculate several coverage statistics for contigs and genomes.
  • The tool uses Mosdepth arrays to improve computational efficiency.
  • Coverage statistics are calculated from streamed read alignment results to minimize I/O overhead.
  • CoverM is implemented in Rust with Python and Julia interfaces.
  • The software is released as free/open source.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.