Fast and Flexible GTDB Query Tool, Built in Rust
⚠️ Note: Due to current SSL issues with the GTDB API, please use the-k/--insecure
flag with all commands. Disabling SSL verification is not a default due to security concerns.
xgt
is a blazing-fast command-line utility written in Rust for querying and parsing data from the GTDB (Genome Taxonomy Database). It mirrors core GTDB API functions and adds flexible parsing, metadata retrieval, and taxonomy exploration tools—making GTDB data more accessible for researchers and developers.
- 🔍
search
: Search the GTDB using exact or partial name matches, or from a file of names. - 🧬
genome
: Retrieve genome metadata, taxonomic history, and more. - 🌳
taxon
: Explore taxonomic lineages, descendants, and associated genomes.
git clone https://github.com/Ebedthan/xgt.git
cd xgt
cargo install --path . --root ~/.cargo
xgt --help
Download binaries for your platform from the releases page:
- macOS (Apple Silicon): Download • Checksum
- macOS (Intel): Download • Checksum
- Linux (x86_64): Download • Checksum
- Windows (x86_64): Download • Checksum
# 🔍 Search for Escherichia genomes (exact match)
xgt search -kw g__Escherichia
# 🔎 Search by name with output to CSV
xgt search -k -o results.csv g__Escherichia
# 📁 Search from a list of names
xgt search -k -f list.txt
# 🧬 Genome metadata and taxonomy
xgt genome -k GCA_001512625.1
# 📜 Taxon lineage exploration
xgt taxon -k --search g__Escherichia
xgt taxon -k g__Escherichia
- Exact or partial match search
- Input from CLI or file
- Output formatting (CSV)
- Retrieve genome metadata (
--metadata
) - Access taxonomic history (
--history
) - Full metadata by default
- Fetch direct descendants
- Search taxon names with partial matches
- Explore genomes within a taxon
Found a bug or want to request a feature? Open an issue. When submitting bugs, please include:
- OS and architecture
- Version of
xgt
- Reproduction steps or input
This project is licensed under both the MIT License and the Apache 2.0 License. You may choose the license that best suits your needs.
- Minimum Rust version:
1.74.1
- Follows: Semantic Versioning