Skip to content

V-GEN-Lab/viper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIPER - Viral Identification Pipeline for Emergency Response

Leia em português

VIPER is a user-friendly toolkit for assembling and identifying viral genomes (SARS-CoV-2, Dengue, and Influenza) from Illumina sequencing data. Created by the CeVIVAS bioinformatics team at the Butantan Institute, VIPER combines an intuitive Windows GUI with robust command-line pipelines.

Index

Highlights

  • Multi-virus pipelines with curated references and lineage assignment.
  • Windows GUI for non-technical users; Linux command-line for servers and pipelines.
  • Resource-aware execution: tested in low computational resources setups.
  • Open source and customizable for lab or surveillance workflows.

Supported pipelines

  • SARS-CoV-2 assembly (Illumina)
  • Dengue assembly (Illumina)
  • Influenza assembly (Illumina)

Installation

Windows (GUI installer)

  • Download the Windows installer (.exe) from the project Releases. The installer bundles the GUI and sets up the WSL-based backend.
  • Requirements: Windows 10 2004+ (build 19041+) or Windows 11, admin permissions, and ~10 GB free disk space. An internet connection is required to download dependencies during setup.
  • Antivirus tools can flag installers; if that happens, whitelist the VIPER installer.

Step-by-step with screenshots

  1. Choose optional tasks (desktop shortcut).

  1. Confirm installation.

  1. Copying files.

  1. Core/WSL bootstrap.

  1. Allow WSL enablement/restart if prompted.

  1. Windows enabling WSL.

  1. Bootstrap inside WSL (micromamba + environment).

  1. Packages being installed.

  1. Finalizing links and PATH inside WSL.

  1. Finish the installer.

After installation, launch VIPER from the Start menu or run VIPER.exe from the installation folder. If you need to uninstall, use Windows Apps & Features and, if requested, run wsl --unregister VIPER-Core from an elevated PowerShell.

Linux (CLI, no GUI)

On Linux, VIPER runs via command line only.

Prerequisites

  • Bash, git, curl, and sudo (for optional symlinks).
  • Micromamba or Conda (micromamba recommended).
  • Python 3.8 (handled by the environment YAML).

1) Get the code

git clone https://github.com/V-GEN-Lab/viper.git
cd viper

2) Install micromamba (if you do not already have micromamba/conda)
Example for bash:

curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
./bin/micromamba shell init -s bash -p ~/.local/share/micromamba
source ~/.bashrc

3) Create the VIPER environment

The YAML pins all dependencies. It sets the prefix to ~/.local/share/mamba/envs/VIPERGenomeAssembler.

micromamba create -y -f Pipelines/VIPERGenomeAssemblerLinux.yaml
micromamba activate VIPERGenomeAssembler
# If activation by name does not work in your shell session, initialize your shell first:
# micromamba shell init -s bash -p ~/.local/share/micromamba
# source ~/.bashrc
# micromamba activate VIPERGenomeAssembler

4) Make the pipeline scripts available

Option A (recommended, creates /usr/local/bin/VIPER_*.sh wrappers):

sudo bash update.d/post-update.sh

Option B (no sudo): add the modules folder to PATH and expose $PIPELINE:

export PIPELINE="$(pwd)/Pipelines/Modules"
echo 'export PIPELINE="$HOME/viper/Pipelines/Modules"' >> ~/.bashrc
echo 'export PATH="$PIPELINE:$PATH"' >> ~/.bashrc
source ~/.bashrc
# If your repository is not in $HOME/viper, replace that path accordingly.
# configurePATH.sh may not work in every restricted or non-sudo environment, so manually exporting PIPELINE and updating PATH is the safest approach for shared servers.

Usage

Windows GUI

Launch VIPER.exe. The GUI has a basic and an advanced view:

In the Advanced tab, you can change the maximum RAM VIPER may use: enter the value in the required format, click Apply, then use Update to confirm it applied.

VIPER refreshes viral databases before running; you can also trigger database updates manually when needed.

Choose how many threads VIPER will use for assembly before starting a run.

Run pipeline steps:

⚠️ Ensure your FASTQ files follow the Illumina naming convention used in BaseSpace: Illumina FASTQ naming guide

  1. Select the folder containing your *.fastq.gz pairs.

1.1) Choose the viral pipeline.

  1. After selecting folder and pipeline, review the summary and continue.

  1. Pipeline executed successfully; confirmation message displayed.

  1. Choose whether to open a simplified dashboard to view results.

  1. Dashboard view; export results to Excel if needed.

  1. Generated outputs in the pipeline folder (.fasta genomes plus per-sample subfolders with additional files).

Manual database update (optional):

Linux command line

Activate the environment first:

micromamba activate VIPERGenomeAssembler

If you ran update.d/post-update.sh, use the wrappers:

# {threads} = threads per sample, {samples} = parallel samples
VIPER_CoV.sh {threads} {samples}       # SARS-CoV-2
VIPER_DENV.sh {threads} {samples}      # Dengue
VIPER_FLU.sh {threads} {samples}       # Influenza

If you used configurePATH.sh without sudo, run directly via $PIPELINE:

bash "$PIPELINE/SARS-CoV-2/Exec_assembly_pipeline_Illumina_v8_bowtie2_ref_iVar_CeVIVAS.sh" {threads} {samples}
bash "$PIPELINE/DENV/Exec_assembly_pipeline_Illumina_v5_bwa_mem_ref_iVar.sh" {threads} {samples}
bash "$PIPELINE/Influenza/Exec_assembly_pipeline_Illumina_v3_Vapor_SPAdes.sh" {threads} {samples}

Results are written next to the input FASTQ directory. Test datasets are available under Test_samples/.

Pipeline overviews

SARS-CoV-2 assembly overview

Dengue assembly overview

Influenza assembly overview

Future implementations

  • Pipelines for additional viruses (e.g., Chikungunya, RSV).
  • Automatic detection of the virus type being analyzed.
  • Phylogeny module with interactive tree visualization via Auspice.
  • Reworked assembly modules for iSNV detection.
  • Allow users to supply custom reference sequences for assembly.
  • Pipeline optimization for workflow managers (e.g., Snakemake, Nextflow).

Copyright and licence

VIPER was created by the CeVIVAS bioinformatics team at the Butantan Institute:

  • Alex Ranieri J. Lima
  • Gabriela Ribeiro
  • Vinicius Carius De Souza
  • Isabela Carvalho Brcko
  • Igor Santana Ribeiro
  • James Siqueira Pereira
  • Vincent Louis Viala

Supervised by:

  • Maria Carolina Quartim Barbosa Elias Sabbaga
  • Sandra Coccuzzo Sampaio

VIPER is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

VIPER is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details: http://www.gnu.org/licenses/.

About

VIPER is a user-friendly software for assembling and identifying viral genomes (currently SARS-CoV-2, Dengue, and Influenza), from Illumina sequencing data generated through genomic surveillance.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors