MethylSeq pipeline (TOBI lab version)

Nextflow run with conda run with docker run with singularity Launch on Nextflow Tower nf-test

Introduction

[!NOTE] This pipeline has been modified using the original nf-core/methylseq pipeline (version 2.6.0) to include the optical removal duplicates and some other modules in the Bismark subworkflow. You can find the original pipeline at the following nfcore repository.

MethylSeq is a bioinformatics analysis pipeline used for Methylation (Bisulfite) sequencing data. It pre-processes raw data from FastQ inputs, aligns the reads and performs extensive quality-control on the results.

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.

On release, automated continuous integration tests run the pipeline on a full-sized dataset on the AWS cloud infrastructure. This ensures that the pipeline runs on AWS, has sensible resource allocation defaults set to run on real-world datasets, and permits the persistent storage of results to benchmark between pipeline releases and other analysis sources.The results obtained from the full-sized test can be viewed on the nf-core website.

Pipeline Summary

The pipeline allows you to choose between running either Bismark or bwa-meth / MethylDackel. Choose between workflows by using --aligner bismark (default, uses bowtie2 for alignment), --aligner bismark_hisat or --aligner bwameth.

Step Bismark workflow bwa-meth workflow
Generate Reference Genome Index (optional) Bismark bwa-meth
Merge re-sequenced FastQ files cat cat
Raw data QC FastQC FastQC
Adapter sequence trimming Trim Galore! Trim Galore!
Align Reads Bismark bwa-meth
Sequencing saturation (optional) Custom scripts -
Filter Non Conversion Bismark -
Deduplicate Alignments Bismark Picard MarkDuplicates
Removal of optical duplicates Picard MarkDuplicates -
Extract methylation calls Bismark MethylDackel
Sample report Bismark -
Summary Report Bismark -
Alignment QC Qualimap Qualimap
Sample complexity Preseq Preseq
Project Report MultiQC MultiQC

Usage

[!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.

First, prepare a samplesheet with your input data that looks as follows:

samplesheet.csv:

sample,fastq_1,fastq_2
SRR389222_sub1,https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub1.fastq.gz
SRR389222_sub2,https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub2.fastq.gz
SRR389222_sub3,https://github.com/nf-core/test-datasets/raw/methylseq/testdata/SRR389222_sub3.fastq.gz
Ecoli_10K_methylated,https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R1.fastq.gz,https://github.com/nf-core/test-datasets/raw/methylseq/testdata/Ecoli_10K_methylated_R2.fastq.gz

Each row represents a fastq file (single-end) or a pair of fastq files (paired end).

Now, you can run the pipeline using:

nextflow run main.nf --input samplesheet.csv --outdir <OUTDIR> --genome GRCh37 -profile <docker/singularity/podman/shifter/charliecloud/conda/institute>

[!WARNING] Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation, the parameter documentation and the section below for the parameters that have been added to the modifed version of the pipeline.

Parameters included in the modified version

The original nf-core/methylseq pipeline has been modified to include modules that are important when processing RRBS/cfRRBS samples. The pipeline has been modified by @edogiuili and is currently maintained by Edoardo Giuili (@edogiuili) and Sofie Van de Velde (@sofvdvel).

Removal of optical duplicates

--remove_optic_duplicates

If specified, it removes the optical duplicates. It can be used together with --sequencer (see below).

--sequencer

If the flag --remove_optic_duplicates has been specified, --sequencer will be by default set to NovaSeq. Alternatively, you can specify HiSeq or NextSeq. This will change the OpticalDupsPixelDistance within PicardMarkDuplicates step (NovaSeq: 12000, HiSeq: 2500, NextSeq: 100).

Filter non conversion (Bismark) module

--filter_non_conversion

If specified, it filters out all those reads that have a methylation value >= than a preset threshold in non-CG context where you expect a very low methylation level (<5% usually). For more information please consult the Bismark usage.

--minimum_count

Minimum number of methylation sites for a read to be filtered out (def. 3).

--percentage_cutoff

Minimum methylation percentage for a read to be filtered out (def. 90%).

Sequencing saturation plots

[!NOTE] It’s recommended only when using RRBS data, while with WGBS it’s recommended to look at the results provided by PreSeq module.

When the flag --rrbs is specified, the pipeline will perform a downsampling of the raw aligned .bam files and calculate the sequencing saturation. The sequencing saturation is calculated as the number of unique CpGs with at least x counts (where x is 3 by default, but can be customized) divided by the theoretical maximum number of CpG (which corresponds to the asymptote of the curve).

--downsampling_percentages

The percentages to use when performing the downsampling (def. “0.1,0.2,0.4,0.6,0.8,1”). This parameter cannot accept 0. It’s strongly recommended to no change it, unless there are valid reasons (e.g. your sequencing saturation curve is not informative enough with the default percentages.)

--min_counts

The minimum number of reads necessary to call a unique CpGs in the sequencing curve. By default, it will use ‘1,3,5’ corresponding respectively to 1, 3 and 5 reads.

--skip_seqcurve

If you are using the --rrbs flag and you want to skip the sequencing saturation curve process, activate this flag (def. false).

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

These scripts were originally written for use at the National Genomics Infrastructure at SciLifeLab in Stockholm, Sweden.

Citations

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

You can cite the nf-core publication as follows:

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.