FOI-Bioinformatics / nanometa_live

A streamlined workflow and GUI for real-time species identification and pathogen characterization via nanopore sequencing data. Engineered for precision, speed, and user-friendliness, with offline functionality post-initialization.
GNU General Public License v3.0
15 stars 2 forks source link
bioinformatics metagenomics nanopore sequencing

Nanometa Live: Real-time Metagenomic Analysis

Cite

Nanometa Live is a comprehensive workflow equipped with a graphical user interface (GUI) for real-time metagenomic sequencing analysis. It is designed for Oxford Nanopore MinION and Flongle flow cells and utilizes Kraken2 for classification and BLAST for sequence validation. The tool offers a dynamic, offline-capable solution with custom database support.

Features

Visit our Nanometa Live Wiki for detailed documentation.

Citation

If you use Nanometa Live in your research, please cite our publication:

Kristofer Sandås, Jacob Lewerentz, Edvin Karlsson, Linda Karlsson, David Sundell, Kotryna Simonyté-Sjödin, Andreas Sjödin, Nanometa Live: a user-friendly application for real-time metagenomic data analysis and pathogen identification, Bioinformatics, Volume 40, Issue 3, March 2024, btae108, https://doi.org/10.1093/bioinformatics/btae108

Screenshots

main view sankey plot

Installation Guide

This section provides detailed instructions on how to install Nanometa Live. We recommend using Miniforge for a seamless installation experience.

Prerequisites

Before you begin with the installation of Nanometa Live, make sure your system meets the following prerequisites:

System Requirements

Software Dependencies

Network Requirements

Make sure to meet all these prerequisites to avoid installation issues and to ensure smooth operation of Nanometa Live.

Installation Guide

This section provides detailed instructions on how to install Nanometa Live. We recommend using Mambaforge for a seamless installation experience.

  1. Install with Conda/Mamba (Recommended)
  2. Install with Docker
  3. Install with Singularity
  4. Install from Source Code

Post-Installation

After installation, you can access the program from any directory by following the usage instructions below.

Quick Start Tutorial

This guide will walk you through two options for getting started with Nanometa Live. Option A runs nanometa-demo to automatically download tutorial data and initiate the workflow. Option B guides you through a more manual setup process. To get started with the manual option , download the required tutorial files from Figshare.

Option 1: Quick Start with Automated Demo

  1. Activate the Conda Environment
mamba activate nanometa_live_env
  1. Run Automated Demo

This step will automatically download the tutorial data from Figshare. Following the download, the nanometa-demo script will execute nanometa-new and nanometa-prepare to set up and configure your project for analysis. Lastly, it will automatically launch nanometa-live to initiate both the backend analysis and the graphical user interface (GUI).

nanometa-demo --path YOUR_DEMO_PATH

You might need to click or ctrl + click the port link that appears in your terminal to open the GUI.

To terminate the process, use the Shut down program button in the interface, or press Ctrl+C in the terminal multiple times if needed.

Option 2: Manual Setup

For a manual project setup, please follow the detailed steps outlined below.

Step 1: Activate the Conda Environment

Ensure your Conda/Mamba environment is active by running:

mamba activate nanometa_live_env

Step 2: Initialize a New Project

Initialize your project by specifying various parameters. Replace the placeholders in the example command below with the appropriate paths.

working_dir=YOUR_PATH/metagenomic_project
species_file=PATH_TO/species.txt
kraken_folder=PATH_TO/kraken_db
fastq_folder=PATH_TO/fastq
kraken_tax=gtdb

nanometa-new --path ${working_dir} --species_of_interest ${species_file} --nanopore_output_directory  ${fastq_folder} --kraken_db ${kraken_folder} --kraken_taxonomy ${kraken_tax}

For a complete list of arguments, run: nanometa-new --help.

Step 3: Optional Configuration

Navigate to your newly-created project directory and open the config.yaml file. Verify the Nanopore Output Directory and the Kraken 2 Database directory.

📝 Note: Save your changes.

Step 4: Automatic Data Preparation

Execute the nanometa-prepare command to automatically download and create files needed for analysis.

nanometa-prepare --path ${working_dir} 

After this step, Nanometa Live will not need an internet connection.

Step 5: Simulate Nanopore Sequencing

Place the tutorial batch files (ending in .fastq.gz) in a directory, e.g., /home/user/nanometa_test_data. Then run:

nanometa-sim -i /SOMEPATH/nanometa_test_data -o  ${fastq_folder}

Ensure the -o flag's value matches the Nanopore Output Directory in your config.yaml file.

Step 6: Start Live Analysis

Execute the following command in another terminal to begin live analysis:

nanometa-live -p ${working_dir}

You might need to click or ctrl + click the port link that appears in your terminal to open the GUI.

To terminate the process, use the Shut down program button in the interface, or press Ctrl+C in the terminal multiple times if needed.

Step 7: Explore the GUI


Community & Support


License

License: GPL v3

Nanometa Live is licensed under the GNU General Public License v3.0. This license grants you the freedom to use, modify, and distribute the software in both source and binary form, provided that you include the original copyright and license notice in any copy of the software or source code.

For the full license text, please refer to the LICENSE file in the repository. This license was chosen to promote freedom in using the software and to ensure that derivative works are shared with the community.