Skip to content
master
Switch branches/tags
Code
Branch Status
master Travis (.com) branch
dev Travis (.com) branch

Pandora

Table of Contents

Introduction

Pandora is a tool for bacterial genome analysis using a pangenome reference graph (PanRG). It allows gene presence/absence detection and genotyping of SNPs, indels and longer variants in one or a number of samples. Pandora works with Illumina or Nanopore data. For more details, see our paper.

The PanRG is a collection of 'floating' local graphs (PRGs), each representing some orthologous region of interest (e.g. genes, mobile elements or intergenic regions). See https://github.com/leoisl/make_prg for a tool which can construct these PanRGs from a set of aligned sequence files.

Pandora can do the following for a single sample (read dataset):

  • Output inferred mosaic of reference sequences for loci (eg genes) from the PRGs which are present in the PanRG;
  • Output a VCF showing the variation found within these loci, with respect to any reference path in the PRGs;
  • Discovery of new variation not in the PanRG.

For a collection of samples, it can:

  • Output a matrix showing inferred presence-absence of each locus in each sample genome;
  • Output a multisample pangenome VCF including genotype calls for each sample in each of the loci. Variation is shown with respect to the most informative recombinant path in the PRGs (see our paper).

Warning - pandora is not yet a production-ready tool.

Quick Start

Index PanRG file:

pandora index -t 8 <panrg.fa>

Compare first 30X of each Illumina sample to get pangenome matrix and VCF

pandora compare --genotype --illumina --max-covg 30 <panrg.fa> <read_index.tab>

Map Nanopore reads from a single sample to get approximate sequence for genes present

pandora map <panrg.fa> <reads.fq>

Hands-on toy example

You can test pandora on a toy example following this link. There is no need to have pandora installed.

Installation

No installation needed - precompiled portable binary

You can use pandora with no installation at all by simply downloading the precompiled binary, and running it. In this binary, all libraries are linked statically.

  • Download:

    wget https://github.com/rmcolq/pandora/releases/download/0.9.1/pandora-linux-precompiled-v0.9.1
    
  • Running:

chmod +x pandora-linux-precompiled-v0.9.1
./pandora-linux-precompiled-v0.9.1 -h
  • Notes:
    • We provide precompiled binaries for Linux OS only;

Conda

To install pandora through conda, run:

conda install -c bioconda pandora

Containers

Docker Repository on Quay

You can also download a containerized image of Pandora. Pandora is hosted on Quay and images can be downloaded with the command:

URI="quay.io/rmcolq/pandora"
docker pull "$URI"
docker run -it "$URI" pandora --help

Alternatively, using singularity:

URI="docker://quay.io/rmcolq/pandora"
singularity exec "$URI" pandora --help

Installation from source

This is the hardest way to install pandora, but that yields the most optimised binary.

Requirements:

  • A Unix or Mac OS, with a C++11 compiler toolset (e.g. g++, ld, make, ctest, etc), cmake, git and wget.

  • Download and install pandora as follows (this example is using 4 threads, change 4 to how many threads you want):

git clone --single-branch https://github.com/rmcolq/pandora.git --recursive
cd pandora
mkdir -p build
cd build
cmake -DHUNTER_JOBS_NUMBER=4 -DCMAKE_BUILD_TYPE=Release ..
make -j4
ctest -VV
  • If you want to produce meaningful stack traces in case pandora errors out, binutils-dev must be installed and the cmake must receive this additional parameter: -DPRINT_STACKTRACE=True.

Usage

See Usage.

About

Pan-genome inference and genotyping with long noisy or short accurate reads

Resources

License

Packages

No packages published