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.
Instructions to type in a shell
- Install miniconda3
To obtain the installer for linux use the following:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
Then, install miniconda,
sh Miniconda3-latest-Linux-x86_64.sh
To obtain the installer for MacOS, you can download it manually or use wget:
curl -O https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
Then, install miniconda,
sh Miniconda3-latest-MacOSX-x86_64.sh
- 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
- Get V-pipe
git clone https://github.com/cbg-ethz/V-pipe.git /path/to/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,
/path/to/V-pipe/init_project.sh
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
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.
Other dependencies are managed by using isolated conda environments per rule, and below we list some of the computational tools integrated in V-pipe:
-
PRINSEQ
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.
-
MAFFT
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.
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. doi:10.1101/2020.06.09.142919
NOTE: During the Gibbs sampling performed by ShoRAH, several clusters may generate the same haplotype representative. Such collisions result in inflated posterior values. Also, the averaging of the haplotype abundances across iterations can be affected by floating-point precision problems. Fortunately, ShoRAH also reports the number of reads assigned to each haplotype per iteration which we use to correct the aforementioned quantities in post-processing. We are currently implementing the changes required to resolve these issues in future releases of ShoRAH.
- Susana Posada Céspedes
- David Seifert
- Tobias Marschall
- Niko Beerenwinkel
We encourage users to use the issue tracker. For further enquiries, you can also contact the V-pipe Dev Team v-pipe@bsse.ethz.ch.