NanoPore Amplification Identification (nanoampid) is a bioinformatics pipeline that generates consensus sequences with classification from NanoPore amplicon sequencing data. It takes a samplesheet with FASTQ files from NanoPore sequencing as input and performs quality control (QC), read clustering, consensus sequence generation, blast alignment, and produces a reference assignment and QC report.
- Read preprocessing
- Read quality assessment
- Read quality before and after filtering (
nanoq)
- Read quality before and after filtering (
- Read trimming and filtering
- Orient reads
- Orient reads in accordance with reference database (
vsearch-orient)
- Orient reads in accordance with reference database (
- Read quality assessment
- Read clustering
- Build Consensus Sequence
- Generate consensus sequence for each cluster (
Spoa) - Align reads within clusters (
minimap2) - Build consensus resuence (
racon) - Polish consensus sequence (
medaka) - Remove redundant sequences (
vsearch-cluster)
- Generate consensus sequence for each cluster (
- Taxonomic assignment
- Taxonomic classification (
BLASTn)
- Taxonomic classification (
- Summary consensus sequences and assignments in excel workbook (python script)
Note
If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.
Install and test setup:
git clone https://github.com/PlantPathogenDiagnostics/nanoampid
cd nanoampid
nextflow run main.nf -profile test,<docker/singularity/.../institute>First, prepare a samplesheet with your input data. Each row represents a fastq file with the sample name and full path to the fastq location. A header line is also required. The file should be modeled as follows:
samplesheet.csv:
sample,fastq_1
CONTROL_REP1,/path/to/sample1.fastq.gzYou must also supply a reference fasta of gene sequences. This file will serve as the database for reference-based assembly and taxonomic assignment of consensus sequences.
Now, you can run the pipeline using:
nextflow run </path/to/>nanoampid \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--outdir <OUTDIR> \
--reference <fasta of ref sequences>For more details about pipeline useage see useage documentation, for details on the output files and reports, please refer to the output documentation.
Typical pipeline command:
nextflow run nanoampid -profile <docker/singularity/.../institute> --input samplesheet.csv --outdir <OUTDIR> --reference <fasta of ref sequences>
--show_hidden [boolean] Show all hidden parameters in the help message. This needs to be used in combination with `--help` or `--help_full`.
--help [boolean, string] Show the help message for all top level parameters. When a parameter is given to `--help`, the full help message of that parameter will be printed.
--help_full [boolean] Show the help message for all non-hidden parameters.
Reference Database
--reference [string] Path to fasta file of references
Read QC options
--min_length [number] Minimum read length used for building consensus sequences. [default: 500]
--min_quality [number] Minimum read quality used for building consensus sequences. [default: 10]
--adaptertrimming_tool [string] (accepted: porechop, porechop_abi) [default: porechop]
--max_length [number] Maximum read length used for building consensus sequences. [default: 1000]
BLASTn filtering cutoffs
--min_pident [number] Minimum percent identity to the reference. [default: 90]
--min_ref_cov [number] Minimum percent coverage to the reference. [default: 50]
--max_con_len [number] Maximum length of consensus sequence. [default: 1000]
--max_mismatch [number] Maximum number of nucleotide mismatches with the reference. [default: 11]
Input/output options
--input [string] Path to comma-separated file containing information about the samples in the experiment.
--output [string] Name of the summary excel file.
--outdir [string] The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.
--email [string] Email address for completion summary.
--multiqc_title [string] MultiQC report title. Printed as page header, used for filename if not otherwise specified.
Generic options
--multiqc_methods_description [string] Custom MultiQC yaml file containing HTML including a methods description.
PlantPathogenDiagnostics/nanoampid was originally written by Schyler O. Nunziata.
We thank the following people for their extensive assistance in the development of this pipeline: Subodh K. Srivastava, Vanina Castroagudin, Eric Newberry, Yazmin Rivera, and Gloria Abad.
If you would like to contribute to this pipeline, please see the contributing guidelines.
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.
This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
