A Python Package for Probe-based Gene Cluster Finding in Large Microbial Genome Database
Bacterial gene clusters provide insights into metabolism and evolution, and facilitate biotechnological applications. We developed pyGCAP, a Python package for probe-based gene cluster discovery. This pipeline uses sequence search and analysis tools and public databases (e.g. BLAST, MMSeqs2, UniProt, and NCBI) to predict potential gene clusters by user-provided probe genes. We tested the pipeline with the division and cell wall (dcw) gene cluster, crucial for cell division and peptidoglycan biosynthesis.
To evaluate pyGCAP, we used 17 major dcw genes defined by Megrian et al. [1] as a probe set to search for gene clusters in 716 Lactobacillales genomes. The results were integrated to provide detailed information on gene content, gene order, and types of clusters. While PGCfinder examined the completeness of the gene clusters, it could also suggest novel taxa-specific accessory genes related to dcw clusters in Lactobacillales genomes. The package will be freely available on the Python Package Index, Bioconda, and GitHub.
[1] Megrian, D., et al. Ancient origin and constrained evolution of the division and cell wall gene cluster in Bacteria. Nat Microbiol 7, 2114–2127 (2022).
-
Python
>= 3.6 -
conda
environment-
blast
(bioconda blast package)conda install bioconda::blast conda install bioconda/label/cf201901::blast
-
datasets
&dataformat
from NCBI (conda-forge ncbi-datasets-cli package)conda install conda-forge::ncbi-datasets-cli
-
MMseqs2
(MMseqs2 github)conda install -c conda-forge -c bioconda mmseqs2
-
If you want to make a new conda environment for pygcap, follow the instructions below:
conda create -n pygcap conda activate pygcap pip install pygcap (or) conda install bioconda::pygcap conda install -c conda-forge ncbi-datasets-cli conda install -c conda-forge -c bioconda mmseqs2
-
-
pypi pygcap (link) / bioconda pygcap (link)
# pip install pygcap # conda install bioconda::pygcap pygcap [TAXON] [PROBE_FILE]
-
input argument description
### usage example pygcap Facklamia pygcap/data/probe_sample.tsv pygcap 66831 pygcap/data/probe_sample.tsv
-
taxon
(both name and taxid are available) -
path of
probe.tsv
(sample file)Probe Name
(user defined)Prediction
(user defined)Accession
(UniProt entry)
-
-
When the appropriate environment is set up, try running the following command from the root directory. If you have successfully met all the pre-requirements, it will execute correctly, and a directory named 'Facklamia' containing the test results will be created in the root directory.
python3 test.py [or] pygcap Facklamia pygcap/data/probe_sample.tsv
-
--working_dir
or-w
(default:.
): Specify the working directory path.pygcap [TAXON] [PROBE_FILE] —-working_dir or -w [PATH_OF_WORKING_DIRECTORY]
-
--thread
or-t
(default:50
): Number of threads to use when running MMseqs2 and blastp. The number of threads can be adjusted automatically based on the CPU environment. It must be an integer greater than 0.pygcap [TAXON] [PROBE_FILE] —-thread or -t [NUMBER_OF_THREAD]
-
--identity
of-i
(default:0.5
): The value of protein identity to be used in MMseqs2. It must be a value between 0 and 1.pygcap [TAXON] [PROBE_FILE] —-identity or -i [PROTEIN_IDENTITY]
-
--max_target_seqs
of-m
(default:500
): The vaue of aligned sequences to retain in the overall BLASTP results. It must be an integergreater than 0.pygcap [TAXON] [PROBE_FILE] —-max_target_seqs or -m [MAX_TARGET]
-
--skip
of-s
(default:none
): Specify steps to skip during the process. Multiple steps can be skipped by using this option multiple times. This option is useful when you want to add a new probe to the same TAXON as before or when you want to change the identity option for MMseqs2.pygcap [TAXON] [PROBE_FILE] —-skip or -s [ARG]
all
: Skip all the processes listed below.ncbi
: Skip downloading genome data from NCBI.mmseqs2
: Skip running MMseqs2.parsing
: Skip parsing genome data.uniprot
: Skip downloading probe data from UniProt.blastdb
: Skip running makeblastdb.
-
A directory with the following structure will be created in your
working directory
with the name of theTAXON
provided as input.📦 [TAXON_NAME] ├─ data │ ├─ assembly_report.tsv │ ├─ metadata_target.tsv │ └─ ... ├─ input │ ├─ [GENUS_01] │ ├─ [GENUS_02] │ └─ ... ├─ output │ ├─ genus │ ├─ img │ └─ tsv └─ seqlib ├─ blast_output.tsv ├─ seqlib.tsv └─ ...
Profiling dcw genes from pan-genomes of Lactobacillales (LAB)
-
The following are some of the result data you can obtain through this pipeline: