galah cluster

Cluster genomes into ANI-based groups for downstream analysis.

# Example: cluster genomes at 95% ANI and produce cluster definition file
galah cluster --genome-fasta-files genome1.fna genome2.fna --output-cluster-definition clusters.tsv
# Example: cluster contigs and produce cluster definition file (can be used for viruses/plasmids)
galah cluster --cluster-contigs --small-contigs --genome-fasta-files contigs.fna --output-cluster-definition clusters.tsv
# Example: cluster a directory of genomes and create a new directory of symlinked FASTA files of representatives
galah cluster --genome-fasta-directory input_genomes/ --output-representative-fasta-directory output_directory/ 
# Example: cluster genomes specified in genomes.txt at 95% ANI after preclustering at 90% using finch method
galah cluster --ani 95 --precluster-ani 90 --precluster-method finch --genome-fasta-list genomes.txt --output-cluster-definition clusters.tsv
# Example: cluster a set of new genomes against a set of (already-dereplicated) reference genomes
# (reduces memory usage vs. clustering everything together). The new genomes are dereplicated
# amongst themselves first, then only the resulting representative(s) are compared against the reference genomes.
galah cluster --genome-fasta-directory input_genomes/ --reference-genomes-list reference_genomes.txt --output-cluster-definition clusters.tsv
# Example: cluster a large set of genomes using low-memory mode
galah cluster --low-memory --genome-fasta-directory input_genomes/ --output-representative-fasta-directory output_directory/

Precluster ANI

Currently, by default, Galah only uses skani ANI calculation, since skani is both fast and accurate.

Previously, similar to dRep, Galah would operate in two stages. In the first, a fast pre-clustering distance (finch or skani) is calculated between each pair of genomes. Genome pairs are only considered as potentially in the same cluster with skani or FastANI if the prethreshold ANI is greater than the specified value. By default, the precluster ANI is set at 90% and the final ANI is set at 95%.

GENOME INPUT

-f, --genome-fasta-files PATH ..

Path(s) to FASTA files of each genome e.g. pathA/genome1.fna pathB/genome2.fa.

-d, --genome-fasta-directory PATH

Directory containing FASTA files of each genome.

-x, --genome-fasta-extension EXT

File extension of genomes in the directory specified with -d/--genome-fasta-directory. [default: fna]

--genome-fasta-list PATH

File containing FASTA file paths, one per line.

FILTERING PARAMETERS

--checkm2-quality-report PATH

CheckM version 2 quality_report.tsv (i.e. the quality_report.tsv in the output directory output of checkm2 predict ..) for defining genome quality, which is used both for filtering and to rank genomes during clustering.

--checkm-tab-table PATH

CheckM tab table (i.e. the output of checkm .. --tab_table -f PATH ..). The information contained is used like --checkm2-quality-report.

--genome-info PATH

dRep style genome info table for defining quality. The information contained is used like --checkm2-quality-report.

--min-completeness FLOAT

Ignore genomes with less completeness than this percentage. [default: not set]

--max-contamination FLOAT

Ignore genomes with more contamination than this percentage. [default: not set]

--run-checkm2

Run CheckM2 to generate quality scoring used for clustering. Requires --checkm2-db-path or CHECKM2DB env variable to be set.

--checkm2-db-path DB_PATH

Path to CheckM2 database (required for running CheckM2) [default: from CHECKM2DB environment variable]

CLUSTERING PARAMETERS

--ani FLOAT

Overall ANI level to dereplicate at with the primary clusterer. [default: 95]

--min-aligned-fraction FLOAT

Min aligned fraction of two genomes for clustering. [default: 15]

--small-genomes

Use small-genomes settings in skani calculation. Recommended for sequences < 20kb.

--fragment-length FLOAT

Length of fragment used in FastANI calculation (i.e. --fragLen). [default: 3000]

--quality-formula FORMULA

Scoring function for genome quality [default: Parks2020_reduced]. One of:

| formula | description | |:---|:---| | Parks2020_reduced | (default) A quality formula described in Parks et. al. 2020 https://doi.org/10.1038/s41587-020-0501-8 (Supplementary Table 19) but only including those scoring criteria that can be calculated from the sequence without homology searching: completeness-5*contamination-5*num_contigs/100-5*num_ambiguous_bases/100000 | | completeness-4contamination | completeness-4*contamination | | completeness-5contamination | completeness-5*contamination | | dRep | completeness-5*contamination+contamination*(strain_heterogeneity/100)+0.5*log10(N50) |

--precluster-ani FLOAT

Require at least this precluster-derived ANI for preclustering and to avoid primary clustering on distant lineages within preclusters. [default: 90]

--precluster-method NAME

method of calculating rough ANI for dereplication. 'finch' for finch MinHash, 'skani' for Skani. [default: skani]

--cluster-method NAME

method of calculating ANI. 'fastani' for FastANI, 'skani' for Skani. [default: skani]

--cluster-contigs

Cluster contigs within a fasta file instead of genomes. When used, either --small-contigs or --large-contigs must be specified.

--small-contigs

Use small-genomes settings in skani when clustering contigs. Recommended for contigs < 20kb. Mutually exclusive with --large-contigs.

--large-contigs

Do not use small-genomes settings in skani when clustering contigs. Recommended for contigs >= 20kb. Mutually exclusive with --small-contigs.

--low-memory

Reduce memory use by sketching to file and searching it instead.

--skip-sanitise-headers

Skip checking/rewriting FASTA headers that contain tab characters before running skani, passing genome paths straight through unchanged. Mainly useful for benchmarking against tools which do not perform this sanitizing step. If any input genome actually has a tab character in a header line, skani's TSV output will be silently corrupted, so only use this on genome sets already known not to have tabs in their headers.

--reference-genomes PATH ...

Reference genomes to cluster against. These should be pre-clustered at the chosen %ANI - reference-vs-reference comparisons are never made, so this is not checked. Input genomes (--genome-fasta-files etc.) are dereplicated amongst themselves first, as if no reference genomes were given at all, and only the resulting representative(s) are then compared against these reference genomes - so input genomes do not need to be pre-dereplicated beforehand. If quality is provided for representative selection, values for these genomes must also be provided. Genomes within the precluster ANI cutoff of each reference will be placed in the same precluster. Mutually exclusive with --reference-genomes-list.

--reference-genomes-list PATH

File containing paths to reference genomes (one per line). These should be pre-clustered at the chosen %ANI - reference-vs-reference comparisons are never made, so this is not checked. Input genomes (--genome-fasta-files etc.) are dereplicated amongst themselves first, as if no reference genomes were given at all, and only the resulting representative(s) are then compared against these reference genomes - so input genomes do not need to be pre-dereplicated beforehand. If quality is provided for representative selection, values for these genomes must also be provided. Genomes within the precluster ANI cutoff of each reference will be placed in the same precluster. Mutually exclusive with --reference-genomes.

--skip-input-dereplication

When used with --reference-genomes/--reference-genomes-list, skip dereplicating input genomes amongst themselves first: compare every input genome directly against the reference set instead, so near-duplicate input genomes are not merged before matching (restores the behaviour prior to this flag's introduction). Has no effect unless reference genomes are given.

OUTPUT

--output-cluster-definition PATH

Output a file of representative<TAB>member lines.

--output-representative-fasta-directory PATH

Symlink representative genomes into this directory.

--output-representative-fasta-directory-copy PATH

Copy representative genomes into this directory.

--output-representative-list PATH

Print newline separated list of paths to representatives into this file.

GENERAL PARAMETERS

-t, --threads INT

Number of threads. [default: 1]

-v, --verbose

Print extra debugging information

-q, --quiet

Unless there is an error, do not print log messages

-h, --help

Output a short usage message.

--full-help

Output a full help message and display in 'man'.

--full-help-roff

Output a full help message in raw ROFF format for conversion to other formats.

EXIT STATUS

0

Successful program execution.

1

Unsuccessful program execution.

101

The program panicked.

AUTHOR

Ben J. Woodcroft, Centre for Microbiome Research, Queensland University of Technology <benjwoodcroft near gmail.com>

Powered by Doctave