Skip to content

labgem/PANORAMA

Repository files navigation

PANORAMA: A robust pangenome-based method for predicting and comparing biological systems across species

Actions License Bioconda Source GitHub issues Docs Downloads

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.


Quick Installation

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.yml

PANORAMA overview

Input files

PANORAMA 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

Biological systems detection

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 \
--partition

Pangenome comparison

PANORAMA allows comparing pangenomes based on pangenome structure previously detected.

Pangenome comparison based on spots

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 8

Pangenome comparison based on systems

Basic systems comparison with heatmap generation:

panorama compare_systems \
--pangenomes pangenomes.tsv \
--models defense_systems.tsv \
--sources defense_finder \
--output systems_comparison_results \
--heatmap \
--threads 8

Utilities

info Command — Extract and Visualize Pangenome Information

The info subcommand extracts summary information from PPanGGOLiN .h5 pangenome files and generates interactive HTML reports. These reports support quick content comparison of each pangenome.

Info command line usage

panorama info -i <pangenome_list.tsv> -o <output_directory> [--status] [--content]

Alignment & clustering of gene families

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_tmp

Fast clustering with linclust:

panorama cluster \
--pangenomes pangenomes.tsv \
--output clustering_results \
--method linclust \
--cluster_identity 0.8 \
--cluster_coverage 0.8 \
--threads 8

💬 Feedback & Contribution

Give 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