fbreitwieser / pavian

🌈 Interactive analysis of metagenomics data
https://doi.org/10.1093/bioinformatics/btz715
389 stars 76 forks source link

Pavian is a interactive browser application for analyzing and visualization metagenomics classification results from classifiers such as Kraken, KrakenUniq, Kraken 2, Centrifuge and MetaPhlAn. Pavian also provides an alignment viewer for validation of matches to a particular genome.

For more information look at the publication at https://doi.org/10.1093/bioinformatics/btz715

Pavian: interactive analysis of metagenomics data for microbiome studies and pathogen identification. FP Breitwieser, SL Salzberg - Bioinformatics, 2020

Thank you for citing the publication if Pavian helps in your research :).

You can try out Pavian at https://fbreitwieser.shinyapps.io/pavian/.

Installation and deployment

Pavian is a R package, and thus requires R to run. Look here for how to install R. On Windows, you probably need to install Rtools. On Ubuntu, install r-base-dev. Once you started R, the following commands will install the package:

if (!require(remotes)) { install.packages("remotes") }
remotes::install_github("fbreitwieser/pavian")

To run Pavian from R, type

pavian::runApp(port=5000)

Pavian will then be available at http://127.0.0.1:5000 in the web browser of you choice.

Alternatively, you can install and test Pavian with the following command:

shiny::runGitHub("fbreitwieser/pavian", subdir = "inst/shinyapp")

To try out Pavian, load the example files directly from the interface.

Installing Rsamtools

The alignment viewer uses Rsamtools. To install this package from Bioconductor, use the following commands

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("Rsamtools")

Installing to Shinyapps.io

In order to install to Shinyapps.io, because of the Bioconductor repo dependencies, you need to first set the options using setRepositories() in R. At that point a `rsconnect::deployApp('pavian/inst/shinapp/') should work.

Docker image

As an alternative to installing Pavian in R, a Docker image is available at florianbw/pavian. When you run this docker image, Pavian will start automatically on port 80, which you need to make available to the hosting machine. On the shell, you can pull the image and remap the Docker port to port 5000 with the following commands:

docker pull 'florianbw/pavian'
docker run --rm -p 5000:80 florianbw/pavian

Screenshots

image

Build Status

Supported formats

pavian natively supports the Kraken and MetaPhlAn-style report formats. In extension, you can use Centrifuge results by running centrifuge-kreport on Centrifuge output files, and Kaiju results by running kraken-report on Kaiju output files (see issue #11)

Error: Maximum upload size exceeded The maximum upload size is defined by the option shiny.maxRequestSize. To increase it to 500 MB, for example, run the following instead of pavian::runApp():

pavian::runApp(port=5000, maxUploadSize = (500*1024^2))

If your BAM file contains the unaligned reads, you can decrease the file size before uploading by getting rid of non-aligned reads using samtools view -F4.

Acknowledgments

We'd like to thank the creators, contributors and maintainers of several packages without whom Pavian wouldn't exist: