dRep is a python program for rapidly comparing large numbers of genomes. dRep can also "de-replicate" a genome set by identifying groups of highly similar genomes and choosing the best representative genome for each genome set.
Manual, installation instructions, and API are at available at ReadTheDocs
Publication is available at ISMEJ
Open source pre-print publication is available at bioRxiv
dRep v4 uses skani for both primary and secondary genome comparisons by default, replacing v3's default of MASH (primary) + fastANI (secondary). skani is much faster than that pair, and it streams its comparisons instead of building an all-vs-all matrix in memory — so dereplicate runs far quicker and its memory footprint grows roughly linearly with genome count rather than quadratically.
Whole-pipeline dRep dereplicate on 10,000 genomes — identical inputs and settings:
| v3 defaults (MASH → fastANI) | v4 defaults (skani) | |
|---|---|---|
| Wall-clock time | 6 h 15 min | 14.5 min (~26× faster) |
| Peak memory (RSS) | ~13 GB | ~7 GB |
Benchmarked on an Apple M1 Pro with -p 10; the memory advantage widens further at larger genome counts.
$ pip install drep
$ dRep compare output_directory -g path/to/genomes/*.fasta
$ dRep dereplicate output_directory -g path/to/genomes/*.fasta
$ dRep check_dependencies
- skani - Makes primary clusters and performs the default secondary comparison (v0.2+ confirmed works)
- CheckM - Determines contamination and completeness of genomes (v1.0.7 confirmed works). Only needed for
dereplicate; skip it with--genomeInfoor--ignoreGenomeQuality
- Mash - Only needed for
--primary_algorithm MASH(v1.1.1 confirmed works) - MUMmer - Only needed for the ANIm comparison methods (v3.23 confirmed works)
- fastANI - An alternative fast secondary clustering algorithm
- gANI (aka ANIcalculator) - Performs gANI comparison method (v1.0 confirmed works)
- Prodigal - Used be both checkM and gANI (v2.6.3 confirmed works)
- NSimScan - Only needed for goANI algorithm (open source version of gANI)