Command-line tool for retrieving pangenomes using the PanGBank API.
Project description
PanGBank-cli
PanGBank-cli is a command-line interface to search, retrieve, and download pangenomes from PanGBank via the PanGBank REST API. It acts as a convenient wrapper around the API, making PanGBank data easily accessible directly from the terminal.
PanGBank is a large-scale resource that hosts collections of microbial pangenomes constructed from diverse genome sources using PPanGGOLiN.
With PanGBank-cli you can:
- Search pangenomes by taxon, genome, or collection
- Retrieve a pangenome directly by its numeric ID
- Retrieve detailed metrics for selected pangenomes
- Download pangenome files for downstream analyses
- Map an input genome to its corresponding pangenome in PanGBank and fetch it automatically
For interactive exploration, you can also browse PanGBank collections through the web application: PanGBank Web: https://pangbank.genoscope.cns.fr/
Installation
Option 1: Install from Bioconda
The easiest way to install PanGBank-cli with all dependencies (including Mash):
conda create -n pangbank-cli pangbank-cli
conda activate pangbank-cli
Option 2: Install from PyPI
Install using pip:
pip install PanGBank-cli
[!WARNING] Installing PanGBank-cli with pip will only set up the Python dependencies. The external tool Mash (required for the
match-pangenomecommand) is not included and must be installed separately to enable full functionality.
Option 3: Install from source using conda
# Create a new conda environment with Python
conda create -n pangbank-cli python=3.12 mash=2.3
# Activate the environment
conda activate pangbank-cli
# Clone the repository
git clone https://github.com/labgem/PanGBank-cli.git
cd PanGBank-cli
# Install PanGBank-cli
pip install .
Option 4: Install from source with pip
# Clone the repository
git clone https://github.com/labgem/PanGBank-cli.git
cd PanGBank-cli
# create and activate a virtual environment:
python -m venv venv
# Activate the virtual environment
# On Linux/macOS:
source venv/bin/activate
# Install PanGBank-cli
pip install .
[!WARNING] Installing PanGBank-cli from source with pip will only set up the Python dependencies. The external tool Mash (required for the
match-pangenomecommand) is not included and must be installed separately to enable full functionality.
Usage
Once installed, you can access the CLI by running:
pangbank --help
This will display the list of available commands and options.
Each command has a dedicated help section. For example:
pangbank search-pangenomes --help
List available collections
pangbank list-collections
Displays the list all pangenome collections available in PanGBank, along with their description and the number of pangenomes they contain.
Output is formatted as a rich table in the terminal, or as plain TSV when redirected (e.g., pangbank list-collections > collections.tsv).
Search for pangenomes
pangbank search-pangenomes --taxon "g__Escherichia"
This command searches PanGBank for pangenomes matching the given taxon.
Results are printed to stdout as plain TSV by default (suitable for piping or redirection). Use --table-path <file> to save directly to a file (e.g., --table-path pangenomes_information.tsv), or --no-table to disable table output.
To narrow the search to a specific collection release, add --release-version <version>:
pangbank search-pangenomes --collection GTDB_refseq --release-version 2.0.0
This filter works alongside --latest-only. If both are provided, --release-version selects the release to search and --latest-only does not change the result set.
Download pangenomes
pangbank search-pangenomes --taxon "g__Chlamydia" \
--collection GTDB_refseq \
--outdir Chlamydia_pangenomes/ \
--download
This command searches for Chlamydia pangenomes in the GTDB_refseq collection, then downloads the corresponding pangenome files into Chlamydia_pangenomes/.
Get a pangenome by ID
pangbank get-pangenome <id>
Use this command when you already know the numeric identifier of a pangenome and want to inspect its full metadata without running a broader search first. The command prints the pangenome information to the terminal, and you can add --download to fetch the corresponding HDF5 file into the output directory.
Match a genome to an existing pangenome
pangbank match-pangenome --input-genome <genome.fasta> --collection GTDB_all
Matches the given input genome (FASTA format) to the most similar pangenome in the selected collection using Mash and a precomputed sketch of the collection to identify the closest pangenome. The command outputs detailed information about the best matching pangenome.
[!NOTE]
- Add the
--downloadflag to download the corresponding pangenome file.- The downloaded file can then be used with PPanGGOLiN’s
projectioncommand to annotate the input genome. See the PPanGGOLiN documentation for details.
Citation
PanGBank pangenomes are constructed with PPanGGOLiN and its companion tools. If you use PanGBank or PanGBank-cli in your research, please cite the following references:
PPanGGOLiN: Depicting microbial diversity via a partitioned pangenome graph Gautreau G et al. (2020) PLOS Computational Biology 16(3): e1007732. doi: 10.1371/journal.pcbi.1007732
panRGP: a pangenome-based method to predict genomic islands and explore their diversity Bazin et al. (2020) Bioinformatics, Volume 36, Issue Supplement_2, Pages i651–i658 doi: 10.1093/bioinformatics/btaa792
panModule: detecting conserved modules in the variable regions of a pangenome graph Bazin et al. (2021) bioRxiv doi: 10.1101/2021.12.06.471380
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pangbank_cli-0.2.0.tar.gz.
File metadata
- Download URL: pangbank_cli-0.2.0.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
610e5d7244db0d551a29670fa790ca108f8da4415eb767024c8fd90db6f2f0d2
|
|
| MD5 |
b1de0bb25838ba09f35224a891ef33c7
|
|
| BLAKE2b-256 |
979513fcb15d6f5335c9b73be7d30efa5f4a2697a6da6fcf0811974a8bef103a
|
Provenance
The following attestation bundles were made for pangbank_cli-0.2.0.tar.gz:
Publisher:
python-publish.yml on labgem/PanGBank-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pangbank_cli-0.2.0.tar.gz -
Subject digest:
610e5d7244db0d551a29670fa790ca108f8da4415eb767024c8fd90db6f2f0d2 - Sigstore transparency entry: 1871212822
- Sigstore integration time:
-
Permalink:
labgem/PanGBank-cli@830c296e0824fa3262ce2334a2e6779543cb1c78 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/labgem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@830c296e0824fa3262ce2334a2e6779543cb1c78 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pangbank_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pangbank_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae50ba1bdeabecfa564de9428a437fadcf4e3c01338986c6fbe3697063a2a8a2
|
|
| MD5 |
6859d46c808429f25dbe3ec8880acf40
|
|
| BLAKE2b-256 |
bad031822e951612d2e8d1f05adbeefa73e1a26653074fcfefd98dcd7eca2123
|
Provenance
The following attestation bundles were made for pangbank_cli-0.2.0-py3-none-any.whl:
Publisher:
python-publish.yml on labgem/PanGBank-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pangbank_cli-0.2.0-py3-none-any.whl -
Subject digest:
ae50ba1bdeabecfa564de9428a437fadcf4e3c01338986c6fbe3697063a2a8a2 - Sigstore transparency entry: 1871212880
- Sigstore integration time:
-
Permalink:
labgem/PanGBank-cli@830c296e0824fa3262ce2334a2e6779543cb1c78 -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/labgem
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@830c296e0824fa3262ce2334a2e6779543cb1c78 -
Trigger Event:
release
-
Statement type: