diff --git a/CHANGELOG.md b/CHANGELOG.md index b185cfa5..70e3bac1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,10 +36,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Dependencies` -| Tool | Previous version | New version | -| -------- | ---------------- | ----------- | -| MultiQC | 1.13 | 1.14 | -| taxpasta | 0.2.3 | 0.4.1 | +| Tool | Previous version | New version | +| --------- | ---------------- | ----------- | +| MultiQC | 1.13 | 1.14 | +| taxpasta | 0.2.3 | 0.4.1 | +| MetaPhlAn | 3.0.12 | 4.0.6 | ### `Deprecated` diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index 8bb29cd6..c5312958 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -29,7 +29,6 @@ run_modules: - samtools - kraken - kaiju - - metaphlan - diamond - malt - motus diff --git a/docs/images/taxprofiler_tube.pdf b/docs/images/taxprofiler_tube.pdf index a28b37d4..4ebeb9f1 100644 Binary files a/docs/images/taxprofiler_tube.pdf and b/docs/images/taxprofiler_tube.pdf differ diff --git a/docs/images/taxprofiler_tube.png b/docs/images/taxprofiler_tube.png index 358e2a81..9296c47a 100644 Binary files a/docs/images/taxprofiler_tube.png and b/docs/images/taxprofiler_tube.png differ diff --git a/docs/output.md b/docs/output.md index 5df205dd..75adb1b8 100644 --- a/docs/output.md +++ b/docs/output.md @@ -445,7 +445,7 @@ You will only receive the `.sam` and `.megan` files if you supply `--malt_save_r -The main taxonomic profiling file from MetaPhlAn is the `*_profile.txt` file. This provides the abundance estimates from MetaPhlAn however does not include raw counts by default. +The output contains a file named `*_combined_reports.txt`, which provides an overview of the classification results for all samples. The main taxonomic profiling file from MetaPhlAn is the `*_profile.txt` file. This provides the abundance estimates from MetaPhlAn however does not include raw counts by default. Additionally, it contains intermediate Bowtie2 output `.bowtie2out.txt`, which presents a condensed representation of the mapping results of your sequencing reads to MetaPhlAn's marker gene sequences. The alignments are listed in tab-separated columns, including Read ID and Marker Gene ID, with each alignment represented on a separate line. ### mOTUs @@ -574,7 +574,6 @@ You can expect in the MultiQC reports either sections and/or general stats colum - bracken - centrifuge - kaiju -- metaphlan - diamond - malt - motus diff --git a/docs/usage.md b/docs/usage.md index b43194f4..bc5687d4 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -300,7 +300,7 @@ Krona can only be run on MALT output if path to Krona taxonomy database supplied ##### MetaPhlAn -MetaPhlAn4 is compatible with the MetaPhlAn3 database by adding the `--mpa3` paramter to the MetaPhlAn process in the config file `module.config`. +MetaPhlAn4 is compatible with the MetaPhlAn3 database by adding the `--mpa3` into `db_params` of the `database.csv`. ##### mOTUs @@ -716,7 +716,7 @@ See the [MALT manual](https://software-ab.informatik.uni-tuebingen.de/download/m MetaPhlAn does not allow (easy) construction of custom databases. Therefore we recommend to use the prebuilt database of marker genes that is provided by the developers. -To do this you need to have `MetaPhlAn` installed on your machine. +To perform this task, ensure that you have installed `MetaPhlAn` on your machine. Keep in mind that each version of MetaPhlAn aligns with a specific version of the database. Therefore, if you download the MetaPhlAn3 database, remember to include `--mpa3` as a parameter for the database in the `--databases` CSV file. ```bash metaphlan --install --bowtie2db / @@ -724,14 +724,14 @@ metaphlan --install --bowtie2db / You can then add the `/` path to your nf-core/taxprofiler database input sheet. -> 🛈 It is generally not recommended to modify this database yourself, thus this is currently not supported in the pipeline. However, it is possible to customise the existing database by adding your own marker genomes following the instructions [here](https://github.com/biobakery/MetaPhlAn/wiki/MetaPhlAn-3.1#customizing-the-database). +> 🛈 It is generally not recommended to modify this database yourself, thus this is currently not supported in the pipeline. However, it is possible to customise the existing database by adding your own marker genomes following the instructions [here](https://github.com/biobakery/MetaPhlAn/wiki/MetaPhlAn-4#customizing-the-database). > 🖊️ If using your own database is relevant for you, please contact the nf-core/taxprofiler developers on the [nf-core slack](https://nf-co.re/join) and we will investigate supporting this.
Expected files in database directory -- `metaphlan` +- `metaphlan4` - `mpa_vJan21_TOY_CHOCOPhlAnSGB_202103.pkl` - `mpa_vJan21_TOY_CHOCOPhlAnSGB_202103.fna.bz2` - `mpa_vJan21_TOY_CHOCOPhlAnSGB_202103.1.bt2l` diff --git a/modules.json b/modules.json index a1c6fed1..cd870598 100644 --- a/modules.json +++ b/modules.json @@ -163,7 +163,7 @@ }, "metaphlan/metaphlan": { "branch": "master", - "git_sha": "31ec4470b455fe88c072151a5ea7821bfb2add38", + "git_sha": "1038d3de36263159b4138324a646105941ac271a", "installed_by": ["modules"] }, "minimap2/align": { diff --git a/modules/nf-core/metaphlan/metaphlan/main.nf b/modules/nf-core/metaphlan/metaphlan/main.nf index 477f1f28..24533571 100644 --- a/modules/nf-core/metaphlan/metaphlan/main.nf +++ b/modules/nf-core/metaphlan/metaphlan/main.nf @@ -28,8 +28,8 @@ process METAPHLAN_METAPHLAN { def bowtie2_out = "$input_type" == "--input_type bowtie2out" || "$input_type" == "--input_type sam" ? '' : "--bowtie2out ${prefix}.bowtie2out.txt" """ - BT2_DB=`find -L "${metaphlan_db_latest}" -name "*rev.1.bt2l" -exec dirname {} \\;` - BT2_DB_INDEX=`find -L ${metaphlan_db_latest} -name "*.rev.1.bt2l" | sed 's/\\.rev.1.bt2l\$//' | sed 's/.*\\///'` + BT2_DB=`find -L "${metaphlan_db_latest}" -name "*rev.1.bt2*" -exec dirname {} \\;` + BT2_DB_INDEX=`find -L ${metaphlan_db_latest} -name "*.rev.1.bt2*" | sed 's/\\.rev.1.bt2.*\$//' | sed 's/.*\\///'` metaphlan \\ --nproc $task.cpus \\ diff --git a/subworkflows/local/db_check.nf b/subworkflows/local/db_check.nf index 1dad2e46..fb6040ad 100644 --- a/subworkflows/local/db_check.nf +++ b/subworkflows/local/db_check.nf @@ -79,7 +79,7 @@ def validate_db_rows(LinkedHashMap row) { if ( !row.keySet().containsAll(expected_headers) ) error("[nf-core/taxprofiler] ERROR: Invalid database input sheet - malformed column names. Please check input TSV. Column names should be: ${expected_headers.join(", ")}") // valid tools specified - def expected_tools = [ "bracken", "centrifuge", "diamond", "kaiju", "kraken2", "krakenuniq", "malt", "metaphlan3", "metaphlan", "motus", "ganon", "kmcp" ] + def expected_tools = [ "bracken", "centrifuge", "diamond", "kaiju", "kraken2", "krakenuniq", "malt", "metaphlan", "motus", "ganon", "kmcp" ] if ( !expected_tools.contains(row.tool) ) error("[nf-core/taxprofiler] ERROR: Invalid tool name. Please see documentation for all supported profilers. Error in: ${row}") // detect quotes in params