Chapter 11: Metagenome-Assembled Genomes (MAGs): Binning with MetaBAT2 & MaxBin
Tested Stacks:
GATK 4.6.1
Samtools 1.21
Nextflow 24.10
Seurat v5.1
Python 3.12
Prerequisites: Basic Linux CLI & Sequencing Formats
📚 Chapter 11 of 13
0% Course Completed
Chapter 11: Metagenome-Assembled Genomes (MAGs): Binning with MetaBAT2 & MaxBin
Assembling a metagenome produces tens of thousands of fragmented contigs. Metagenomic binning clusters these contigs into discrete organismal genomes, generating Metagenome-Assembled Genomes (MAGs) representing uncultured novel bacterial and archaeal species.
The Two Biological Signals for Binning
- Tetranucleotide Frequency (TNF): The 4-mer genomic composition reflects species-specific DNA replication and repair machinery biases. Contigs from the same organism share identical TNF signatures.
- Differential Coverage (Co-abundance): Across multiple biological samples, contigs originating from the same physical bacterial cell must rise and fall in sequencing depth in lockstep.
1. Binning Workflow with MetaBAT2
# 1. Map reads from all cohort samples against the assembled contigs
bwa-mem2 mem -t 16 contigs.fasta sample1_R1.fq.gz sample1_R2.fq.gz | samtools sort -o sample1.bam -
# 2. Calculate co-abundance depth matrix across all BAM files
jgi_summarize_bam_contig_depths --outputDepth depth.txt sample*.bam
# 3. Bin contigs with MetaBAT2
metabat2 -i contigs.fasta -a depth.txt -o ./bins/bin -m 1500 --seed 422. Consensus Bin Refinement with DAS Tool
Running multiple distinct binning algorithms (MetaBAT2, MaxBin2, CONCOCT) and combining them with DAS Tool (Dereplication, Aggregation and Scoring) recovers 30–50% more high-quality MAGs than any single tool alone.
⚠️
Common Pitfalls & Troubleshooting Checklist
- Java Heap Exhaustion (GATK / Picard): If processes terminate with
java.lang.OutOfMemoryError, set your environment variable explicitly:export _JAVA_OPTIONS="-Xmx16g -Djava.io.tmpdir=/tmp". - Index Timestamp Mismatch: If tools complain that a BAM index is missing or out of date, regenerate with
samtools index -@ 4 sample.bam. - Conda Channel Conflicts: Avoid ABI incompatibilities between bioconda and conda-forge by setting strict priority:
conda config --set channel_priority strict. - Chromosome Naming Contamination: Always verify whether reference FASTA headers use
chr1or1; divergent naming causes silent alignment drops.
Was this guide helpful to your research?
Help us maintain 100% accurate, peer-reviewed bioinformatics standards.