Skip to content

Latest commit

 

History

History
124 lines (85 loc) · 5.13 KB

README.md

File metadata and controls

124 lines (85 loc) · 5.13 KB

xgt

Efficient querying and parsing of the GTDB database

Continuous Integration codecov

Warning

You should add the -k/--insecure option to all your current command as the GTDB API has currently SSL issue. We have not yet decided to switch it as a default configuration as disabling peer SSL certificate verification can be a critical issue.

🗺️ Overview

xgt is a Rust tool that enables efficient querying and parsing of the GTDB database. xgt consists of a collection of commands mirroring the GTDB API and providing additional parsing capability.

📋 Features

search subcommand

It offers both exact and partial matches, along with additional parsing capabilities. Additionally, it supports searching the GTDB using multiple names listed in a plain text file.

genome subcommand

It can be used to retrieve information about a genome. The --metadata option provides concise genome metadata such as accession and surveillance data, while --history retrieves the genome taxon history in the GTDB. The default option fetches nucleotide, gene, and taxonomy metadata of the genome.

taxon subcommand

This tool fetches information about a specific taxon. Users can search for the direct descendants of a taxon and retrieve taxon genomes in the GTDB using partial or exact matches.

🔧 Installing

From source

Download source using Git

git clone https://github.com/Ebedthan/xgt.git

Download source using packaged source

Installing

You can install using cargo:

# Change "xgt" to correct folder name
cd xgt

# If default rust install directory is ~/.cargo
cargo install --path . --root ~/.cargo
xgt -h

Using binaries

Please find the binaries for the latest release using the release page or using the direct link below:

💡 Example

# Search subcommand: search GTDB
## Search all Escherichia (genus) genomes
xgt search -kw g__Escherichia

## Search all genomes with genus name containing Escherichia
xgt search -k -o output.csv g__Escherichia

## Search from a list
xgt search -k -f list.txt

# Genome subcommand: information about a genome
## Get GTDB genome information
xgt genome -k GCA_001512625.1

## Get taxon history on GTDB
xgt genome -k --history GCA_001512625.1

## Get genome metadata
xgt genome -k --metadata GCA_001512625.1

# Taxon subcommand: information about a specific taxon
## Get direct descendant of a taxon
xgt taxon -k g__Escherichia

## Search for a taxon in GTDB's current release
xgt taxon -k --search g__Escherichia

## Search for a taxon in GTDB's current release with partial matching
xgt taxon -k --search g__Escherichia

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker if you need to report or ask something. If you are filing in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.

⚖️ License

xgt is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Full help is available from xgt --help.

Minimum supported Rust version

xgt minimum Rust version is 1.70.0.

Semver

xgt is following Semantic Versioning 2.0.