PANORAMA: A robust pangenome-based method for predicting and comparing biological systems across species
PANORAMA is a software suite used to analyze and compare partitioned pangenomes graph provided. It benefits from methods for the reconstruction and analysis of pangenome graphs, thanks to the PPanGGOLiN software suite. It is designed to perform pangenome comparison at high-throughtup level.
PANORAMA is easily installed with conda and pip. Follow the next step to install panorama.
# 1. Clone the Repository
git clone https://github.com/labgem/PANORAMA.git
cd PANORAMA
# 2. Create and Configure the Conda Environment
conda create -n panorama
conda config --add channels bioconda
conda config --add channels conda-forge
conda activate panorama
conda env update --file panorama.ymlPANORAMA can process multiple pangenomes at a time. The common input file of most of the commands is a TSV file with two columns. In the following we will name this file pangenomes.tsv
| Name | Path |
|---|---|
| Pangenome1 | path/to/pangenome1 |
| ... | ... |
| PangenomeX | path/to/pangenomeX |
We recommend using an absolute path in this file to avoid errors.
You can use the path from your current directory or the path from the input file as a relative path to find pangenomes
PANORAMA allows detecting systems in pangenomes by using models. A model is an exhaustive and specific representation of a system. PANORAMA models are flexible to describe any models provided by the user. PANORAMA provides a command to perform the complete detection workflow as follows:
panorama pansystems \
-p pangenomes.tsv \
--hmm /PATH/TO/HMM/LIST/FILE/hmm_list.tsv \
-m /PATH/TO/MODELS/LIST/FILE/models_list.tsv \
-s system_model_source_name \
-o PATH/TO/OUPUT/DIRECTORY \
--projection \
--association all \
--partitionPANORAMA allows comparing pangenomes based on pangenome structure previously detected.
Basic conserved spots comparison:
panorama compare_spots \
--pangenomes pangenomes.tsv \
--output conserved_spots_results \
--gfrr_metrics min_gfrr \
--gfrr_cutoff 0.8 0.8 \
--threads 8Basic systems comparison with heatmap generation:
panorama compare_systems \
--pangenomes pangenomes.tsv \
--models defense_systems.tsv \
--sources defense_finder \
--output systems_comparison_results \
--heatmap \
--threads 8The info subcommand extracts summary information from PPanGGOLiN .h5 pangenome files and generates interactive HTML reports. These reports support quick content comparison of each pangenome.
panorama info -i <pangenome_list.tsv> -o <output_directory> [--status] [--content]To perform the comparison of pangenomes, gene families are aligned and cluster. PANORAMA provides commands to perform the alignment and clustering of gene families before the comparison of pangenomes.
Comprehensive all-against-all alignment:
panorama align \
--pangenomes pangenomes.tsv \
--output alignment_results \
--all_against_all \
--align_identity 0.5 \
--align_coverage 0.8 \
--align_cov_mode 0 \
--threads 8 \
--keep_tmpFast clustering with linclust:
panorama cluster \
--pangenomes pangenomes.tsv \
--output clustering_results \
--method linclust \
--cluster_identity 0.8 \
--cluster_coverage 0.8 \
--threads 8Give us feedback
PANORAMA is still in early development.
Have suggestions, ideas, or bug reports?
👉 Open an issue on GitHub
We cannot correct bugs if we do not know about them and will try to help you the best we can