1
0
Fork 0
mirror of https://github.com/MillironX/taxprofiler.git synced 2024-11-22 06:29:55 +00:00

Start works - need updated module though t have meta

This commit is contained in:
James Fellows Yates 2022-09-09 13:57:06 +02:00
parent 3fc7f1f0f8
commit a764bc4807
5 changed files with 100 additions and 3 deletions

View file

@ -327,7 +327,7 @@ process {
]
}
withName: METAPHLAN3 {
withName: METAPHLAN3_METAPHLAN3 {
ext.args = { "${meta.db_params}" }
ext.prefix = params.perform_runmerging ? { "${meta.id}-${meta.db_name}" } : { "${meta.id}-${meta.run_accession}-${meta.db_name}" }
publishDir = [
@ -337,6 +337,15 @@ process {
]
}
withName: METAPHLAN3_MERGEMETAPHLANTABLES {
ext.prefix = { "${meta.id}_combined_reports" }
publishDir = [
path: { "${params.outdir}/metaphlan3/" },
mode: params.publish_dir_mode,
pattern: '*.{txt}'
]
}
withName: CENTRIFUGE_CENTRIFUGE {
publishDir = [
path: { "${params.outdir}/centrifuge/${meta.db_name}/" },

View file

@ -94,6 +94,10 @@
"branch": "master",
"git_sha": "2d38566eca4cc15142b2ffa7c11837569b39aece"
},
"metaphlan3/mergemetaphlantables": {
"branch": "master",
"git_sha": "940d7fe9d63962e0e2ba0987e2893fb0aff832e3"
},
"metaphlan3/metaphlan3": {
"branch": "master",
"git_sha": "940d7fe9d63962e0e2ba0987e2893fb0aff832e3"

View file

@ -0,0 +1,33 @@
process METAPHLAN3_MERGEMETAPHLANTABLES {
label 'process_single'
conda (params.enable_conda ? 'bioconda::metaphlan=3.0.12' : null)
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/metaphlan:3.0.12--pyhb7b1952_0' :
'quay.io/biocontainers/metaphlan:3.0.12--pyhb7b1952_0' }"
input:
path(profiles)
output:
tuple path("${prefix}.txt") , emit: txt
path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
script:
def args = task.ext.args ?: ''
prefix = task.ext.prefix ?: "merged_abundance_table"
"""
merge_metaphlan_tables.py \\
$args \\
-o ${prefix}.txt \\
${profiles}
cat <<-END_VERSIONS > versions.yml
"${task.process}":
metaphlan3: \$(metaphlan --version 2>&1 | awk '{print \$3}')
END_VERSIONS
"""
}

View file

@ -0,0 +1,34 @@
name: "metaphlan3_mergemetaphlantables"
description: Merges output abundance tables from MetaPhlAn3
keywords:
- metagenomics
- classification
- merge
- table
- profiles
tools:
- metaphlan3:
description: Identify clades (phyla to species) present in the metagenome obtained from a microbiome sample and their relative abundance
homepage: https://huttenhower.sph.harvard.edu/metaphlan/
documentation: https://github.com/biobakery/MetaPhlAn
doi: "10.7554/eLife.65088"
licence: ["MIT License"]
input:
- profiles:
type: file
description: List of per-sample MetaPhlAn3 taxonomic abundance tables
pattern: "*"
output:
- versions:
type: file
description: File containing software versions
pattern: "versions.yml"
- txt:
type: txt
description: Combined MetaPhlAn3 table
pattern: "*.txt"
authors:
- "@jfy133"

View file

@ -2,8 +2,9 @@
// Standardise output files e.g. aggregation
//
include { KAIJU_KAIJU2TABLE } from '../../modules/nf-core/modules/kaiju/kaiju2table/main'
include { MOTUS_MERGE } from '../../modules/nf-core/modules/motus/merge/main'
include { KAIJU_KAIJU2TABLE } from '../../modules/nf-core/modules/kaiju/kaiju2table/main'
include { MOTUS_MERGE } from '../../modules/nf-core/modules/motus/merge/main'
include { METAPHLAN3_MERGEMETAPHLANTABLES } from '../../modules/nf-core/modules/metaphlan3/mergemetaphlantables/main'
workflow STANDARDISATION_PROFILES {
take:
@ -23,6 +24,7 @@ workflow STANDARDISATION_PROFILES {
ch_input_profiles = profiles
.branch {
motus: it[0]['tool'] == 'motus'
metaphlan3: it[0]['tool'] == 'metaphlan3'
unknown: true
}
@ -58,6 +60,21 @@ workflow STANDARDISATION_PROFILES {
ch_multiqc_files = ch_multiqc_files.mix( KAIJU_KAIJU2TABLE.out.summary )
ch_versions = ch_versions.mix( KAIJU_KAIJU2TABLE.out.versions )
// MetaPhlAn3
ch_profiles_for_metaphlan3 = ch_input_profiles.metaphlan3
.map { [it[0]['db_name'], it[1]] }
.groupTuple()
.map {
[it[1]]
}
METAPHLAN3_MERGEMETAPHLANTABLES ( ch_profiles_for_metaphlan3 )
ch_standardised_tables = ch_standardised_tables.mix( METAPHLAN3_MERGEMETAPHLANTABLES.out.txt )
ch_multiqc_files = ch_multiqc_files.mix( METAPHLAN3_MERGEMETAPHLANTABLES.out.txt )
ch_versions = ch_versions.mix( METAPHLAN3_MERGEMETAPHLANTABLES.out.versions )
// mOTUs
// mOTUs has a 'single' database, and cannot create custom ones.
// Therefore removing db info here, and publish merged at root mOTUs results
// directory