Skip to content

Pipeline to analyse amplicon data from raw reads to ecologically informative phyloseq objects

License

Notifications You must be signed in to change notification settings

MinderooFoundation/OceanOmics-amplicon-nf

Repository files navigation

Introduction

This pipeline is used to create ASVs and ZOTUs from eDNA amplicon data, assign taxonomy to those ASVs/ZOTUs and finally produce phyloseq objects.

OceanOmics-amplicon-nf creates a phyloseq object from eDNA amplicon data.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The Nextflow DSL2 implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies.

Pipeline summary

  1. Read QC (FastQC)
  2. Demultiplex and trim primers with Cutadapt (Cutadapt)
  3. Optionally demultiplex with Obitools3 (Obitools3)
  4. Additional QC with Seqkit Stats (Seqkit)
  5. Optionally additional trimming with (Seqtk)
  6. Optionally additional trimming with (Fastp)
  7. Create ASVs with DADA2 (DADA2)
  8. Create ZOTUs with VSEARCH (VSEARCH)
  9. Optionally create ZOTUs with USEARCH (USEARCH)
  10. Curate ASVs/ZOTUs with LULU (LULU)
  11. Assign taxonomy with blastn (blastn)
  12. Lowest Common Ancestor (LCA)
  13. Phyloseq object creation (phyloseq)
  14. Download aquamap probabilities (aquamaps)
  15. Filtering of ASV read counts (Nester Filter)
  16. Produce final QC report (MultiQC)

Quick Start

  1. Install Nextflow (>=22.10.1)

  2. Install any of Docker, Singularity (you can follow this tutorial), Podman, Shifter or Charliecloud for full pipeline reproducibility (you can use Conda both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see docs).

  3. Download the pipeline and test it on a minimal dataset with a single command:

nextflow run MinderooFoundation/OceanOmics-amplicon-nf -profile test,YOURPROFILE --outdir <OUTDIR>

Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (YOURPROFILE in the example command above). You can chain multiple config profiles in a comma-separated string.

  • The pipeline comes with config profiles called docker, singularity, podman, shifter, charliecloud and conda which instruct the pipeline to use the named tool for software management. For example, -profile test,docker.
  • If you are using conda, it is highly recommended to use the NXF_CONDA_CACHEDIR or conda.cacheDir settings to store the environments in a central location for future pipeline runs.
  1. Start running your own analysis!
nextflow run MinderooFoundation/OceanOmics-amplicon-nf --input samplesheet.csv --outdir <OUDIR> --bind_dir <BINDDIR> --dbfiles "<BLASTDBFILES>" -profile <docker/singularity/podman/shifter/charliecloud/conda/institute> --fw_primer <FWPRIMER> --rv_primer <RVPRIMER>
  1. --fw_primer and --rv_primer parameters aren't needed if using the --assay parameter (supports 16SFish, MiFish, COILeray, 16SMam, and 12SV5)
nextflow run MinderooFoundation/OceanOmics-amplicon-nf --input samplesheet.csv --outdir <OUDIR> --bind_dir <BINDDIR> --dbfiles "<BLASTDBFILES>" -profile <docker/singularity/podman/shifter/charliecloud/conda/institute> --assay <ASSAY>

Documentation

The OceanOmics-amplicon-nf pipeline comes with documentation about the pipeline usage, parameters and output.

Credits

This pipeline incorporates aspects of eDNAFlow, which was written by Mahsa Mousavi. OceanOmics-amplicon-nf was written by Adam Bennett. Other people who have contributed to this pipeline include Sebastian Rauschert (conceptualisation), Philipp Bayer, and Jessica Pearce. This pipeline was built using the nf-core template.

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.