Skip to content

cbg-ethz/v-pipe-scout

Repository files navigation

V-Pipe Scout: Rapid Interactive Viral Variant Detection

POC Python Streamlit License: MIT

Overview

Recognizing and quantifying viral variants from wastewater requires expert human judgment in the final steps. V-Pipe Scout allows for rapid exploration of wastewater viral sequences down to the single read level.

Its aim: Discover novel viral threats a few weeks earlier than traditional methods.

This Proof-of-Concept is set up for SARS-CoV-2, yet is built to be virus-agnostic and will be expanded to RSV and Influenza soon.

This is an effort of the V-Pipe team. For more information about V-Pipe, visit the V-Pipe website.

Fast Query Visualization

Technical architecture for real-time visualization of viral sequencing data & rapid on-demand analysis

Specifically, V-Pipe Scout enables:

  • Exploration of mutations at the read level
    • For known resistance mutations
    • Guided by smart filters and variant signatures
  • Composition of variant signatures for abundance estimates
    • Leveraging clinical sequence databases (e.g., CovSpectrum)
    • Using curated variant signatures

Further, we will implement:

  • On-demand variant abundance estimates by Lollipop

V-Pipe Scout brings together:

This application relies on two other repos as connecting infrastructure:

  • WisePulse - to pre-process and run the SILO database, powering read-level queries
  • sr2silo - large scale data-wrangler of nucleotide alignments, to amino-acids and SILO input format

Deployment

The current deployment of this project can be accessed at dev.vpipe.ethz.ch. Only accessible within ETH Zürich Networks.

Installation

  1. Clone the repository:

    git clone https://github.com/cbg-ethz/v-pipe-scout.git
    cd v-pipe-scout
  2. Setup environment:

    ./setup.sh  # Creates .env with secure Redis password (single source of truth)
  3. Configure LAPIS connection in app/config.yaml:

    server:
      lapis_address: "http://host.docker.internal:8083"  # For local LAPIS
  4. Run the application:

    docker compose up --build

Automatic Deployment

For production deployments on VMs or servers, you can set up automatic deployment to eliminate the need for manual updates. See DEPLOYMENT.md for detailed instructions on:

  • Setting up automatic deployment with cron jobs
  • Monitoring and logging deployment activities
  • Configuring rollback mechanisms
  • Troubleshooting deployment issues

Architecture

  • Streamlit Frontend: Interactive web interface
  • Celery Worker: Background task processing
  • Redis: Message broker (password-protected, internal only)

Project Origin

This project was initiated as part of a hackathon project at the BioHackathon Europe 2024.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the MIT License. See the LICENSE file for details.