Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SouthGreenPlatform/panache

Panache is a web-based interface designed for the visualization of linearized pangenomes. It can be used to show presence/absence information of pangenomic blocks of sequence or genes in a browser-like display.
https://github.com/SouthGreenPlatform/panache

javascript pangenome vizualisation

Last synced: 28 days ago
JSON representation

Panache is a web-based interface designed for the visualization of linearized pangenomes. It can be used to show presence/absence information of pangenomic blocks of sequence or genes in a browser-like display.

Awesome Lists containing this project

README

        

# Panache: PANgenome Analyzer with CHromosomal Exploration
Panache is a web-based interface designed for the visualization of linearized pangenomes. It can be used to show presence/absence information of pangenomic blocks of sequence or genes in a browser-like display.

![Snapshot of banana data in Panache](imagesReadMe/panacheBanana_clipped.png?raw=true "Banana data in Panache")

## Live demo
An instance of Panache is currently running at [https://panache.ird.fr/](https://panache.ird.fr/) where anyone can upload its own data.

To see an instance with an existing dataset (Banana Pangenome by Rijzaani H. et al, 2021), you can visit the [Banana Genome Hub](https://banana-genome-hub.southgreen.fr/content/panache).

## Citation
Éloi Durant, François Sabot, Matthieu Conte, Mathieu Rouard, Panache: a web browser-based viewer for linearized pangenomes, Bioinformatics, Volume 37, Issue 23, 1 December 2021, Pages 4556–4558, https://doi.org/10.1093/bioinformatics/btab688

## Installation

### With Docker

Panache comes with a Docker container. Please make sure your machine already have Docker and Docker-compose (version >= 1.10) installed. If not, you might install it using ```apt install docker docker-compose```.

**!CAUTION!** Somehow the installation does not work with the "bullseye" distribution of debian, to correct related bugs you can modify the `Dockerfile` and in the first line replace `FROM debian` with `FROM debian:buster`. Then proceed as follows:

After cloning Panache's repository, the container can be built and launched running ```bash start.sh``` (with your sudo rights enabled; this will both create a build version and serve it with nginx).

**The web interface will be available after 4-ish minutes once everything is built.** If you are impatient and want to see what is happening live, you can also run the same command that is in ```start.sh``` without the ```-d``` option, which hides the standard output from the generated container.
Access the visualization through your [localhost](localhost:8080/) (by default a dev version will be served throught port 8080 and a prod version through port 1337).

The visualization could be served on a custom IP when specified inside the nginx.conf file, instead of (or alongside with) localhost.

### Without Docker

If you wish to use another web server directly with the production version of files instead, you will have to run ```npm install```, followed with ```npm install @vue/cli```. Finally make sure to run ```npm run build``` to have the production version files available, they will be all stored in the directory called 'dist', ready to be served.

## Main features and documentation

![Animated GIF introducing the main features of Panache](imagesReadMe/panacheScreencast.gif?raw=true "Panache Screencast")

Panache offers an interactive view of a presence/absence matrix of genomes and 'pangenome blocks'---such blocks being either sequences or gene. This matrix can be explored similarly to genome browsers, by clicking on the desired location on the miniature.

More descriptive documentation (FAQ, feature description, linearization...) is available at Panache's [wiki](https://github.com/SouthGreenPlatform/panache/wiki).

## Representation
Panache was built to display linear representations of pangenomes instead of graph-like display.
With every block ordered on a single string, it becomes easier to parse the representation with human eyes and makes sense of per-node data. It also makes a good baseline for additional information or metadata, that can be layed out on dedicated spaces without overloading the rest of the visualization.

![Visual explanation of pangenome linearization](imagesReadMe/pangenomeLinearization.png?raw=true "Pangenome linearization")

## Data inputs
File examples can be find in the `public` folder, and detailed information are available in the [Files and Formats](https://github.com/SouthGreenPlatform/panache/wiki/Files-&-formats) section of the wiki

## Full Documentation

See the [Wiki](https://github.com/SouthGreenPlatform/panache/wiki) for full documentation, examples and other information.

## Acknowledgement

Panache would not have come to light without the help of Romain Basset (transition to Vue JS framework), Mel Florance (Docker container and various enhancements) and Alexandre Bousquet (Various improvements and Sorting options for the genomes).
Thank you to Gaetan Droc for setting up Panache on the Banana Genome Hub and Philipp Bayer for his hard-won version of wheat_panache.

## License
Panache is published under the terms of the [MIT LICENSE](./LICENSE)

## Contact
Eloi Durant or Mathieu Rouard

---

## Miscellaneous
> ***panache***, noun
> 1. an ornamental tuft (as of feathers) especially on a helmet
> *The palace guard had a panache on his helmet.*
>
> 2. dash or flamboyance in style and action
> *flashed his … smile and waved with the* panache *of a big-city mayor.* — Joe Morgenstern

*Definition from Merriam-Webster*