Coder Social home page Coder Social logo

bacannot's Introduction

Bacterial Annotation (bacannot) Pipeline

DOI Build Status Documentation Status

Bacannot is an easy to use nextflow docker-based pipeline that adopts state-of-the-art software for prokaryotic genome annotation. It is a wrapper around a several tools that enables a better understanding of prokaryotic genomes. It uses:

Further reading

This pipeline has two complementary pipelines (also written in nextflow) for NGS preprocessing and Genome assembly that can give the user a complete workflow for bacterial genomics analyses.

Table of contents

Requirements

  • Unix-like operating system (Linux, macOS, etc)
  • Java 8
  • Docker
    • fmalmeida/bacannot:{latest, kofamscan, jbrowse, renv}

This images have been kept separate to not create massive Docker image and to avoid dependencies conflicts.

Quickstart

  1. If you don't have it already install Docker in your computer. Read more here.
    • You can give this in-house script a try.

    • After installed, you need to download the required Docker images

      docker pull fmalmeida/bacannot:latest
      docker pull fmalmeida/bacannot:kofamscan
      docker pull fmalmeida/bacannot:jbrowse
      docker pull fmalmeida/bacannot:renv
      
    • Each image can be built by using the Dockerfiles in the docker folder

      cd docker
      docker build -t fmalmeida/bacannot -f Dockerfile_bacannot .
      docker build -t fmalmeida/kofamscan -f Dockerfile_kofamscan .
      docker build -t fmalmeida/jbrowse -f Dockerfile_jbrowse .
      docker build -t fmalmeida/renv -f Dockerfile_renv .
      

Each release is accompanied by a Dockerfile in the docker folder. When using releases older releases, users can create the correct image using the Dockerfile that goes alongside with the release (Remember to give the image the correct name, as it is in dockerhub and the nextflow script). The latest release will always have its docker image in dockerhub.

  1. Install Nextflow (version 20.07 or higher):

    curl -s https://get.nextflow.io | bash
    
  2. Give it a try:

    nextflow run fmalmeida/bacannot --help
    

Users can get let the pipeline always updated with: nextflow pull fmalmeida/bacannot

Documentation

Usage

  • Complete command line explanation of parameters:
    • nextflow run fmalmeida/bacannot --help
  • See usage examples in the command line:
    • nextflow run fmalmeida/bacannot --examples
  • However, users are encouraged to read the complete online documentation.

Command line usage examples

Command line executions are exemplified in the manual.

Using the configuration file

All the parameters showed above can be, and are advised to be, set through the configuration file. When a configuration file is set the pipeline is run by simply executing nextflow run fmalmeida/bacannot -c ./configuration-file

Your configuration file is what will tell to the pipeline the type of data you have, and which processes to execute. Therefore, it needs to be correctly set up.

Create a configuration file in your working directory:

  nextflow run fmalmeida/bacannot --get_config

Interactive graphical configuration and execution

Users can trigger a graphical and interactive pipeline configuration and execution by using nf-core launch utility.

Install nf-core

# Install nf-core
pip install nf-core

launch the pipeline

nf-core launch will start an interactive form in your web browser or command line so you can configure the pipeline step by step and start the execution of the pipeline in the end.

# Launch the pipeline
nf-core launch fmalmeida/bacannot

It will result in the following:

nextflow tower

This pipeline also accepts that users track its execution of processes via nextflow tower. For that users will have to use the parameters --use_tower and --tower_token.

Citation

Please cite this pipeline using our Zenodo tag or directly via the github url. Also, whenever used/helpful, remember to cite the following software:

bacannot's People

Contributors

fmalmeida 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.