Git Product home page Git Product logo

balrog-mon's Introduction

Contributors Forks Stargazers Issues MIT License

Nextflow run with docker run with singularity DOI


BALROG-MON

Bacterial Antimicrobial Resistance annOtation of Genomes - Metagenomic Oxford Nanopore
***** Still Under Development *****

Report Bug · Request Feature

Nextflow Logo

Workflow Overview

Nextflow Logo

*see below sections for in-depth subworkflows


Table of Contents
  1. About BALROG
  2. Getting Started
  3. Running Balrog
  4. Core Steps
  5. Optional Steps
  6. Contact Information
  7. How to Cite BALROG
  8. Citing Tools used in BALROG

About BALROG

BALROG is a nextflow pipeline built to utilize Q20+ Oxford Nanopore Long-reads to investigate antimicrobial resistance (AMR) and its mobility from metagenomic samples. While looking at AMR is the main goal of BALROG, it also provides subworkflows for many related analysies, such as pathogen detection and metagenomic community analysis.

BALROG IS STILL IN DEVELOPMENT

Not all features are fully implemented, and while the pipeline MIGHT work in its current state, I would fully expect some troubleshooting to be in store. If you do deciede to test it out in its current state please repot any and all bugs you find, or any suggestions for improvements!

Getting Started

Before you get too far along, familiarize youself with the section to make sure this is the pipeline for you, and that you can meet the requirements. (Don't worry, there isnt too much to do)

What Data do I Need?

BALROG in its current form expects Q20+ Oxford Nanopore Long Read Metagenomic Sequecning. BALROG can run in Assembly-Free mode or assembles a metagenome using MetaFLYE, allowing for the analysis of low and high coverage metagenomes. BALROG in its standard configuration will require 100GB of RAM.

If you would like to run BALROG with older, non-Q20+ Nanopore data, feel free to submit a feature request and I will add the option.

Dependicies

All Dependicies are mannaged via Docker Containers and hosted on DockerHub. One of the following container runtime software packages will be required.

  1. Nextflow (>= 23.04.0.5857) - Install Nextflow
  2. Docker/Singularity/Apptainer - Install Docker - Install Singularity - Install Apptainer

Installation

Perfered Method - Download Release

wget https://github.com/edwardbirdlab/BALROG-MON/releases/download/v0.0.0/BALROG-0.0.0.tar.gz
tar -xzf BALROG-0.0.0.tar.gz

Method 2 - Clone Repo

git clone https://github.com/edwardbirdlab/BALROG-MON

Creating a SampleSheet

BALROG takes a CSV (Comma-Seperted-Value) sheet as the input. Sample comlumn will be the prefix for all output files for that sample.
Example Format:

sample,path,refernce_genome
Sample_Name_1,/absolute/path/to/sample1.fastq.gz,/absolute/path/to/reference_genome_1.fna
Sample_Name_2,/absolute/path/to/sample2.fastq.gz,/absolute/path/to/reference_genome_1.fna

Nextflow Configuration

When crating a nextflow config ensure a container runtime is enabled (Singularity/Apptainer/Docker). If you are using slurm, you can use the incuded Beocat slurm config as a template. Most nf-core configs will also be supported. If you have never crated a nextflow config, or are having issues reach out to your local administraction.
Nextflow Configuration - nf-core configs

Pipeline Configuration

If you want to change any parameters from defualt they can be changed using the nextflow.config file. Configurable paramaters will be outlied in the detail sections below, as well as in the config file.

(back to top)

Running BALROG

  1. Running the whole pipeline
nextflow run /path/to/edwardbirdlab/BALROG-MON -c /path/to/config.cfg
  1. Optional: Pathogen Detection Conformation (NOT IMPLEMENTED YET)
nextflow run -resume /path/to/edwardbirdlab/BALROG-MON -c /path/to/config.cfg --taxid-list /path/to/taxid_list.txt
  1. Optional: Multi-QC
nextflow run /path/to/edwardbirdlab/BALROG-MON -c /path/to/config.cfg --workflow-opt multiqc

Core Steps

Preprocessing

  1. Standardize Read Names - Included Python Script - (Optional step that is usefull if you have long read names)
  2. Raw Read FastQC - FastQC
  3. Porechop - PoreChop
  4. Chopper - Chopper
    Params - params.chopper_minlen = (defualt = 500) - params.chopper_averagequality = (defualt = 20)
  5. Trimed Read FastQC - FastQC

Host Removal

  1. Mapping to Host Genome - Minimap2
  2. Extracting Non-Host Reads Names - Samtools
  3. Extract Non-Host Reads - SeqTK

Assembly and Plasmid Prediction

  1. Assembly:
    Assembly Free: Convert Fastq to Fasta - SeqTK
    OR
    Metagenomic Assembly - MetaFLYE

  2. Plasmid Prediction - Plasmer Params - params.plasmer_min_len = (defualt = 500) - params.plasmer_max_len = (defualt = 500000)

  3. Assembly QC - Quast

Multi AMR Annotation

Multi AMR is run by defualt, however it can be switched to only run CARD by setting params.cardonly = TRUE

  1. CARD
  2. AMRFinder Plus
  3. Resfinder

Optional Steps

Community Analysis

  1. Kraken2
  2. Bracken
  3. Results ready to view in Pavian

Pathogen Detection

  1. Kraken2 - (--report-minimizer-data --minimum-hit-groups 3)
  2. K2Verify - Comming soon! - (Not yet implemented)
  3. Results ready to view in [Pavian](https://github.com/jenniferlu717/Bracken

Additional Mobile Element Annotation

  1. MobileElementFinder

Additional Sequence Identification

  1. Kraken2

How to Cite BALROG-MON

As there is currently no paper associated with BAROG-MON, please cite this Github page. Also, I feel free to contact me ([email protected] | [email protected]) to let me know!

Citing Tools used in BALROG

Many tools are used in this pipeline, cite them according to their respective requrests. links are give above.

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Edward Bird - - [email protected] | [email protected]

(back to top)

balrog-mon's People

Contributors

edwardbirdlab avatar molikd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.