zellerlab/flexprofiler is a bioinformatics best-practice analysis pipeline for (microbiome) taxonomic classification and profiling of shotgun and 16S metagenomic data. It allows for in-parallel taxonomic identification of reads or taxonomic abundance estimation with multiple classification and profiling tools against multiple databases, and produces standardised output tables for facilitating results comparison between different tools and databases. It aims to enable microbiome profiling not only of single datasets but also of collections of studies for meta-analisis.
zellerlab/flexprofiler is an adaptation of nf-core/taxprofiler for the needs of the Zeller lab. Many features of nf-core/taxprofiler that are not needed for the Zeller lab have been removed for simplicity, and support for 16S sequencing data and meta-analyses has been added. This is not strictly a fork of nf-core/taxprofiler, as the two pipelines are planned to diverge consistently with their different intended use. We plan to contribute to nf-core modules or other components of more general interest, and to implement relevent nf-core developments in this pipeline on an irregular schedule.
- Read QC (
FastQC) - Read pre-processing
- Performs taxonomic classification and/or profiling using one or more of:
- Standardises and collates output tables (tool-specific)
- Present QC for raw reads (
MultiQC)
A set of pre-configured options used internally in the group is documented here.
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:
sample,run_accession,instrument_platform,fastq_1,fastq_2,fasta
2612,run1,ILLUMINA,2612_run1_R1.fq.gz,,
2612,run2,ILLUMINA,2612_run2_R1.fq.gz,,
2612,run3,ILLUMINA,2612_run3_R1.fq.gz,2612_run3_R2.fq.gz,Each row represents a fastq file (single-end), a pair of fastq files (paired end), or a fasta (with long reads).
Additionally, you will need a database sheet that looks as follows:
tool,db_name,db_params,db_path
kraken2,db2,--quick,/<path>/<to>/kraken2/testdb-kraken2.tar.gz
metaphlan,db1,,/<path>/<to>/metaphlan/metaphlan_database/That includes directories or .tar.gz archives containing databases for the tools you wish to run the pipeline against.
Now, you can run the pipeline using:
nextflow run zellerlab/flexprofiler \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--databases databases.csv \
--outdir <OUTDIR> \
--run_motusWarning
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 and the parameter documentation.
To use zellerlab/flexprofiler you need the databases that the profiling tools that you want to run require.
These can be downloaded using this script, which requires as argument the a path where the databases will be downloaded.
The script also generates a flexprofiler_databases.csv file in the local directory, which can be used in input for the pipeline.
fetch_databases.sh <out_database_path>Important
If you are a member of the Zeller lab, most likely you do not need to download the databases as this has already been done for you in a centralised location. Databases have been already set up for the following compute environments with corresponding profiles:
- LUMC SHARK cluster (nextflow profile name:
zellerlab_shark)
You just need to use the correct profile in the nextflow run so that they are loaded correctly, for example:
nextflow run zellerlab/flexprofiler -profile zellerlab_shark <YOUR OTHER NEXTFLOW ARGUMENTS>For more details about the output files and reports, please refer to the output documentation.
zellerlab/flexprofiler is developped and maintained by Saul Pierotti. nf-core/taxprofiler was originally written by James A. Fellows Yates, Sofia Stamouli, Moritz E. Beber, Lili Andersson-Li, and the nf-core/taxprofiler team. We refer the reader to the pipeline page for further credits.
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.