/nanite

A streamlined Oxford Nanopore Viral Metagenomics Pipeline

Primary LanguagePythonMIT LicenseMIT

nanite 🔬

Viral Nanopore Pipeline

DOI GitHub release (latest SemVer including pre-releases) Docker Pulls
tests docs GitHub issues GitHub license

This is the home of the pipeline, nanite. Its long-term goals: to assemble, annotate, and screen nanopore samples like no pipeline before!

Overview

Welcome to nanite! Before getting started, we highly recommend reading through nanite's documentation.

The ./nanite pipeline is composed several inter-related sub commands to setup and run the pipeline across different systems. Each of the available sub commands perform different functions:

nanite is a streamlined viral metagenomics pipeline to assemble, annotate, and classify microorganisms in enviromental samples. It relies on technologies like Singularity1 to maintain the highest-level of reproducibility. The pipeline consists of a series of data processing and quality-control steps orchestrated by Snakemake2, a flexible and scalable workflow management system, to submit jobs to a cluster.

The pipeline is compatible with data generated from Nanopore sequencing technologies. As input, it accepts a set of FastQ files and can be run locally on a compute instance or on-premise using a cluster. A user can define the method or mode of execution. The pipeline can submit jobs to a cluster using a job scheduler like SLURM (more coming soon!). A hybrid approach ensures the pipeline is accessible to all users.

Before getting started, we highly recommend reading through the usage section of each available sub command.

For more information about issues or trouble-shooting a problem, please checkout our FAQ prior to opening an issue on Github.

Dependencies

Requires: singularity>=3.5 snakemake>=6.0 conda/mamba (optional)

Snakemake must be installed on the target system. Snakemake is a workflow manager that orchestrates each step of the pipeline. The second dependency, i.e singularity OR conda/mamba, handles the dowloading/installation of any remaining software dependencies. By default, the pipeline will utilize singularity to guarantee the highest level of reproducibility; however, the --use-conda option of the run sub command can be provided to use conda/mamba instead of singularity. If possible, we recommend using singularity over conda for reproducibility; however, it is worth noting that singularity and conda produce identical results for this pipeline.

If you are running the pipeline on Windows, please use the Windows Subsystem for Linux (WSL). Singularity can be installed on WSL following these instructions.

Installation

Please clone this repository to your local filesystem using the following command:

# Clone Repository from Github
git clone https://github.com/OpenOmics/nanite.git
# Change your working directory
cd nanite/
# Add dependencies to $PATH
# Biowulf users should run
module load snakemake singularity
# Get usage information
./nanite -h

For more detailed installation instructions, please see our setup page.

Contribute

This site is a living document, created for and by members like you. nanite is maintained by the members of OpenOmics and is improved by continous feedback! We encourage you to contribute new content and make improvements to existing content via pull request to our GitHub repository.

Cite

If you use this software, please cite it as below:

@BibText
@software{Kuhn_OpenOmics_nanite_2022,
  author = {Skyler Kuhn and Paul Schaughency},
  doi    = {10.5281/zenodo.7477631},
  title  = {OpenOmics/nanite},
  month  = dec,
  year   = 2022,
  url    = {https://github.com/OpenOmics/nanite/}
}
@APA
Skyler Kuhn, & Paul Schaughency. (2022). OpenOmics/nanite [Computer software]. https://doi.org/10.5281/zenodo.7477631

For more citation style options, please visit the pipeline's Zenodo page.

References

1. Kurtzer GM, Sochat V, Bauer MW (2017). Singularity: Scientific containers for mobility of compute. PLoS ONE 12(5): e0177459.
2. Koster, J. and S. Rahmann (2018). "Snakemake-a scalable bioinformatics workflow engine." Bioinformatics 34(20): 3600.