7 unstable releases
0.4.2 | Sep 3, 2024 |
---|---|
0.4.1 | Sep 2, 2024 |
0.4.0 | Jan 18, 2024 |
0.3.1 | Nov 26, 2021 |
0.1.0 | Feb 20, 2020 |
#51 in Biology
32 downloads per month
Used in 2 crates
(via coverm)
1MB
3K
SLoC
Galah
Galah aims to be a more scalable metagenome assembled genome (MAG) dereplication method. That is, it clusters microbial genomes together based on their average nucleotide identity (ANI), and chooses a single member of each cluster as the representative.
Galah uses a greedy clustering approach to speed up genome dereplication, relative to e.g. dRep, particularly when there are many closely related genomes (i.e. >95% ANI). Generated cluster representatives have 2 properties. If the ANI threshold was set to 99%, then:
- Each representative is <99% ANI to each other representative.
- All members are >=99% ANI to the representative.
If CheckM genome qualities were specified, then the clusters have an additional property:
- Each representative genome has a better quality score than other members of
the cluster. Each genome is assigned a quality score based on the formula
completeness-5*contamination-5*num_contigs/100-5*num_ambiguous_bases/100000
, which is reduced from a quality formula described in Parks et. al. 2020 https://doi.org/10.1038/s41587-020-0501-8.
If instead CheckM qualities were not provided, then the following holds instead:
- Each representative genome was specified to galah before other members of the cluster.
The overall greedy clustering approach was largely inspired by the work of Donovan Parks, as described in Parks et. al. 2020. It operates in 3 steps. In the first step, genomes are assigned as representative if no genomes of higher quality are >99% ANI. In the second step, each non-representative genome is assigned to the representative genome it has the highest ANI with.
Installation
Install through the bioconda package
Galah can be installed through the bioconda conda channel. After initial setup of conda and the bioconda channel, it can be installed with mamba (or conda) with:
mamba install galah
One can see details of the galah recipe.
Galah can also be used indirectly through
CoverM via its cluster
subcommand, which is also available on bioconda.
Pre-compiled binary
Galah can be installed by downloading statically compiled binaries, available on the releases page.
Third party dependencies listed below are required for this method.
Compiling from source
Galah can also be installed from source, using the cargo build system after installing Rust.
cargo install galah
Third party dependencies listed below are required for this method.
Development
To run an unreleased version of Galah, after installing Rust:
git clone https://github.com/wwood/galah
cd galah
cargo run -- cluster ...etc...
Third party dependencies listed below are required for this method.
Dependencies
For some advanced usage of Galah, 3rd party tools are required, which must be installed separately:
- Dashing v0.4.0 https://github.com/dnbaker/dashing
- FastANI v1.31 https://github.com/ParBLiSS/FastANI
Usage
For clustering a set of genomes at 99% ANI:
galah cluster --genome-fasta-files /path/to/genome1.fna /path/to/genome2.fna --output-cluster-definition clusters.tsv
There are several other options for specifying genomes, ANI cutoffs, etc.
The full usage is described on the manual page, which can be accessed on the command line running galah cluster --full-help
.
Precluster ANI
Similar to dRep, galah operates in two stages. In the first, a fast pre-clustering distance (dashing) is calculated between each pair of genomes. Genome pairs are only considered as potentially in the same cluster with FastANI if the prethreshold ANI is greater than the specified value. By default, the precluster ANI is set at 95% and the final ANI is set at 99%.
License
Galah is made available under GPL3+. See LICENSE.txt for details. Copyright Ben Woodcroft.
Developed by Ben Woodcroft at the Centre for Microbiome Research, Queensland University of Technology.
Dependencies
~28–40MB
~582K SLoC