Skip to content
Switch branches/tags
Go to file


V-pipe is a workflow designed for analysis of next generation sequencing (NGS) data from viral pathogens. It produces a number of results in a curated format.

Snakemake License: Apache-2.0

Quick start

Instructions to type in a shell

  1. Install miniconda3


To obtain the installer for linux use the following:


Then, install miniconda,



To obtain the installer for MacOS, you can download it manually or use wget:

curl -O

Then, install miniconda,

  1. Create conda virtual environment
conda create -n V-pipe -c conda-forge -c bioconda python=3.8 snakemake-minimal=5.14.0
conda activate V-pipe

Make sure to use source activate V-pipe everytime you want to run V-pipe

  1. Get V-pipe
git clone /path/to/V-pipe

Running V-pipe

First, open a terminal and change into the working directory where input files are stored (i.e., the reference and the sequencing reads). We use a two-level directory hierarchy and we expect sequencing reads in a folder name raw_data. To initialize a project,


Before actually running the pipeline, we advise to check whether output files can be created from the inputs, using the --dryrun option.

./vpipe --dryrun

Further details can be found in the wiki pages.


  • conda

    Conda is a cross-platform package management system and an environment manager application.

  • Snakemake

    Snakemake is the central workflow and dependency manager of V-pipe. It determines the order in which individual tools are invoked and checks that programs do not exit unexpectedly.


    VICUNA is a de novo assembly software designed for populations with high mutation rates. It is used to build an initial reference for mapping reads with ngshmmalign aligner when a references/cohort_consensus.fasta file is not provided. Further details can be found in the wiki pages.

Computational tools

Other dependencies are managed by using isolated conda environments per rule, and below we list some of the computational tools integrated in V-pipe:


    Trimming and clipping of reads is performed by PRINSEQ. It is currently the most versatile raw read processor with many customization options.

  • Vicuna

    Vicuna is a de novo assembler designed for generating rough reference contigs of viral NGS data. It can deal with the inherent heterogeneity such as high single-base heterogeneity and structural variants.

  • ngshmmalign

    We perform the alignment of the curated NGS data using our custom ngshmmalign that takes structural variants into account. It produces multiple consensus sequences that include either majority bases or ambiguous bases.

  • bwa

    In order to detect specific cross-contaminations with other probes, the Burrows-Wheeler aligner is used. It quickly yields estimates for foreign genomic material in an experiment.


    To standardise multiple samples to the same reference genome (say HXB2 for HIV-1), the multiple sequence aligner MAFFT is employed. The multiple sequence alignment helps in determining regions of low conservation and thus makes standardisation of alignments more robust.

  • Samtools

    The Swiss Army knife of alignment postprocessing and diagnostics.

  • SmallGenomeUtilities

    We perform genomic liftovers to standardised reference genomes using our in-house developed python library of utilities for rewriting alignments.

  • ShoRAH

    ShoRAh performs SNV calling and local haplotype reconstruction by using bayesian clustering.

  • HaploClique and SAVAGE

    We use HaploClique or SAVAGE to perform global haplotype reconstruction for heterogeneous viral populations by using an overlap graph.


If you use this software in your research, please cite:

Posada-Céspedes S., Seifert D., Topolsky I., Metzner K.J., and Beerenwinkel N. "V-pipe: a computational pipeline for assessing viral genetic diversity from high-throughput sequencing data." Bioinformatics, January. doi:10.1093/bioinformatics/btab015.



We encourage users to use the issue tracker. For further enquiries, you can also contact the V-pipe Dev Team