Introduction

nf-core/eager is a bioinformatics best-practice analysis pipeline for NGS sequencing based ancient DNA (aDNA) data analysis.

The pipeline uses Nextflow, a bioinformatics workflow tool. It pre-processes raw data from FASTQ inputs, aligns the reads and performs extensive general NGS and aDNA specific quality-control on the results. It comes with docker, singularity or conda containers making installation trivial and results highly reproducible.

Pipeline steps

By default the pipeline currently performs the following:

  • Create reference genome indices for mapping (bwa, samtools, and picard)
  • Sequencing quality control (FastQC)
  • Sequencing adapter removal and for paired end data merging (AdapterRemoval)
  • Read mapping to reference using (bwa aln, bwa mem or CircularMapper)
  • Post-mapping processing, statistics and conversion to bam (samtools)
  • Ancient DNA C-to-T damage pattern visualisation (DamageProfiler)
  • PCR duplicate removal (DeDup or MarkDuplicates)
  • Post-mapping statistics and BAM quality control (Qualimap)
  • Library Complexity Estimation (preseq)
  • Overall pipeline statistics summaries (MultiQC)

Additional functionality contained by the pipeline currently includes:

  • Illumina two-coloured sequencer poly-G tail removal (fastp)
  • Automatic conversion of unmapped reads to FASTQ (samtools)
  • Damage removal/clipping for UDG+/UDG-half treatment protocols (BamUtil)
  • Damage reads extraction and assessment (PMDTools)

Quick Start

  1. Install nextflow
  2. Install one of docker, singularity or conda
  3. Download the EAGER pipeline
nextflow pull nf-core/eager
  1. Set up your job with default parameters
nextflow run nf-core -profile <docker/singularity/conda> --reads'*_R{1,2}.fastq.gz' --fasta '<REFERENCE>.fasta'
  1. See the overview of the run with under <OUTPUT_DIR>/MultiQC/multiqc_report.html

Modifications to the default pipeline are easily made using various options as described in the documentation.

Documentation

The nf-core/eager pipeline comes with documentation about the pipeline, found in the docs/ directory:

  1. Installation
  2. Pipeline configuration
  3. Running the pipeline
  4. Output and how to interpret the results
  5. Troubleshooting

Credits

This pipeline was written by Alexander Peltzer (apeltzer), with major contributions from Stephen Clayton, ideas and documentation from James Fellows Yates, Raphael Eisenhofer and Judith Neukamm. If you want to contribute, please open an issue and ask to be added to the project - happy to do so and everyone is welcome to contribute here!

Tool References