From c381f0d747fc8bf6d87af937a941acd0a431aa49 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Mon, 15 Jul 2024 13:45:45 +0530 Subject: [PATCH 01/33] ADD argNorm module to ARG subworkflow --- CHANGELOG.md | 2 + README.md | 2 +- conf/base.config | 5 + conf/modules.config | 30 ++++ docs/output.md | 76 ++++++++- modules.json | 5 + modules/nf-core/argnorm/environment.yml | 7 + modules/nf-core/argnorm/main.nf | 68 ++++++++ modules/nf-core/argnorm/meta.yml | 60 +++++++ .../argnorm/tests/argnorm_hamronized.config | 5 + .../nf-core/argnorm/tests/argnorm_raw.config | 5 + modules/nf-core/argnorm/tests/main.nf.test | 155 ++++++++++++++++++ .../nf-core/argnorm/tests/main.nf.test.snap | 134 +++++++++++++++ modules/nf-core/argnorm/tests/tags.yml | 2 + subworkflows/local/arg.nf | 47 ++++-- tests/test.nf.test | 16 ++ tests/test_full.nf.test | 69 +++++++- 17 files changed, 666 insertions(+), 22 deletions(-) create mode 100644 modules/nf-core/argnorm/environment.yml create mode 100644 modules/nf-core/argnorm/main.nf create mode 100644 modules/nf-core/argnorm/meta.yml create mode 100644 modules/nf-core/argnorm/tests/argnorm_hamronized.config create mode 100644 modules/nf-core/argnorm/tests/argnorm_raw.config create mode 100644 modules/nf-core/argnorm/tests/main.nf.test create mode 100644 modules/nf-core/argnorm/tests/main.nf.test.snap create mode 100644 modules/nf-core/argnorm/tests/tags.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 38958df7..fb129a73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#381](https://github.com/nf-core/funcscan/pull/381) Added support for supplying pre-annotated sequences to the pipeline. (by @jfy133, @jasmezz) - [#382](https://github.com/nf-core/funcscan/pull/382) Optimised BGC screening run time and prevent crashes due to too-short contigs by adding contig length filtering for BGC workflow only. (by @jfy133, @darcy220606) - [#366](https://github.com/nf-core/funcscan/pull/366) Added nf-test on pipeline level. (by @jfy133, @Darcy220606, @jasmezz) +- Added argNorm to ARG subworkflow ### `Fixed` @@ -42,6 +43,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | AMPlify | 1.1.0 | 2.0.0 | | AMRFinderPlus | 3.11.18 | 3.12.8 | | antiSMASH | 6.1.1 | 7.1.0 | +| argNorm | NA | 0.5.0 | | bioawk | 1.0 | NA | | DeepARG | 1.0.2 | 1.0.4 | | DeepBGC | 0.1.30 | 0.1.31 | diff --git a/README.md b/README.md index 89e0587c..a9c01190 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The nf-core/funcscan AWS full test dataset are contigs generated by the MGnify s 2. Taxonomic classification of contigs of **prokaryotic origin** with [`MMseqs2`](https://github.com/soedinglab/MMseqs2) 3. Annotation of assembled prokaryotic contigs with [`Prodigal`](https://github.com/hyattpd/Prodigal), [`Pyrodigal`](https://github.com/althonos/pyrodigal), [`Prokka`](https://github.com/tseemann/prokka), or [`Bakta`](https://github.com/oschwengers/bakta) 4. Screening contigs for antimicrobial peptide-like sequences with [`ampir`](https://cran.r-project.org/web/packages/ampir/index.html), [`Macrel`](https://github.com/BigDataBiology/macrel), [`HMMER`](http://hmmer.org/), [`AMPlify`](https://github.com/bcgsc/AMPlify) -5. Screening contigs for antibiotic resistant gene-like sequences with [`ABRicate`](https://github.com/tseemann/abricate), [`AMRFinderPlus`](https://github.com/ncbi/amr), [`fARGene`](https://github.com/fannyhb/fargene), [`RGI`](https://card.mcmaster.ca/analyze/rgi), [`DeepARG`](https://bench.cs.vt.edu/deeparg) +5. Screening contigs for antibiotic resistant gene-like sequences with [`ABRicate`](https://github.com/tseemann/abricate), [`AMRFinderPlus`](https://github.com/ncbi/amr), [`fARGene`](https://github.com/fannyhb/fargene), [`RGI`](https://card.mcmaster.ca/analyze/rgi), [`DeepARG`](https://bench.cs.vt.edu/deeparg). [`argNorm`](https://github.com/BigDataBiology/argNorm) is used to map the outputs of `DeepARG`, `AMRFinderPlus`, and `ABRicate` to the [`Antibiotic Resistance Ontology`](https://www.ebi.ac.uk/ols4/ontologies/aro) 6. Screening contigs for biosynthetic gene cluster-like sequences with [`antiSMASH`](https://antismash.secondarymetabolites.org), [`DeepBGC`](https://github.com/Merck/deepbgc), [`GECCO`](https://gecco.embl.de/), [`HMMER`](http://hmmer.org/) 7. Creating aggregated reports for all samples across the workflows with [`AMPcombi`](https://github.com/Darcy220606/AMPcombi) for AMPs, [`hAMRonization`](https://github.com/pha4ge/hAMRonization) for ARGs, and [`comBGC`](https://raw.githubusercontent.com/nf-core/funcscan/master/bin/comBGC.py) for BGCs 8. Software version and methods text reporting with [`MultiQC`](http://multiqc.info/) diff --git a/conf/base.config b/conf/base.config index 71127c09..f8b33d5d 100644 --- a/conf/base.config +++ b/conf/base.config @@ -203,6 +203,11 @@ process { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 } + + withName: ARGNORM { + memory = { check_max( 4.GB * task.attempt, 'memory' ) } + cpus = 1 + } withName: AMPCOMBI2_PARSETABLES { memory = { check_max( 8.GB * task.attempt, 'memory' ) } diff --git a/conf/modules.config b/conf/modules.config index 84895f47..f0ea84d1 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -625,6 +625,36 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } + + withName: ARGNORM_ABRICATE { + publishDir = [ + path: {"${params.outdir}/arg/hamronization/abricate/argnorm/"}, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + ext.prefix = { "${meta.id}.normalized.tsv" } + ext.args = "--hamronized" + } + + withName: ARGNORM_AMRFINDERPLUS { + publishDir = [ + path: {"${params.outdir}/arg/hamronization/amrfinderplus/argnorm/"}, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + ext.prefix = { "${meta.id}.normalized.tsv" } + ext.args = "--hamronized" + } + + withName: ARGNORM_DEEPARG { + publishDir = [ + path: {"${params.outdir}/arg/hamronization/deeparg/argnorm/"}, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + ext.prefix = { "${meta.id}.normalized.tsv" } + ext.args = "--hamronized" + } withName: MERGE_TAXONOMY_COMBGC { publishDir = [ diff --git a/docs/output.md b/docs/output.md index a7384994..d2135ffb 100644 --- a/docs/output.md +++ b/docs/output.md @@ -4,7 +4,7 @@ The output of nf-core/funcscan provides reports for each of the functional groups: -- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization)) +- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and normalized to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) - antimicrobial peptides (tools: [Macrel](https://github.com/BigDataBiology/macrel), [AMPlify](https://github.com/bcgsc/AMPlify), [ampir](https://ampir.marine-omics.net), [hmmsearch](http://hmmer.org) – summarised by [AMPcombi](https://github.com/Darcy220606/AMPcombi)) - biosynthetic gene clusters (tools: [antiSMASH](https://docs.antismash.secondarymetabolites.org), [DeepBGC](https://github.com/Merck/deepbgc), [GECCO](https://gecco.embl.de), [hmmsearch](http://hmmer.org) – summarised by [comBGC](#combgc)) @@ -35,8 +35,16 @@ results/ | ├── amrfinderplus/ | ├── deeparg/ | ├── fargene/ -| ├── hamronization/ -| └── rgi/ +| ├── rgi/ +| └── hamronization/ +| ├── abricate/ +| | └── argnorm/ +| ├── amrfinderplus/ +| | └── argnorm/ +| ├── deeparg/ +| | └── argnorm/ +| ├── fargene/ +| └── rgi/ ├── bgc/ | ├── antismash/ | ├── deepbgc/ @@ -80,6 +88,7 @@ Antimicrobial Resistance Genes (ARGs): - [DeepARG](#deeparg) – antimicrobial resistance gene detection, using a deep learning model. - [fARGene](#fargene) – antimicrobial resistance gene detection, using Hidden Markov Models. - [RGI](#rgi) – antimicrobial resistance gene detection, based on alignment to the CARD database. +- [argNorm](#argNorm) - Normalize ARG annotations to the ARO Antimicrobial Peptides (AMPs): @@ -274,7 +283,7 @@ Output Summaries: ### ARG detection tools -[ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg), [fARGene](#fargene), [RGI](#rgi) +[ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg), [fARGene](#fargene), [RGI](#rgi), [argNorm](#argnorm) #### ABRicate @@ -357,6 +366,65 @@ Output Summaries: [RGI](https://github.com/arpcard/rgi) (**R**esistance **G**ene **I**dentifier) predicts resistome(s) from protein or nucleotide data based on homology and SNP models. It uses reference data from the Comprehensive Antibiotic Resistance Database (CARD). +#### argNorm + +
+Output files + +- `normalized/` + - `*.{tsv}`: search results in tabular format +
+
+ARG summary table headers + +| Table column | Description | +| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `input_file_name` | Name of the file containing the sequence data to be analysed | +| `gene_symbol` | Short name of a gene; a single word that does not contain white space characters. It is typically derived from the gene name | +| `gene_name` | Name of a gene | +| `reference_database_name` | Identifier of a biological or bioinformatics database | +| `reference_database_version` | Version of the database containing the reference sequences used for analysis | +| `reference_accession` | Identifier that specifies an individual sequence record in a public sequence repository | +| `analysis_software_name` | Name of a computer package, application, method or function used for the analysis of data | +| `analysis_software_version` | Version of software used to analyze data | +| `genetic_variation_type` | Class of genetic variation detected | +| `antimicrobial_agent` (optional) | A substance that kills or slows the growth of microorganisms, including bacteria, viruses, fungi and protozoans | +| `coverage_percentage` (optional) | Percentage of the reference sequence covered by the sequence of interest | +| `coverage_depth` (optional) | Average number of reads representing a given nucleotide in the reconstructed sequence | +| `coverage_ratio` (optional) | Ratio of the reference sequence covered by the sequence of interest. | +| `drug_class` (optional) | Set of antibiotic molecules, with similar chemical structures, molecular targets, and/or modes and mechanisms of action | +| `input_gene_length` (optional) | Length (number of positions) of a target gene sequence submitted by a user | +| `input_gene_start` (optional) | Position of the first nucleotide in a gene sequence being analysed (input gene sequence) | +| `input_gene_stop` (optional) | Position of the last nucleotide in a gene sequence being analysed (input gene sequence) | +| `input_protein_length` (optional) | Length (number of positions) of a protein target sequence submitted by a user | +| `input_protein_start` (optional) | Position of the first amino acid in a protein sequence being analysed (input protein sequence) | +| `input_protein_stop` (optional) | Position of the last amino acid in a protein sequence being analysed (input protein sequence) | +| `input_sequence_id` (optional) | Identifier of molecular sequence(s) or entries from a molecular sequence database | +| `nucleotide_mutation` (optional) | Nucleotide sequence change(s) detected in the sequence being analysed compared to a reference | +| `nucleotide_mutation_interpretation` (optional) | Description of identified nucleotide mutation(s) that facilitate clinical interpretation | +| `predicted_phenotype` (optional) | Characteristic of an organism that is predicted rather than directly measured or observed | +| `predicted_phenotype_confidence_level` (optional) | Confidence level in a predicted phenotype | +| `amino_acid_mutation` (optional) | Amino acid sequence change(s) detected in the sequence being analysed compared to a reference | +| `amino_acid_mutation_interpretation` (optional) | Description of identified amino acid mutation(s) that facilitate clinical interpretation. | +| `reference_gene_length` (optional) | Length (number of positions) of a gene reference sequence retrieved from a database | +| `reference_gene_start` (optional) | Position of the first nucleotide in a reference gene sequence | +| `reference_gene_stop` (optional) | Position of the last nucleotide in a reference sequence | +| `reference_protein_length` (optional) | Length (number of positions) of a protein reference sequence retrieved from a database | +| `reference_protein_start` (optional) | Position of the first amino acid in a reference protein sequence | +| `reference_protein_stop` (optional) | Position of the last amino acid in a reference protein sequence | +| `resistance_mechanism` (optional) | Antibiotic resistance mechanisms evolve naturally via natural selection through random mutation, but it could also be engineered by applying an evolutionary stress on a population | +| `strand_orientation` (optional) | Orientation of a genomic element on the double-stranded molecule | +| `sequence_identity` (optional) | Sequence identity is the number (%) of matches (identical characters) in positions from an alignment of two molecular sequences | +| `ARO` | ARO accessions of ARG | +| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | +| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong +
+ +[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing drug categorization of the drugs that antibiotic resistance genes confer resistance to. + +argNorm takes the output of the [hAMRonization](#hamronization) tool and normalizes ARGs in the hAMRonization output to the ARO. + + ### BGC detection tools [antiSMASH](#antismash), [deepBGC](#deepbgc), [GECCO](#gecco), [hmmsearch](#hmmsearch). diff --git a/modules.json b/modules.json index 7958ff7e..8cdebaa7 100644 --- a/modules.json +++ b/modules.json @@ -204,6 +204,11 @@ "branch": "master", "git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa", "installed_by": ["modules"] + }, + "argnorm": { + "branch": "master", + "git_sha": "e4fc46af5ec30070e6aef780aba14f89a28caa88", + "installed_by": ["modules"] } } }, diff --git a/modules/nf-core/argnorm/environment.yml b/modules/nf-core/argnorm/environment.yml new file mode 100644 index 00000000..771b87c9 --- /dev/null +++ b/modules/nf-core/argnorm/environment.yml @@ -0,0 +1,7 @@ +name: "argnorm" +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - "bioconda::argnorm=0.5.0" diff --git a/modules/nf-core/argnorm/main.nf b/modules/nf-core/argnorm/main.nf new file mode 100644 index 00000000..5ff5e8a5 --- /dev/null +++ b/modules/nf-core/argnorm/main.nf @@ -0,0 +1,68 @@ +process ARGNORM { + tag "$meta.id" + label 'process_low' + // WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/argnorm:0.5.0--pyhdfd78af_0': + 'biocontainers/argnorm:0.5.0--pyhdfd78af_0' }" + + input: + tuple val(meta), path(input_tsv) + val tool + val db + + output: + tuple val(meta), path("*.tsv"), emit: tsv + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def VERSION = '0.5.0' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + def db_args = db ? "--db ${db}" : "" + if (!tool) { + error 'Tool not provided.' + } + if ((tool in ["abricate"]) && !db) { + error "$tool requires a database but not provided." + } + + """ + argnorm \\ + $tool \\ + -i $input_tsv \\ + -o $prefix \\ + $db_args \\ + $args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + argnorm: $VERSION + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def VERSION = '0.5.0' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + if (!tool) { + error 'Tool not provided.' + } + if ((tool in ["abricate"]) && !db) { + error "$tool requires a database but not provided." + } + + """ + touch ${prefix} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + argnorm: $VERSION + END_VERSIONS + """ + +} diff --git a/modules/nf-core/argnorm/meta.yml b/modules/nf-core/argnorm/meta.yml new file mode 100644 index 00000000..a977e863 --- /dev/null +++ b/modules/nf-core/argnorm/meta.yml @@ -0,0 +1,60 @@ +name: "argnorm" +description: Normalize antibiotic resistance genes (ARGs) using the ARO ontology (developed by CARD). +keywords: + - amr + - antimicrobial resistance + - arg + - antimicrobial resistance genes + - genomics + - metagenomics + - normalization + - drug categorization +tools: + - "argnorm": + description: "Normalize antibiotic resistance genes (ARGs) using the ARO ontology (developed by CARD)." + homepage: "https://argnorm.readthedocs.io/en/latest/" + documentation: "https://argnorm.readthedocs.io/en/latest/" + tool_dev_url: "https://github.com/BigDataBiology/argNorm" + licence: ["MIT"] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + + - input_tsv: + type: file + description: ARG annotation output + pattern: "*.tsv" + + - tool: + type: string + description: ARG annotation tool used + pattern: "argsoap|abricate|deeparg|resfinder|amrfinderplus" + + - db: + type: string + description: Database used for ARG annotation + pattern: "sarg|ncbi|resfinder|deeparg|megares|argannot|resfinderfg" + +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - tsv: + type: file + description: Normalized argNorm output + pattern: "*.tsv" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@Vedanth-Ramji" +maintainers: + - "@Vedanth-Ramji" diff --git a/modules/nf-core/argnorm/tests/argnorm_hamronized.config b/modules/nf-core/argnorm/tests/argnorm_hamronized.config new file mode 100644 index 00000000..68748018 --- /dev/null +++ b/modules/nf-core/argnorm/tests/argnorm_hamronized.config @@ -0,0 +1,5 @@ +process { + withName: ARGNORM { + ext.args = '--hamronized' + } +} diff --git a/modules/nf-core/argnorm/tests/argnorm_raw.config b/modules/nf-core/argnorm/tests/argnorm_raw.config new file mode 100644 index 00000000..dffa3c48 --- /dev/null +++ b/modules/nf-core/argnorm/tests/argnorm_raw.config @@ -0,0 +1,5 @@ +process { + withName: ARGNORM { + ext.args = '' + } +} diff --git a/modules/nf-core/argnorm/tests/main.nf.test b/modules/nf-core/argnorm/tests/main.nf.test new file mode 100644 index 00000000..e68c2151 --- /dev/null +++ b/modules/nf-core/argnorm/tests/main.nf.test @@ -0,0 +1,155 @@ +nextflow_process { + name "Test Process ARGNORM" + script "../main.nf" + process "ARGNORM" + + tag "modules" + tag "modules_nfcore" + tag "argnorm" + + test("argnorm - amrfinderplus_ncbi_raw - tsv") { + config './argnorm_raw.config' + + when { + process { + """ + input[0] = [ + [ id:'argnorm_raw.tsv' ], // meta map + file("https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/amrfinderplus/test_output.tsv", checkIfExists: true) + ] + input[1] = 'amrfinderplus' + input[2] = 'ncbi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("argnorm - amrfinderplus_ncbi_hamronized - tsv") { + config './argnorm_hamronized.config' + + when { + process { + """ + input[0] = [ + [ id:'argnorm_hamronized.tsv' ], // meta map + file("https://raw.githubusercontent.com/BigDataBiology/argNorm/main/examples/hamronized/amrfinderplus.ncbi.orfs.tsv", checkIfExists: true) + ] + input[1] = 'amrfinderplus' + input[2] = 'ncbi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("argnorm - missing tool") { + + when { + process { + """ + input[0] = [ + [ id:'argnorm_raw.tsv' ], // meta map + file("https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/amrfinderplus/test_output.tsv", checkIfExists: true) + ] + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert !process.success }, + { assert process.stdout.toString().contains("Tool not provided") } + ) + } + } + + test("argnorm - missing db") { + + when { + process { + """ + input[0] = [ + [ id:'argnorm_raw.tsv' ], // meta map + file("https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/delete_me/amrfinderplus/test_output.tsv", checkIfExists: true) + ] + input[1] = "abricate" + input[2] = [] + """ + } + } + + then { + assertAll( + { assert !process.success }, + { assert process.stdout.toString().contains("abricate requires a database but not provided.") } + ) + } + } + + test("argnorm - amrfinderplus_ncbi_hamronized - tsv - stub") { + options "-stub" + config './argnorm_hamronized.config' + + when { + process { + """ + input[0] = [ + [ id:'argnorm_hamronized_stub.tsv' ], // meta map + file("https://raw.githubusercontent.com/BigDataBiology/argNorm/main/examples/hamronized/amrfinderplus.ncbi.orfs.tsv", checkIfExists: true) + ] + input[1] = 'amrfinderplus' + input[2] = 'ncbi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("argnorm - amrfinderplus_ncbi - tsv - stub") { + + options "-stub" + config './argnorm_raw.config' + + when { + process { + """ + input[0] = [ + [ id:'argnorm_raw_stub.tsv' ], // meta map + file("https://raw.githubusercontent.com/BigDataBiology/argNorm/main/examples/raw/amrfinderplus.ncbi.orfs.tsv", checkIfExists: true) + ] + input[1] = 'amrfinderplus' + input[2] = 'ncbi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/argnorm/tests/main.nf.test.snap b/modules/nf-core/argnorm/tests/main.nf.test.snap new file mode 100644 index 00000000..4bed36ba --- /dev/null +++ b/modules/nf-core/argnorm/tests/main.nf.test.snap @@ -0,0 +1,134 @@ +{ + "argnorm - amrfinderplus_ncbi_raw - tsv": { + "content": [ + { + "0": [ + [ + { + "id": "argnorm_raw.tsv" + }, + "argnorm_raw.tsv:md5,f870c239182592a065d9f80732b39bba" + ] + ], + "1": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ], + "tsv": [ + [ + { + "id": "argnorm_raw.tsv" + }, + "argnorm_raw.tsv:md5,f870c239182592a065d9f80732b39bba" + ] + ], + "versions": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T17:46:00.195868976" + }, + "argnorm - amrfinderplus_ncbi_hamronized - tsv": { + "content": [ + { + "0": [ + [ + { + "id": "argnorm_hamronized.tsv" + }, + "argnorm_hamronized.tsv:md5,1f9a3820f09fd6a818af372dfe5cf322" + ] + ], + "1": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ], + "tsv": [ + [ + { + "id": "argnorm_hamronized.tsv" + }, + "argnorm_hamronized.tsv:md5,1f9a3820f09fd6a818af372dfe5cf322" + ] + ], + "versions": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T17:46:31.856263885" + }, + "argnorm - amrfinderplus_ncbi_hamronized - tsv - stub": { + "content": [ + { + "0": [ + [ + { + "id": "argnorm_hamronized_stub.tsv" + }, + "argnorm_hamronized_stub.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ], + "tsv": [ + [ + { + "id": "argnorm_hamronized_stub.tsv" + }, + "argnorm_hamronized_stub.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T17:47:03.088627445" + }, + "argnorm - amrfinderplus_ncbi - tsv - stub": { + "content": [ + { + "0": [ + [ + { + "id": "argnorm_raw_stub.tsv" + }, + "argnorm_raw_stub.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ], + "tsv": [ + [ + { + "id": "argnorm_raw_stub.tsv" + }, + "argnorm_raw_stub.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,e200075d98a6f59137f105efceea0426" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-05T17:47:34.346622776" + } +} diff --git a/modules/nf-core/argnorm/tests/tags.yml b/modules/nf-core/argnorm/tests/tags.yml new file mode 100644 index 00000000..a2b6e8d0 --- /dev/null +++ b/modules/nf-core/argnorm/tests/tags.yml @@ -0,0 +1,2 @@ +argnorm: + - "modules/nf-core/argnorm/**" diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 3bc3c7df..6f3ff94f 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -8,17 +8,23 @@ include { AMRFINDERPLUS_RUN } from '../../modules/nf-core/amrfi include { DEEPARG_DOWNLOADDATA } from '../../modules/nf-core/deeparg/downloaddata/main' include { DEEPARG_PREDICT } from '../../modules/nf-core/deeparg/predict/main' include { FARGENE } from '../../modules/nf-core/fargene/main' -include { HAMRONIZATION_ABRICATE } from '../../modules/nf-core/hamronization/abricate/main' -include { HAMRONIZATION_RGI } from '../../modules/nf-core/hamronization/rgi/main' -include { HAMRONIZATION_DEEPARG } from '../../modules/nf-core/hamronization/deeparg/main' -include { HAMRONIZATION_AMRFINDERPLUS } from '../../modules/nf-core/hamronization/amrfinderplus/main' -include { HAMRONIZATION_FARGENE } from '../../modules/nf-core/hamronization/fargene/main' -include { HAMRONIZATION_SUMMARIZE } from '../../modules/nf-core/hamronization/summarize/main' include { RGI_CARDANNOTATION } from '../../modules/nf-core/rgi/cardannotation/main' include { RGI_MAIN } from '../../modules/nf-core/rgi/main/main' include { UNTAR as UNTAR_CARD } from '../../modules/nf-core/untar/main' include { TABIX_BGZIP as ARG_TABIX_BGZIP } from '../../modules/nf-core/tabix/bgzip/main' include { MERGE_TAXONOMY_HAMRONIZATION } from '../../modules/local/merge_taxonomy_hamronization' +include { ARGNORM as ARGNORM_AMRFINDERPLUS } from '../../modules/nf-core/argnorm/main' +include { ARGNORM as ARGNORM_DEEPARG } from '../../modules/nf-core/argnorm/main' +include { ARGNORM as ARGNORM_ABRICATE } from '../../modules/nf-core/argnorm/main' +include { HAMRONIZATION_RGI } from '../../modules/nf-core/hamronization/rgi/main' +include { HAMRONIZATION_FARGENE } from '../../modules/nf-core/hamronization/fargene/main' +include { HAMRONIZATION_SUMMARIZE } from '../../modules/nf-core/hamronization/summarize/main' +include { HAMRONIZATION_ABRICATE as HAMRONIZATION_ABRICATE_TSV } from '../../modules/nf-core/hamronization/abricate/main' +include { HAMRONIZATION_ABRICATE as HAMRONIZATION_ABRICATE_JSON } from '../../modules/nf-core/hamronization/abricate/main' +include { HAMRONIZATION_DEEPARG as HAMRONIZATION_DEEPARG_TSV } from '../../modules/nf-core/hamronization/deeparg/main' +include { HAMRONIZATION_DEEPARG as HAMRONIZATION_DEEPARG_JSON } from '../../modules/nf-core/hamronization/deeparg/main' +include { HAMRONIZATION_AMRFINDERPLUS as HAMRONIZATION_AMRFINDERPLUS_TSV } from '../../modules/nf-core/hamronization/amrfinderplus/main' +include { HAMRONIZATION_AMRFINDERPLUS as HAMRONIZATION_AMRFINDERPLUS_JSON } from '../../modules/nf-core/hamronization/amrfinderplus/main' workflow ARG { take: @@ -49,9 +55,12 @@ workflow ARG { ch_versions = ch_versions.mix( AMRFINDERPLUS_RUN.out.versions ) // Reporting - HAMRONIZATION_AMRFINDERPLUS ( AMRFINDERPLUS_RUN.out.report, 'json', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) - ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS.out.json ) + HAMRONIZATION_AMRFINDERPLUS_TSV ( AMRFINDERPLUS_RUN.out.report, 'tsv', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) + HAMRONIZATION_AMRFINDERPLUS_JSON ( AMRFINDERPLUS_RUN.out.report, 'json', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) + ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.json ) + ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv, 'amrfinderplus', 'ncbi' ) + ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) } // fARGene run @@ -142,9 +151,12 @@ workflow ARG { // Reporting // Note: currently hardcoding versions as unreported by DeepARG // Make sure to update on version bump. - HAMRONIZATION_DEEPARG ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'json', '1.0.2', params.arg_deeparg_db_version ) - ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG.out.json ) + HAMRONIZATION_DEEPARG_TSV ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'tsv', '1.0.2', params.arg_deeparg_db_version ) + HAMRONIZATION_DEEPARG_JSON ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'json', '1.0.2', params.arg_deeparg_db_version ) + ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG_JSON.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG_JSON.out.json ) + ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv, 'deeparg', 'deeparg' ) + ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } // ABRicate run @@ -152,10 +164,13 @@ workflow ARG { abricate_dbdir = params.arg_abricate_db ? file(params.arg_abricate_db, checkIfExists: true) : [] ABRICATE_RUN ( fastas, abricate_dbdir ) ch_versions = ch_versions.mix( ABRICATE_RUN.out.versions ) - - HAMRONIZATION_ABRICATE ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) - ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE.out.json ) + + HAMRONIZATION_ABRICATE_TSV ( ABRICATE_RUN.out.report, 'tsv', '1.0.1', '2021-Mar-27' ) + HAMRONIZATION_ABRICATE_JSON ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) + ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE_JSON.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE_JSON.out.json ) + ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv, 'abricate', params.arg_abricate_db_id ) + ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) } ch_input_to_hamronization_summarize diff --git a/tests/test.nf.test b/tests/test.nf.test index df4125f7..cb6c1590 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -103,6 +103,22 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, + + // argNorm + { assert snapshot( + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.tsv"), + ).match("argnorm_amrfinderplus") } + + { assert snapshot( + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.tsv"), + ).match("argnorm_deeparg") } + + { assert snapshot( + path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.tsv"), + ).match("argnorm_abricate") } ) } } diff --git a/tests/test_full.nf.test b/tests/test_full.nf.test index 93303734..a4e32a3a 100644 --- a/tests/test_full.nf.test +++ b/tests/test_full.nf.test @@ -250,7 +250,74 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, - + + // argNorm + { assert snapshot ( + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664528.normalized.tsv"), + ).match("argnorm_deeparg") }, + + { assert snapshot ( + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664528.normalized.tsv"), + ).match("argnorm_abricate") }, + + { assert snapshot ( + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664528.normalized.tsv"), + ).match("argnorm_amrfinderplus") }, + // BGC workflow // antiSMASH From 8fb926265ff586b952db461c5add1027c5439a0f Mon Sep 17 00:00:00 2001 From: Vedanth Date: Mon, 15 Jul 2024 22:23:34 +0530 Subject: [PATCH 02/33] Fix path to argNorm output in test.nf --- tests/test.nf.test | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index cb6c1590..75f7c960 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -106,18 +106,18 @@ nextflow_pipeline { // argNorm { assert snapshot( - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), ).match("argnorm_amrfinderplus") } { assert snapshot( - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), ).match("argnorm_deeparg") } { assert snapshot( - path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), ).match("argnorm_abricate") } ) } From 6073b62e7a293458fd85021dce639f9f2a232d51 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 16 Jul 2024 13:13:54 +0530 Subject: [PATCH 03/33] Move argNorm test to test_preannotated --- tests/test.nf.test | 16 ---------------- tests/test_preannotated.nf.test | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index 75f7c960..df4125f7 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -103,22 +103,6 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, - - // argNorm - { assert snapshot( - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), - ).match("argnorm_amrfinderplus") } - - { assert snapshot( - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), - ).match("argnorm_deeparg") } - - { assert snapshot( - path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), - ).match("argnorm_abricate") } ) } } diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index a415ef8b..c5a0e1a7 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -122,6 +122,25 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, + + // argNorm + { assert snapshot( + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), + path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_3.normalized.tsv") + ).match("argnorm_amrfinderplus") } + + { assert snapshot( + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), + path("$outputDir/arg/hamronization/deeparg/argnorm/sample_3.normalized.tsv") + ).match("argnorm_deeparg") } + + { assert snapshot( + path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), + path("$outputDir/arg/hamronization/abricate/argnorm/sample_3.normalized.tsv") + ).match("argnorm_abricate") } ) } } From c6df5aa7002c54e6eba8390b8711db7ca88e44b0 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 16 Jul 2024 14:35:59 +0530 Subject: [PATCH 04/33] ENH make sure to not pass empty files into argNorm --- subworkflows/local/arg.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 6f3ff94f..2d3c076e 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -59,7 +59,7 @@ workflow ARG { HAMRONIZATION_AMRFINDERPLUS_JSON ( AMRFINDERPLUS_RUN.out.report, 'json', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.json ) - ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv, 'amrfinderplus', 'ncbi' ) + ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'amrfinderplus', 'ncbi' ) ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) } @@ -155,7 +155,7 @@ workflow ARG { HAMRONIZATION_DEEPARG_JSON ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'json', '1.0.2', params.arg_deeparg_db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG_JSON.out.json ) - ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv, 'deeparg', 'deeparg' ) + ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'deeparg', 'deeparg' ) ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } @@ -169,7 +169,7 @@ workflow ARG { HAMRONIZATION_ABRICATE_JSON ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE_JSON.out.json ) - ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv, 'abricate', params.arg_abricate_db_id ) + ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'abricate', params.arg_abricate_db_id ) ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) } From 7097413be1df8a6b57d9b865997a6bfacaa56265 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 16 Jul 2024 15:07:02 +0530 Subject: [PATCH 05/33] RFCT simplify file check for argnorm --- subworkflows/local/arg.nf | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 2d3c076e..7eb2b30f 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -59,13 +59,12 @@ workflow ARG { HAMRONIZATION_AMRFINDERPLUS_JSON ( AMRFINDERPLUS_RUN.out.report, 'json', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.json ) - ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'amrfinderplus', 'ncbi' ) + ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) } // fARGene run if ( !params.arg_skip_fargene ) { - ch_fargene_classes = Channel.fromList( params.arg_fargene_hmmmodel.tokenize(',') ) ch_fargene_input = fastas @@ -155,7 +154,7 @@ workflow ARG { HAMRONIZATION_DEEPARG_JSON ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'json', '1.0.2', params.arg_deeparg_db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG_JSON.out.json ) - ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'deeparg', 'deeparg' ) + ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } @@ -169,7 +168,7 @@ workflow ARG { HAMRONIZATION_ABRICATE_JSON ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE_JSON.out.json ) - ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv.filter{meta, file -> file != null && file.size() > 0}, 'abricate', params.arg_abricate_db_id ) + ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'abricate', params.arg_abricate_db_id ) ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) } From 6f164402ff62fe4efedcccbcee244e8c9ca54862 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 17 Jul 2024 14:16:58 +0530 Subject: [PATCH 06/33] Fix argNorm tests --- tests/test_preannotated.nf.test | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index c5a0e1a7..d8657358 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -128,19 +128,19 @@ nextflow_pipeline { path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_3.normalized.tsv") - ).match("argnorm_amrfinderplus") } + ).match("argnorm_amrfinderplus") }, { assert snapshot( path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), path("$outputDir/arg/hamronization/deeparg/argnorm/sample_3.normalized.tsv") - ).match("argnorm_deeparg") } + ).match("argnorm_deeparg") }, { assert snapshot( path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), path("$outputDir/arg/hamronization/abricate/argnorm/sample_3.normalized.tsv") - ).match("argnorm_abricate") } + ).match("argnorm_abricate") }, ) } } From 1f0a7ac0abf88b0373d1cb5a4e0d760a90ff81ca Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 17 Jul 2024 15:06:25 +0530 Subject: [PATCH 07/33] ENH remove unnecessary trailing whitespaces --- conf/base.config | 2 +- conf/modules.config | 6 +++--- subworkflows/local/arg.nf | 4 ++-- tests/test_full.nf.test | 8 ++++---- tests/test_preannotated.nf.test | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/conf/base.config b/conf/base.config index f8b33d5d..e0fae3ca 100644 --- a/conf/base.config +++ b/conf/base.config @@ -203,7 +203,7 @@ process { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 } - + withName: ARGNORM { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 diff --git a/conf/modules.config b/conf/modules.config index f0ea84d1..8e605bd4 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -625,7 +625,7 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } - + withName: ARGNORM_ABRICATE { publishDir = [ path: {"${params.outdir}/arg/hamronization/abricate/argnorm/"}, @@ -635,7 +635,7 @@ process { ext.prefix = { "${meta.id}.normalized.tsv" } ext.args = "--hamronized" } - + withName: ARGNORM_AMRFINDERPLUS { publishDir = [ path: {"${params.outdir}/arg/hamronization/amrfinderplus/argnorm/"}, @@ -645,7 +645,7 @@ process { ext.prefix = { "${meta.id}.normalized.tsv" } ext.args = "--hamronized" } - + withName: ARGNORM_DEEPARG { publishDir = [ path: {"${params.outdir}/arg/hamronization/deeparg/argnorm/"}, diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 7eb2b30f..5d3e4b33 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -155,7 +155,7 @@ workflow ARG { ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG_JSON.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG_JSON.out.json ) ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) - ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) + ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } // ABRicate run @@ -163,7 +163,7 @@ workflow ARG { abricate_dbdir = params.arg_abricate_db ? file(params.arg_abricate_db, checkIfExists: true) : [] ABRICATE_RUN ( fastas, abricate_dbdir ) ch_versions = ch_versions.mix( ABRICATE_RUN.out.versions ) - + HAMRONIZATION_ABRICATE_TSV ( ABRICATE_RUN.out.report, 'tsv', '1.0.1', '2021-Mar-27' ) HAMRONIZATION_ABRICATE_JSON ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE_JSON.out.versions ) diff --git a/tests/test_full.nf.test b/tests/test_full.nf.test index a4e32a3a..01e34007 100644 --- a/tests/test_full.nf.test +++ b/tests/test_full.nf.test @@ -250,7 +250,7 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, - + // argNorm { assert snapshot ( path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664501.normalized.tsv"), @@ -273,7 +273,7 @@ nextflow_pipeline { path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664524.normalized.tsv"), path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664528.normalized.tsv"), ).match("argnorm_deeparg") }, - + { assert snapshot ( path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664501.normalized.tsv"), path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664503.normalized.tsv"), @@ -295,7 +295,7 @@ nextflow_pipeline { path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664524.normalized.tsv"), path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664528.normalized.tsv"), ).match("argnorm_abricate") }, - + { assert snapshot ( path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664501.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664503.normalized.tsv"), @@ -317,7 +317,7 @@ nextflow_pipeline { path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664524.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664528.normalized.tsv"), ).match("argnorm_amrfinderplus") }, - + // BGC workflow // antiSMASH diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index d8657358..c9e57745 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -122,20 +122,20 @@ nextflow_pipeline { // hAMRonization { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, - + // argNorm { assert snapshot( path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_3.normalized.tsv") ).match("argnorm_amrfinderplus") }, - + { assert snapshot( path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), path("$outputDir/arg/hamronization/deeparg/argnorm/sample_3.normalized.tsv") ).match("argnorm_deeparg") }, - + { assert snapshot( path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), From 3bc1facb776de996c64ff88012a60b6621026fb2 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 18 Jul 2024 06:14:03 +0000 Subject: [PATCH 08/33] [automated] Fix linting with Prettier --- docs/output.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/output.md b/docs/output.md index d2135ffb..bb818b65 100644 --- a/docs/output.md +++ b/docs/output.md @@ -88,7 +88,7 @@ Antimicrobial Resistance Genes (ARGs): - [DeepARG](#deeparg) – antimicrobial resistance gene detection, using a deep learning model. - [fARGene](#fargene) – antimicrobial resistance gene detection, using Hidden Markov Models. - [RGI](#rgi) – antimicrobial resistance gene detection, based on alignment to the CARD database. -- [argNorm](#argNorm) - Normalize ARG annotations to the ARO +- [argNorm](#argNorm) - Normalize ARG annotations to the ARO Antimicrobial Peptides (AMPs): @@ -373,9 +373,9 @@ Output Summaries: - `normalized/` - `*.{tsv}`: search results in tabular format - -
-ARG summary table headers +
+
+ ARG summary table headers | Table column | Description | | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -415,16 +415,16 @@ Output Summaries: | `resistance_mechanism` (optional) | Antibiotic resistance mechanisms evolve naturally via natural selection through random mutation, but it could also be engineered by applying an evolutionary stress on a population | | `strand_orientation` (optional) | Orientation of a genomic element on the double-stranded molecule | | `sequence_identity` (optional) | Sequence identity is the number (%) of matches (identical characters) in positions from an alignment of two molecular sequences | -| `ARO` | ARO accessions of ARG | -| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | -| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong +| `ARO` | ARO accessions of ARG | +| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | +| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong | +
[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing drug categorization of the drugs that antibiotic resistance genes confer resistance to. argNorm takes the output of the [hAMRonization](#hamronization) tool and normalizes ARGs in the hAMRonization output to the ARO. - ### BGC detection tools [antiSMASH](#antismash), [deepBGC](#deepbgc), [GECCO](#gecco), [hmmsearch](#hmmsearch). From 431a7cc2464e26811dbd95e32ebfe69e6a8f4656 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Thu, 18 Jul 2024 13:44:24 +0530 Subject: [PATCH 09/33] ENH only use tsv version of hamronization output, simplify argnorm out dir structure, add check for db input for argnorm_abricate --- CHANGELOG.md | 2 +- README.md | 2 +- conf/modules.config | 6 +- docs/output.md | 47 +--------- subworkflows/local/arg.nf | 59 ++++++------ tests/test_preannotated.nf.test | 18 ++-- tests/test_preannotated.nf.test.snap | 128 +++++++++++++++++---------- 7 files changed, 128 insertions(+), 134 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb129a73..55654b18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#381](https://github.com/nf-core/funcscan/pull/381) Added support for supplying pre-annotated sequences to the pipeline. (by @jfy133, @jasmezz) - [#382](https://github.com/nf-core/funcscan/pull/382) Optimised BGC screening run time and prevent crashes due to too-short contigs by adding contig length filtering for BGC workflow only. (by @jfy133, @darcy220606) - [#366](https://github.com/nf-core/funcscan/pull/366) Added nf-test on pipeline level. (by @jfy133, @Darcy220606, @jasmezz) -- Added argNorm to ARG subworkflow +- [#401](https://github.com/nf-core/funcscan/pull/401) Added argNorm to ARG subworkflow. (by @Vedanth-Ramji) ### `Fixed` diff --git a/README.md b/README.md index a9c01190..99c88028 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The nf-core/funcscan AWS full test dataset are contigs generated by the MGnify s 2. Taxonomic classification of contigs of **prokaryotic origin** with [`MMseqs2`](https://github.com/soedinglab/MMseqs2) 3. Annotation of assembled prokaryotic contigs with [`Prodigal`](https://github.com/hyattpd/Prodigal), [`Pyrodigal`](https://github.com/althonos/pyrodigal), [`Prokka`](https://github.com/tseemann/prokka), or [`Bakta`](https://github.com/oschwengers/bakta) 4. Screening contigs for antimicrobial peptide-like sequences with [`ampir`](https://cran.r-project.org/web/packages/ampir/index.html), [`Macrel`](https://github.com/BigDataBiology/macrel), [`HMMER`](http://hmmer.org/), [`AMPlify`](https://github.com/bcgsc/AMPlify) -5. Screening contigs for antibiotic resistant gene-like sequences with [`ABRicate`](https://github.com/tseemann/abricate), [`AMRFinderPlus`](https://github.com/ncbi/amr), [`fARGene`](https://github.com/fannyhb/fargene), [`RGI`](https://card.mcmaster.ca/analyze/rgi), [`DeepARG`](https://bench.cs.vt.edu/deeparg). [`argNorm`](https://github.com/BigDataBiology/argNorm) is used to map the outputs of `DeepARG`, `AMRFinderPlus`, and `ABRicate` to the [`Antibiotic Resistance Ontology`](https://www.ebi.ac.uk/ols4/ontologies/aro) +5. Screening contigs for antibiotic resistant gene-like sequences with [`ABRicate`](https://github.com/tseemann/abricate), [`AMRFinderPlus`](https://github.com/ncbi/amr), [`fARGene`](https://github.com/fannyhb/fargene), [`RGI`](https://card.mcmaster.ca/analyze/rgi), [`DeepARG`](https://bench.cs.vt.edu/deeparg). [`argNorm`](https://github.com/BigDataBiology/argNorm) is used to map the outputs of `DeepARG`, `AMRFinderPlus`, and `ABRicate` to the [`Antibiotic Resistance Ontology`](https://www.ebi.ac.uk/ols4/ontologies/aro) for consistent ARG classification terms. 6. Screening contigs for biosynthetic gene cluster-like sequences with [`antiSMASH`](https://antismash.secondarymetabolites.org), [`DeepBGC`](https://github.com/Merck/deepbgc), [`GECCO`](https://gecco.embl.de/), [`HMMER`](http://hmmer.org/) 7. Creating aggregated reports for all samples across the workflows with [`AMPcombi`](https://github.com/Darcy220606/AMPcombi) for AMPs, [`hAMRonization`](https://github.com/pha4ge/hAMRonization) for ARGs, and [`comBGC`](https://raw.githubusercontent.com/nf-core/funcscan/master/bin/comBGC.py) for BGCs 8. Software version and methods text reporting with [`MultiQC`](http://multiqc.info/) diff --git a/conf/modules.config b/conf/modules.config index 8e605bd4..a628b4b6 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -628,7 +628,7 @@ process { withName: ARGNORM_ABRICATE { publishDir = [ - path: {"${params.outdir}/arg/hamronization/abricate/argnorm/"}, + path: {"${params.outdir}/arg/argnorm/abricate/"}, mode: params.publish_dir_mode, saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] @@ -638,7 +638,7 @@ process { withName: ARGNORM_AMRFINDERPLUS { publishDir = [ - path: {"${params.outdir}/arg/hamronization/amrfinderplus/argnorm/"}, + path: {"${params.outdir}/arg/argnorm/amrfinderplus/"}, mode: params.publish_dir_mode, saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] @@ -648,7 +648,7 @@ process { withName: ARGNORM_DEEPARG { publishDir = [ - path: {"${params.outdir}/arg/hamronization/deeparg/argnorm/"}, + path: {"${params.outdir}/arg/argnorm/deeparg/"}, mode: params.publish_dir_mode, saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] diff --git a/docs/output.md b/docs/output.md index bb818b65..cb0cf2fb 100644 --- a/docs/output.md +++ b/docs/output.md @@ -36,15 +36,8 @@ results/ | ├── deeparg/ | ├── fargene/ | ├── rgi/ -| └── hamronization/ -| ├── abricate/ -| | └── argnorm/ -| ├── amrfinderplus/ -| | └── argnorm/ -| ├── deeparg/ -| | └── argnorm/ -| ├── fargene/ -| └── rgi/ +| ├── hamronization/ +| └── argnorm/ ├── bgc/ | ├── antismash/ | ├── deepbgc/ @@ -379,42 +372,6 @@ Output Summaries: | Table column | Description | | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `input_file_name` | Name of the file containing the sequence data to be analysed | -| `gene_symbol` | Short name of a gene; a single word that does not contain white space characters. It is typically derived from the gene name | -| `gene_name` | Name of a gene | -| `reference_database_name` | Identifier of a biological or bioinformatics database | -| `reference_database_version` | Version of the database containing the reference sequences used for analysis | -| `reference_accession` | Identifier that specifies an individual sequence record in a public sequence repository | -| `analysis_software_name` | Name of a computer package, application, method or function used for the analysis of data | -| `analysis_software_version` | Version of software used to analyze data | -| `genetic_variation_type` | Class of genetic variation detected | -| `antimicrobial_agent` (optional) | A substance that kills or slows the growth of microorganisms, including bacteria, viruses, fungi and protozoans | -| `coverage_percentage` (optional) | Percentage of the reference sequence covered by the sequence of interest | -| `coverage_depth` (optional) | Average number of reads representing a given nucleotide in the reconstructed sequence | -| `coverage_ratio` (optional) | Ratio of the reference sequence covered by the sequence of interest. | -| `drug_class` (optional) | Set of antibiotic molecules, with similar chemical structures, molecular targets, and/or modes and mechanisms of action | -| `input_gene_length` (optional) | Length (number of positions) of a target gene sequence submitted by a user | -| `input_gene_start` (optional) | Position of the first nucleotide in a gene sequence being analysed (input gene sequence) | -| `input_gene_stop` (optional) | Position of the last nucleotide in a gene sequence being analysed (input gene sequence) | -| `input_protein_length` (optional) | Length (number of positions) of a protein target sequence submitted by a user | -| `input_protein_start` (optional) | Position of the first amino acid in a protein sequence being analysed (input protein sequence) | -| `input_protein_stop` (optional) | Position of the last amino acid in a protein sequence being analysed (input protein sequence) | -| `input_sequence_id` (optional) | Identifier of molecular sequence(s) or entries from a molecular sequence database | -| `nucleotide_mutation` (optional) | Nucleotide sequence change(s) detected in the sequence being analysed compared to a reference | -| `nucleotide_mutation_interpretation` (optional) | Description of identified nucleotide mutation(s) that facilitate clinical interpretation | -| `predicted_phenotype` (optional) | Characteristic of an organism that is predicted rather than directly measured or observed | -| `predicted_phenotype_confidence_level` (optional) | Confidence level in a predicted phenotype | -| `amino_acid_mutation` (optional) | Amino acid sequence change(s) detected in the sequence being analysed compared to a reference | -| `amino_acid_mutation_interpretation` (optional) | Description of identified amino acid mutation(s) that facilitate clinical interpretation. | -| `reference_gene_length` (optional) | Length (number of positions) of a gene reference sequence retrieved from a database | -| `reference_gene_start` (optional) | Position of the first nucleotide in a reference gene sequence | -| `reference_gene_stop` (optional) | Position of the last nucleotide in a reference sequence | -| `reference_protein_length` (optional) | Length (number of positions) of a protein reference sequence retrieved from a database | -| `reference_protein_start` (optional) | Position of the first amino acid in a reference protein sequence | -| `reference_protein_stop` (optional) | Position of the last amino acid in a reference protein sequence | -| `resistance_mechanism` (optional) | Antibiotic resistance mechanisms evolve naturally via natural selection through random mutation, but it could also be engineered by applying an evolutionary stress on a population | -| `strand_orientation` (optional) | Orientation of a genomic element on the double-stranded molecule | -| `sequence_identity` (optional) | Sequence identity is the number (%) of matches (identical characters) in positions from an alignment of two molecular sequences | | `ARO` | ARO accessions of ARG | | `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | | `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong | diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 5d3e4b33..99137776 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -13,18 +13,15 @@ include { RGI_MAIN } from '../../modules/nf-core/rgi/m include { UNTAR as UNTAR_CARD } from '../../modules/nf-core/untar/main' include { TABIX_BGZIP as ARG_TABIX_BGZIP } from '../../modules/nf-core/tabix/bgzip/main' include { MERGE_TAXONOMY_HAMRONIZATION } from '../../modules/local/merge_taxonomy_hamronization' -include { ARGNORM as ARGNORM_AMRFINDERPLUS } from '../../modules/nf-core/argnorm/main' -include { ARGNORM as ARGNORM_DEEPARG } from '../../modules/nf-core/argnorm/main' -include { ARGNORM as ARGNORM_ABRICATE } from '../../modules/nf-core/argnorm/main' include { HAMRONIZATION_RGI } from '../../modules/nf-core/hamronization/rgi/main' include { HAMRONIZATION_FARGENE } from '../../modules/nf-core/hamronization/fargene/main' include { HAMRONIZATION_SUMMARIZE } from '../../modules/nf-core/hamronization/summarize/main' -include { HAMRONIZATION_ABRICATE as HAMRONIZATION_ABRICATE_TSV } from '../../modules/nf-core/hamronization/abricate/main' -include { HAMRONIZATION_ABRICATE as HAMRONIZATION_ABRICATE_JSON } from '../../modules/nf-core/hamronization/abricate/main' -include { HAMRONIZATION_DEEPARG as HAMRONIZATION_DEEPARG_TSV } from '../../modules/nf-core/hamronization/deeparg/main' -include { HAMRONIZATION_DEEPARG as HAMRONIZATION_DEEPARG_JSON } from '../../modules/nf-core/hamronization/deeparg/main' -include { HAMRONIZATION_AMRFINDERPLUS as HAMRONIZATION_AMRFINDERPLUS_TSV } from '../../modules/nf-core/hamronization/amrfinderplus/main' -include { HAMRONIZATION_AMRFINDERPLUS as HAMRONIZATION_AMRFINDERPLUS_JSON } from '../../modules/nf-core/hamronization/amrfinderplus/main' +include { HAMRONIZATION_ABRICATE } from '../../modules/nf-core/hamronization/abricate/main' +include { HAMRONIZATION_DEEPARG } from '../../modules/nf-core/hamronization/deeparg/main' +include { HAMRONIZATION_AMRFINDERPLUS } from '../../modules/nf-core/hamronization/amrfinderplus/main' +include { ARGNORM as ARGNORM_DEEPARG } from '../../modules/nf-core/argnorm/main' +include { ARGNORM as ARGNORM_ABRICATE } from '../../modules/nf-core/argnorm/main' +include { ARGNORM as ARGNORM_AMRFINDERPLUS } from '../../modules/nf-core/argnorm/main' workflow ARG { take: @@ -55,11 +52,10 @@ workflow ARG { ch_versions = ch_versions.mix( AMRFINDERPLUS_RUN.out.versions ) // Reporting - HAMRONIZATION_AMRFINDERPLUS_TSV ( AMRFINDERPLUS_RUN.out.report, 'tsv', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) - HAMRONIZATION_AMRFINDERPLUS_JSON ( AMRFINDERPLUS_RUN.out.report, 'json', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) - ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS_JSON.out.json ) - ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) + HAMRONIZATION_AMRFINDERPLUS ( AMRFINDERPLUS_RUN.out.report, 'tsv', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) + ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS.out.tsv ) + ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) } @@ -85,9 +81,9 @@ workflow ARG { // Reporting // Note: currently hardcoding versions, has to be updated with every fARGene-update - HAMRONIZATION_FARGENE( FARGENE.out.hmm.transpose(), 'json', '0.1', '0.1' ) + HAMRONIZATION_FARGENE( FARGENE.out.hmm.transpose(), 'tsv', '0.1', '0.1' ) ch_versions = ch_versions.mix( HAMRONIZATION_FARGENE.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_FARGENE.out.json ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_FARGENE.out.tsv ) } // RGI run @@ -114,9 +110,9 @@ workflow ARG { ch_versions = ch_versions.mix( RGI_MAIN.out.versions ) // Reporting - HAMRONIZATION_RGI ( RGI_MAIN.out.tsv, 'json', RGI_MAIN.out.tool_version, RGI_MAIN.out.db_version ) + HAMRONIZATION_RGI ( RGI_MAIN.out.tsv, 'tsv', RGI_MAIN.out.tool_version, RGI_MAIN.out.db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_RGI.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_RGI.out.json ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_RGI.out.tsv ) } // DeepARG prepare download @@ -150,11 +146,10 @@ workflow ARG { // Reporting // Note: currently hardcoding versions as unreported by DeepARG // Make sure to update on version bump. - HAMRONIZATION_DEEPARG_TSV ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'tsv', '1.0.2', params.arg_deeparg_db_version ) - HAMRONIZATION_DEEPARG_JSON ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'json', '1.0.2', params.arg_deeparg_db_version ) - ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG_JSON.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG_JSON.out.json ) - ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) + HAMRONIZATION_DEEPARG ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'tsv', '1.0.2', params.arg_deeparg_db_version ) + ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG.out.tsv ) + ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } @@ -164,12 +159,18 @@ workflow ARG { ABRICATE_RUN ( fastas, abricate_dbdir ) ch_versions = ch_versions.mix( ABRICATE_RUN.out.versions ) - HAMRONIZATION_ABRICATE_TSV ( ABRICATE_RUN.out.report, 'tsv', '1.0.1', '2021-Mar-27' ) - HAMRONIZATION_ABRICATE_JSON ( ABRICATE_RUN.out.report, 'json', '1.0.1', '2021-Mar-27' ) - ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE_JSON.out.versions ) - ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE_JSON.out.json ) - ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE_TSV.out.tsv.filter{meta, file -> !file.isEmpty()}, 'abricate', params.arg_abricate_db_id ) - ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) + HAMRONIZATION_ABRICATE ( ABRICATE_RUN.out.report, 'tsv', '1.0.1', '2021-Mar-27' ) + ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE.out.versions ) + ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE.out.tsv ) + + if (params.arg_abricate_db_id == 'ncbi' || + params.arg_abricate_db_id == 'resfinder' || + params.arg_abricate_db_id == 'argannot' || + params.arg_abricate_db_id == 'megares' + ) { + ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()}, 'abricate', params.arg_abricate_db_id ) + ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) + } } ch_input_to_hamronization_summarize diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index c9e57745..f74d74ee 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -125,21 +125,21 @@ nextflow_pipeline { // argNorm { assert snapshot( - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_2.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/sample_3.normalized.tsv") + path("$outputDir/arg/argnorm/amrfinderplus/sample_1.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/sample_2.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv") ).match("argnorm_amrfinderplus") }, { assert snapshot( - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_2.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/sample_3.normalized.tsv") + path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv") ).match("argnorm_deeparg") }, { assert snapshot( - path("$outputDir/arg/hamronization/abricate/argnorm/sample_1.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/sample_2.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/sample_3.normalized.tsv") + path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/sample_2.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/sample_3.normalized.tsv") ).match("argnorm_abricate") }, ) } diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index 3b32173d..284a38e7 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -9,45 +9,6 @@ }, "timestamp": "2024-07-04T22:23:20.891751" }, - "abricate": { - "content": [ - "sample_1.txt:md5,427cec26e354ac6b0ab6047ec6621202", - "sample_2.txt:md5,4c140c932a48a22bcd8ae911bda8f4c7", - "sample_3.txt:md5,d6534efe3d03173749d003bf9e624e68" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-04T22:23:20.743136" - }, - "fargene": { - "content": [ - "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", - "results_summary.txt:md5,3b86a5513e89e22a4c8b9279678ce0c0", - "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-04T22:23:20.849995" - }, - "rgi": { - "content": [ - "sample_1.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66", - "sample_2.txt:md5,0e652d35ef6e9272aa194b55db609e75", - "sample_3.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-04T22:23:20.809033" - }, "deeparg": { "content": [ "sample_1.align.daa.tsv:md5,0e71c37318bdc6cba792196d0455293d", @@ -78,18 +39,29 @@ }, "timestamp": "2024-07-04T22:23:20.560802" }, - "ampcombi": { + "argnorm_amrfinderplus": { "content": [ - "Ampcombi_cluster.log:md5,4c78f5f134edf566f39e04e3ab7d8558", - "Ampcombi_complete.log:md5,3dabfea4303bf94bd4f5d78c5b8c83c1", - true, - true + "sample_1.normalized.tsv:md5,d39cb04c2bad3b6e984a44020241f48b", + "sample_2.normalized.tsv:md5,ff109a44444eaeac6f9026ac31fb49a1", + "sample_3.normalized.tsv:md5,067021794971336422fedc749be41dca" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.663035" + "timestamp": "2024-07-18T12:32:12.938861179" + }, + "argnorm_abricate": { + "content": [ + "sample_1.normalized.tsv:md5,ddd8d454672c57b798f477ca32504a42", + "sample_2.normalized.tsv:md5,0323fc890a8f698ac4b0ac25f5e65964", + "sample_3.normalized.tsv:md5,f71490c27790071bd5974ecc5502cf73" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-18T12:32:12.988655823" }, "amplify": { "content": [ @@ -103,6 +75,18 @@ }, "timestamp": "2024-07-04T22:23:20.593242" }, + "argnorm_deeparg": { + "content": [ + "sample_1.normalized.tsv:md5,4a1807992bab9ed4ee9384d237d77e59", + "sample_2.normalized.tsv:md5,a922864845c3a894fa8f5c43cf2e23dc", + "sample_3.normalized.tsv:md5,1bb503373085539ae81c31edfdb2ef34" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-18T12:32:12.966214504" + }, "macrel": { "content": [ "sample_1.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", @@ -127,6 +111,58 @@ }, "timestamp": "2024-07-04T22:23:20.606679" }, + "abricate": { + "content": [ + "sample_1.txt:md5,427cec26e354ac6b0ab6047ec6621202", + "sample_2.txt:md5,4c140c932a48a22bcd8ae911bda8f4c7", + "sample_3.txt:md5,d6534efe3d03173749d003bf9e624e68" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-04T22:23:20.743136" + }, + "fargene": { + "content": [ + "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", + "results_summary.txt:md5,3b86a5513e89e22a4c8b9279678ce0c0", + "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-04T22:23:20.849995" + }, + "rgi": { + "content": [ + "sample_1.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66", + "sample_2.txt:md5,0e652d35ef6e9272aa194b55db609e75", + "sample_3.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-04T22:23:20.809033" + }, + "ampcombi": { + "content": [ + "Ampcombi_cluster.log:md5,4c78f5f134edf566f39e04e3ab7d8558", + "Ampcombi_complete.log:md5,3dabfea4303bf94bd4f5d78c5b8c83c1", + true, + true + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-07-04T22:23:20.663035" + }, "amrfinderplus": { "content": [ "sample_1.tsv:md5,29cfb6f34f420d802eda95c6d9daa361", From c79cafd58917c4ebe219af1d2d7c32299adc9e7c Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Thu, 18 Jul 2024 08:17:04 +0000 Subject: [PATCH 10/33] [automated] Fix linting with Prettier --- docs/output.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/output.md b/docs/output.md index cb0cf2fb..0b6c65e4 100644 --- a/docs/output.md +++ b/docs/output.md @@ -370,11 +370,11 @@ Output Summaries:
ARG summary table headers -| Table column | Description | -| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ARO` | ARO accessions of ARG | -| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | -| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong | +| Table column | Description | +| ---------------------------- | -------------------------------------------------------------------------------- | +| `ARO` | ARO accessions of ARG | +| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | +| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong |
From bde890764e595d7512bd9d476fc8ffa369d2e236 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Thu, 18 Jul 2024 14:55:28 +0530 Subject: [PATCH 11/33] ENH allow argNorm to be skipped --- conf/test_preannotated.config | 1 + nextflow.config | 2 ++ nextflow_schema.json | 17 +++++++++++++++++ subworkflows/local/arg.nf | 19 ++++++++++++------- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/conf/test_preannotated.config b/conf/test_preannotated.config index 38a5e1d1..bb34494e 100644 --- a/conf/test_preannotated.config +++ b/conf/test_preannotated.config @@ -26,6 +26,7 @@ params { run_arg_screening = true arg_fargene_hmmmodel = 'class_a,class_b_1_2' + arg_skip_argnorm = true run_amp_screening = true amp_run_hmmsearch = true diff --git a/nextflow.config b/nextflow.config index ae69b505..1a4eecf6 100644 --- a/nextflow.config +++ b/nextflow.config @@ -187,6 +187,8 @@ params { arg_abricate_mincov = 80 arg_hamronization_summarizeformat = 'tsv' + + arg_skip_argnorm = false // BGC options run_bgc_screening = false diff --git a/nextflow_schema.json b/nextflow_schema.json index 632e13bb..ea3c434a 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1086,6 +1086,20 @@ }, "fa_icon": "fas fa-bacteria", "help_text": "" + }, + "arg_argnorm": { + "title": "ARG: argNorm", + "type": "object", + "description": "Influences parameters required for argNorm", + "default": "", + "properties": { + "arg_skip_argnorm": { + "type": "boolean", + "fa_icon": "fas fa-bacteria", + "description": "Normalizes ARG annotation tool outputs to ARO by CARD" + } + }, + "fa_icon": "fas fa-bacteria" }, "bgc_general_options": { "title": "BGC: general options", @@ -1628,6 +1642,9 @@ { "$ref": "#/definitions/arg_hamronization" }, + { + "$ref": "#/definitions/arg_argnorm" + }, { "$ref": "#/definitions/bgc_general_options" }, diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 99137776..ad87f793 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -55,8 +55,11 @@ workflow ARG { HAMRONIZATION_AMRFINDERPLUS ( AMRFINDERPLUS_RUN.out.report, 'tsv', AMRFINDERPLUS_RUN.out.tool_version, AMRFINDERPLUS_RUN.out.db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_AMRFINDERPLUS.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS.out.tsv ) - ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) - ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) + + if ( !params.arg_skip_argnorm ) { + ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) + ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) + } } // fARGene run @@ -149,8 +152,11 @@ workflow ARG { HAMRONIZATION_DEEPARG ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'tsv', '1.0.2', params.arg_deeparg_db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG.out.tsv ) - ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) - ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) + + if ( !params.arg_skip_argnorm ) { + ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) + ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) + } } // ABRicate run @@ -163,11 +169,10 @@ workflow ARG { ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE.out.tsv ) - if (params.arg_abricate_db_id == 'ncbi' || + if ((params.arg_abricate_db_id == 'ncbi' || params.arg_abricate_db_id == 'resfinder' || params.arg_abricate_db_id == 'argannot' || - params.arg_abricate_db_id == 'megares' - ) { + params.arg_abricate_db_id == 'megares') && !params.arg_skip_argnorm) { ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()}, 'abricate', params.arg_abricate_db_id ) ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) } From 002ade764a1a295e33579d1300d9e9e1fed03331 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Thu, 18 Jul 2024 15:25:22 +0530 Subject: [PATCH 12/33] BUG remove arg_skip_argnorm in test --- conf/test_preannotated.config | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/test_preannotated.config b/conf/test_preannotated.config index bb34494e..38a5e1d1 100644 --- a/conf/test_preannotated.config +++ b/conf/test_preannotated.config @@ -26,7 +26,6 @@ params { run_arg_screening = true arg_fargene_hmmmodel = 'class_a,class_b_1_2' - arg_skip_argnorm = true run_amp_screening = true amp_run_hmmsearch = true From a0e9aa19b4d46762679bc0609c2a668b0415637e Mon Sep 17 00:00:00 2001 From: Vedanth Date: Thu, 18 Jul 2024 16:11:16 +0530 Subject: [PATCH 13/33] RFCT make sure every named process is mixed --- subworkflows/local/arg.nf | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index ad87f793..2842d644 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -57,7 +57,8 @@ workflow ARG { ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS.out.tsv ) if ( !params.arg_skip_argnorm ) { - ARGNORM_AMRFINDERPLUS ( HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()}, 'amrfinderplus', 'ncbi' ) + ch_input_to_argnorm_amrfinderplus = HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()} + ARGNORM_AMRFINDERPLUS ( ch_input_to_argnorm_amrfinderplus, 'amrfinderplus', 'ncbi' ) ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) } } @@ -149,12 +150,14 @@ workflow ARG { // Reporting // Note: currently hardcoding versions as unreported by DeepARG // Make sure to update on version bump. - HAMRONIZATION_DEEPARG ( DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ), 'tsv', '1.0.2', params.arg_deeparg_db_version ) + ch_input_to_hamronization_deeparg = DEEPARG_PREDICT.out.arg.mix( DEEPARG_PREDICT.out.potential_arg ) + HAMRONIZATION_DEEPARG ( ch_input_to_hamronization_deeparg, 'tsv', '1.0.2', params.arg_deeparg_db_version ) ch_versions = ch_versions.mix( HAMRONIZATION_DEEPARG.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG.out.tsv ) if ( !params.arg_skip_argnorm ) { - ARGNORM_DEEPARG ( HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()}, 'deeparg', 'deeparg' ) + ch_input_to_argnorm_deeparg = HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()} + ARGNORM_DEEPARG ( ch_input_to_argnorm_deeparg, 'deeparg', 'deeparg' ) ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) } } @@ -173,7 +176,8 @@ workflow ARG { params.arg_abricate_db_id == 'resfinder' || params.arg_abricate_db_id == 'argannot' || params.arg_abricate_db_id == 'megares') && !params.arg_skip_argnorm) { - ARGNORM_ABRICATE ( HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()}, 'abricate', params.arg_abricate_db_id ) + ch_input_to_argnorm_abricate = HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()} + ARGNORM_ABRICATE ( ch_input_to_argnorm_abricate, 'abricate', params.arg_abricate_db_id ) ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) } } From fb3af3ffb6548d096f3b4bdf06bbcfbcd2ac7b6d Mon Sep 17 00:00:00 2001 From: Vedanth Ramji <86137377+Vedanth-Ramji@users.noreply.github.com> Date: Thu, 18 Jul 2024 16:13:08 +0530 Subject: [PATCH 14/33] Improve argnorm description in nextflow_schema.json Co-authored-by: Jasmin Frangenberg <73216762+jasmezz@users.noreply.github.com> --- nextflow_schema.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index ea3c434a..6bf391ac 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1090,13 +1090,13 @@ "arg_argnorm": { "title": "ARG: argNorm", "type": "object", - "description": "Influences parameters required for argNorm", + "description": "Influences parameters required for the normalization of ARG annotations by argNorm. More info: https://github.com/BigDataBiology/argNorm", "default": "", "properties": { "arg_skip_argnorm": { "type": "boolean", - "fa_icon": "fas fa-bacteria", - "description": "Normalizes ARG annotation tool outputs to ARO by CARD" + "fa_icon": "fas fa-ban", + "description": "Skip argNorm during ARG screening." } }, "fa_icon": "fas fa-bacteria" From 32b93a68f35fbec00f7fedd2ae818b484f8293e4 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Sat, 20 Jul 2024 22:27:49 +0530 Subject: [PATCH 15/33] DOC add argnorm citation --- CHANGELOG.md | 2 +- CITATIONS.md | 4 ++++ subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55654b18..137868d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [#381](https://github.com/nf-core/funcscan/pull/381) Added support for supplying pre-annotated sequences to the pipeline. (by @jfy133, @jasmezz) - [#382](https://github.com/nf-core/funcscan/pull/382) Optimised BGC screening run time and prevent crashes due to too-short contigs by adding contig length filtering for BGC workflow only. (by @jfy133, @darcy220606) - [#366](https://github.com/nf-core/funcscan/pull/366) Added nf-test on pipeline level. (by @jfy133, @Darcy220606, @jasmezz) -- [#401](https://github.com/nf-core/funcscan/pull/401) Added argNorm to ARG subworkflow. (by @Vedanth-Ramji) +- [#405](https://github.com/nf-core/funcscan/pull/405) Added argNorm to ARG subworkflow. (by @Vedanth-Ramji) ### `Fixed` diff --git a/CITATIONS.md b/CITATIONS.md index f0e97006..af3df292 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -29,6 +29,10 @@ - [AntiSMASH](https://doi.org/10.1093/nar/gkab335) > Blin, K., Shaw, S., Kloosterman, A. M., Charlop-Powers, Z., van Wezel, G. P., Medema, M. H., & Weber, T. (2021). antiSMASH 6.0: improving cluster detection and comparison capabilities. Nucleic acids research, 49(W1), W29–W35. [DOI: 10.1093/nar/gkab335](https://doi.org/10.1093/nar/gkab335) + +- [argNorm](https://github.com/BigDataBiology/argNorm) + + > Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho (2024). [DOI:10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) - [Bakta](https://doi.org/10.1099/mgen.0.000685) diff --git a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf index aafe7e86..4348ee32 100644 --- a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf @@ -229,6 +229,7 @@ def toolCitationText() { !params.arg_skip_amrfinderplus ? "AMRfinderplus (Feldgarden et al. 2021)," : "", !params.arg_skip_deeparg ? "deepARG (Arango-Argoty 2018)," : "", !params.arg_skip_abricate ? "ABRicate (Seemann 2020)," : "", + !params.arg_skip_argnorm ? ". The outputs from ARG screening tools were normalized to the antibiotic resistance ontology using argNorm (S. U. Perovic et al. 2024)," : "", ". The output from the antimicrobial resistance gene screening tools were standardised and summarised with hAMRonization (Maguire et al. 2023)." ].join(' ').trim().replaceAll(", +\\.", ".") @@ -280,6 +281,7 @@ def toolBibliographyText() { !params.arg_skip_amrfinderplus ? "
  • Feldgarden, M., Brover, V., Gonzalez-Escalona, N., Frye, J. G., Haendiges, J., Haft, D. H., Hoffmann, M., Pettengill, J. B., Prasad, A. B., Tillman, G. E., Tyson, G. H., & Klimke, W. (2021). AMRFinderPlus and the Reference Gene Catalog facilitate examination of the genomic links among antimicrobial resistance, stress response, and virulence. Scientific reports, 11(1), 12728. DOI: 10.1038/s41598-021-91456-0
  • " : "", !params.arg_skip_deeparg ? "
  • Arango-Argoty, G., Garner, E., Pruden, A., Heath, L. S., Vikesland, P., & Zhang, L. (2018). DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome, 6(1), 23. DOI: 10.1186/s40168-018-0401-z" : "", !params.arg_skip_abricate ? "
  • Seemann, T. (2020). ABRicate. Github https://github.com/tseemann/abricate.
  • " : "", + !params.arg_skip_argnorm ? "
  • Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho. (2024). argNorm. Github .
  • " : "", "
  • Public Health Alliance for Genomic Epidemiology (pha4ge). (2022). Parse multiple Antimicrobial Resistance Analysis Reports into a common data structure. Github. Retrieved October 5, 2022, from https://github.com/pha4ge/hAMRonization
  • " ].join(' ').trim().replaceAll(", +\\.", ".") From 24cb4481e225d059764160472631cd3739ff8df5 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Sat, 20 Jul 2024 17:08:55 +0000 Subject: [PATCH 16/33] [automated] Fix linting with Prettier --- CITATIONS.md | 2 +- nextflow_schema.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATIONS.md b/CITATIONS.md index af3df292..d475550a 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -29,7 +29,7 @@ - [AntiSMASH](https://doi.org/10.1093/nar/gkab335) > Blin, K., Shaw, S., Kloosterman, A. M., Charlop-Powers, Z., van Wezel, G. P., Medema, M. H., & Weber, T. (2021). antiSMASH 6.0: improving cluster detection and comparison capabilities. Nucleic acids research, 49(W1), W29–W35. [DOI: 10.1093/nar/gkab335](https://doi.org/10.1093/nar/gkab335) - + - [argNorm](https://github.com/BigDataBiology/argNorm) > Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho (2024). [DOI:10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) diff --git a/nextflow_schema.json b/nextflow_schema.json index f42f37cd..720feba3 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -1086,7 +1086,7 @@ }, "fa_icon": "fas fa-bacteria", "help_text": "" - }, + }, "arg_argnorm": { "title": "ARG: argNorm", "type": "object", From 4bc6692fa769e8f878f4b0f40f0f66dbc7287318 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Sat, 20 Jul 2024 22:43:48 +0530 Subject: [PATCH 17/33] remove unnecessary whitespaces --- nextflow.config | 2 +- subworkflows/local/arg.nf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nextflow.config b/nextflow.config index 315ae78a..e55fc3ee 100644 --- a/nextflow.config +++ b/nextflow.config @@ -187,7 +187,7 @@ params { arg_abricate_mincov = 80 arg_hamronization_summarizeformat = 'tsv' - + arg_skip_argnorm = false // BGC options diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index 2842d644..e4d9b5e5 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -172,8 +172,8 @@ workflow ARG { ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE.out.tsv ) - if ((params.arg_abricate_db_id == 'ncbi' || - params.arg_abricate_db_id == 'resfinder' || + if ((params.arg_abricate_db_id == 'ncbi' || + params.arg_abricate_db_id == 'resfinder' || params.arg_abricate_db_id == 'argannot' || params.arg_abricate_db_id == 'megares') && !params.arg_skip_argnorm) { ch_input_to_argnorm_abricate = HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()} From 8504e01fab3870feb85a100e14228556e6992c36 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Sun, 21 Jul 2024 12:03:47 +0530 Subject: [PATCH 18/33] Update snapshot for test_preannotated --- tests/test_preannotated.nf.test.snap | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index 284a38e7..34d7ea7d 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -1,13 +1,13 @@ { "hamronization_summarize": { "content": [ - "hamronization_combined_report.tsv:md5,d86ae2e8d42ed6090234b8f5aa7c6a18" + "hamronization_combined_report.tsv:md5,73319083b96e31632253fe9a5c4c1436" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.891751" + "timestamp": "2024-07-21T00:10:18.532355081" }, "deeparg": { "content": [ @@ -92,9 +92,9 @@ "sample_1.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", "sample_2.macrel.smorfs.faa.gz:md5,e055dd2a9e44f3dcaa8af7198600349c", "sample_3.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", - "sample_1.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", - "sample_2.macrel.all_orfs.faa.gz:md5,e75e434a30922d80169d0666fd07e446", - "sample_3.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", + "sample_1.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", + "sample_2.macrel.all_orfs.faa.gz:md5,1545ad5aca0fef9c85d8002131cbabef", + "sample_3.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", "sample_1.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", "sample_2.macrel.prediction.gz:md5,06f7ce99cfe6f364d38743aae094402a", "sample_3.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", @@ -107,9 +107,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.606679" + "timestamp": "2024-07-21T00:10:18.372591929" }, "abricate": { "content": [ From 2d73a412f4afddce68f47d9d57d6cbd4e88bcf74 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 23 Jul 2024 13:24:16 +0530 Subject: [PATCH 19/33] Update base.config to mention requirements correctly for argNorm and update docs to mention argNorm is only available to certain tools --- conf/base.config | 12 +++++++++++- docs/output.md | 10 +++++++--- tests/test_preannotated.nf.test.snap | 6 +++--- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/conf/base.config b/conf/base.config index e0fae3ca..147f0b75 100644 --- a/conf/base.config +++ b/conf/base.config @@ -204,7 +204,17 @@ process { cpus = 1 } - withName: ARGNORM { + withName: ARGNORM_DEEPARG { + memory = { check_max( 4.GB * task.attempt, 'memory' ) } + cpus = 1 + } + + withName: ARGNORM_ABRICATE { + memory = { check_max( 4.GB * task.attempt, 'memory' ) } + cpus = 1 + } + + withName: ARGNORM_AMRFINDERPLUS { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 } diff --git a/docs/output.md b/docs/output.md index 284ccf85..5925bc83 100644 --- a/docs/output.md +++ b/docs/output.md @@ -4,7 +4,7 @@ The output of nf-core/funcscan provides reports for each of the functional groups: -- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and normalized to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) +- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and ABRicate/AMRFinderPlus/DeepARG are normalized to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) - antimicrobial peptides (tools: [Macrel](https://github.com/BigDataBiology/macrel), [AMPlify](https://github.com/bcgsc/AMPlify), [ampir](https://ampir.marine-omics.net), [hmmsearch](http://hmmer.org) – summarised by [AMPcombi](https://github.com/Darcy220606/AMPcombi)) - biosynthetic gene clusters (tools: [antiSMASH](https://docs.antismash.secondarymetabolites.org), [DeepBGC](https://github.com/Merck/deepbgc), [GECCO](https://gecco.embl.de), [hmmsearch](http://hmmer.org) – summarised by [comBGC](#combgc)) @@ -81,7 +81,7 @@ Antimicrobial Resistance Genes (ARGs): - [DeepARG](#deeparg) – antimicrobial resistance gene detection, using a deep learning model. - [fARGene](#fargene) – antimicrobial resistance gene detection, using Hidden Markov Models. - [RGI](#rgi) – antimicrobial resistance gene detection, based on alignment to the CARD database. -- [argNorm](#argNorm) - Normalize ARG annotations to the ARO +- [argNorm](#argNorm) - Normalize ARG annotations from [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg) to the ARO Antimicrobial Peptides (AMPs): @@ -276,7 +276,9 @@ Output Summaries: ### ARG detection tools -[ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg), [fARGene](#fargene), [RGI](#rgi), [argNorm](#argnorm) +[ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg), [fARGene](#fargene), [RGI](#rgi). + +Post processing, normalization and drug categorization with [argNorm](#argnorm) for [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg). #### ABRicate @@ -380,6 +382,8 @@ Output Summaries: [argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing drug categorization of the drugs that antibiotic resistance genes confer resistance to. +argNorm in funcscan is available for [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg) + argNorm takes the output of the [hAMRonization](#hamronization) tool and normalizes ARGs in the hAMRonization output to the ARO. ### BGC detection tools diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index 34d7ea7d..f467e754 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -92,9 +92,9 @@ "sample_1.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", "sample_2.macrel.smorfs.faa.gz:md5,e055dd2a9e44f3dcaa8af7198600349c", "sample_3.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", - "sample_1.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", - "sample_2.macrel.all_orfs.faa.gz:md5,1545ad5aca0fef9c85d8002131cbabef", - "sample_3.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", + "sample_1.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", + "sample_2.macrel.all_orfs.faa.gz:md5,e75e434a30922d80169d0666fd07e446", + "sample_3.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", "sample_1.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", "sample_2.macrel.prediction.gz:md5,06f7ce99cfe6f364d38743aae094402a", "sample_3.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", From f2e4f58d502f34248d799e445950e0cb44f3caa5 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 23 Jul 2024 13:25:55 +0530 Subject: [PATCH 20/33] remove unnecessary whitespaces --- conf/base.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/base.config b/conf/base.config index 147f0b75..a928e380 100644 --- a/conf/base.config +++ b/conf/base.config @@ -208,12 +208,12 @@ process { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 } - + withName: ARGNORM_ABRICATE { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 } - + withName: ARGNORM_AMRFINDERPLUS { memory = { check_max( 4.GB * task.attempt, 'memory' ) } cpus = 1 From 41d51cd5f2876da85ad386d99e1a7a9a2be976de Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 23 Jul 2024 17:41:02 +0530 Subject: [PATCH 21/33] fix spacing and argnorm documentation --- docs/output.md | 56 ++++++++++++++++++--------------------- subworkflows/local/arg.nf | 16 +++++------ 2 files changed, 34 insertions(+), 38 deletions(-) diff --git a/docs/output.md b/docs/output.md index 5925bc83..80a9a0cd 100644 --- a/docs/output.md +++ b/docs/output.md @@ -4,7 +4,7 @@ The output of nf-core/funcscan provides reports for each of the functional groups: -- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and ABRicate/AMRFinderPlus/DeepARG are normalized to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) +- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and ABRicate/AMRFinderPlus/DeepARG are normalised to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) - antimicrobial peptides (tools: [Macrel](https://github.com/BigDataBiology/macrel), [AMPlify](https://github.com/bcgsc/AMPlify), [ampir](https://ampir.marine-omics.net), [hmmsearch](http://hmmer.org) – summarised by [AMPcombi](https://github.com/Darcy220606/AMPcombi)) - biosynthetic gene clusters (tools: [antiSMASH](https://docs.antismash.secondarymetabolites.org), [DeepBGC](https://github.com/Merck/deepbgc), [GECCO](https://gecco.embl.de), [hmmsearch](http://hmmer.org) – summarised by [comBGC](#combgc)) @@ -81,7 +81,6 @@ Antimicrobial Resistance Genes (ARGs): - [DeepARG](#deeparg) – antimicrobial resistance gene detection, using a deep learning model. - [fARGene](#fargene) – antimicrobial resistance gene detection, using Hidden Markov Models. - [RGI](#rgi) – antimicrobial resistance gene detection, based on alignment to the CARD database. -- [argNorm](#argNorm) - Normalize ARG annotations from [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg) to the ARO Antimicrobial Peptides (AMPs): @@ -101,6 +100,7 @@ Output Summaries: - [AMPcombi](#ampcombi) – summary report of antimicrobial peptide gene output from various detection tools. - [hAMRonization](#hamronization) – summary of antimicrobial resistance gene output from various detection tools. +- [argNorm](#argNorm) - Normalize ARG annotations from [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), and [DeepARG](#deeparg) to the ARO - [comBGC](#combgc) – summary of biosynthetic gene cluster output from various detection tools. - [MultiQC](#multiqc) – report of all software and versions used in the pipeline. - [Pipeline information](#pipeline-information) – report metrics generated during the workflow execution. @@ -278,8 +278,6 @@ Output Summaries: [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg), [fARGene](#fargene), [RGI](#rgi). -Post processing, normalization and drug categorization with [argNorm](#argnorm) for [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg). - #### ABRicate
    @@ -361,31 +359,6 @@ Post processing, normalization and drug categorization with [argNorm](#argnorm) [RGI](https://github.com/arpcard/rgi) (**R**esistance **G**ene **I**dentifier) predicts resistome(s) from protein or nucleotide data based on homology and SNP models. It uses reference data from the Comprehensive Antibiotic Resistance Database (CARD). -#### argNorm - -
    -Output files - -- `normalized/` - - `*.{tsv}`: search results in tabular format -
    -
    - ARG summary table headers - -| Table column | Description | -| ---------------------------- | -------------------------------------------------------------------------------- | -| `ARO` | ARO accessions of ARG | -| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | -| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong | - -
    - -[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing drug categorization of the drugs that antibiotic resistance genes confer resistance to. - -argNorm in funcscan is available for [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), [DeepARG](#deeparg) - -argNorm takes the output of the [hAMRonization](#hamronization) tool and normalizes ARGs in the hAMRonization output to the ARO. - ### BGC detection tools [antiSMASH](#antismash), [deepBGC](#deepbgc), [GECCO](#gecco), [hmmsearch](#hmmsearch). @@ -470,7 +443,7 @@ Note that filtered FASTA is only used for BGC workflow for run-time optimisation ### Summary tools -[AMPcombi](#ampcombi), [hAMRonization](#hamronization), [comBGC](#combgc), [MultiQC](#multiqc), [pipeline information](#pipeline-information) +[AMPcombi](#ampcombi), [hAMRonization](#hamronization), [comBGC](#combgc), [MultiQC](#multiqc), [pipeline information](#pipeline-information), [argNorm](#argnorm) #### AMPcombi @@ -595,6 +568,29 @@ Note that filtered FASTA is only used for BGC workflow for run-time optimisation [hAMRonization](https://github.com/pha4ge/hAMRonization) summarizes the outputs of the **antimicrobial resistance gene** detection tools (ABRicate, AMRFinderPlus, DeepARG, fARGene, RGI) into a single unified tabular format. It supports a variety of summary options including an interactive summary. +#### argNorm + +
    +Output files + +- `normalized/` + - `*.{tsv}`: search results in tabular format +
    +
    + ARG summary table headers + +| Table column | Description | +| ---------------------------- | -------------------------------------------------------------------------------- | +| `ARO` | ARO accessions of ARG | +| `confers_resistance_to` | ARO accessions of drugs to which ARGs confer resistance to | +| `resistance_to_drug_classes` | ARO accessions of drugs classes to which drugs in `confers_resistance_to` belong | + +
    + +[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing categorization of the drugs that antibiotic resistance genes confer resistance to. + +argNorm takes the outputs of the [hAMRonization](#hamronization) tool of [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), and [DeepARG](#deeparg) and normalizes ARGs in the hAMRonization output to the ARO. + #### comBGC
    diff --git a/subworkflows/local/arg.nf b/subworkflows/local/arg.nf index e4d9b5e5..85f09fdf 100644 --- a/subworkflows/local/arg.nf +++ b/subworkflows/local/arg.nf @@ -57,9 +57,9 @@ workflow ARG { ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_AMRFINDERPLUS.out.tsv ) if ( !params.arg_skip_argnorm ) { - ch_input_to_argnorm_amrfinderplus = HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{meta, file -> !file.isEmpty()} + ch_input_to_argnorm_amrfinderplus = HAMRONIZATION_AMRFINDERPLUS.out.tsv.filter{ meta, file -> !file.isEmpty() } ARGNORM_AMRFINDERPLUS ( ch_input_to_argnorm_amrfinderplus, 'amrfinderplus', 'ncbi' ) - ch_versions = ch_versions.mix(ARGNORM_AMRFINDERPLUS.out.versions) + ch_versions = ch_versions.mix( ARGNORM_AMRFINDERPLUS.out.versions ) } } @@ -156,9 +156,9 @@ workflow ARG { ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_DEEPARG.out.tsv ) if ( !params.arg_skip_argnorm ) { - ch_input_to_argnorm_deeparg = HAMRONIZATION_DEEPARG.out.tsv.filter{meta, file -> !file.isEmpty()} + ch_input_to_argnorm_deeparg = HAMRONIZATION_DEEPARG.out.tsv.filter{ meta, file -> !file.isEmpty() } ARGNORM_DEEPARG ( ch_input_to_argnorm_deeparg, 'deeparg', 'deeparg' ) - ch_versions = ch_versions.mix(ARGNORM_DEEPARG.out.versions) + ch_versions = ch_versions.mix( ARGNORM_DEEPARG.out.versions ) } } @@ -172,13 +172,13 @@ workflow ARG { ch_versions = ch_versions.mix( HAMRONIZATION_ABRICATE.out.versions ) ch_input_to_hamronization_summarize = ch_input_to_hamronization_summarize.mix( HAMRONIZATION_ABRICATE.out.tsv ) - if ((params.arg_abricate_db_id == 'ncbi' || + if ( ( params.arg_abricate_db_id == 'ncbi' || params.arg_abricate_db_id == 'resfinder' || params.arg_abricate_db_id == 'argannot' || - params.arg_abricate_db_id == 'megares') && !params.arg_skip_argnorm) { - ch_input_to_argnorm_abricate = HAMRONIZATION_ABRICATE.out.tsv.filter{meta, file -> !file.isEmpty()} + params.arg_abricate_db_id == 'megares') && !params.arg_skip_argnorm ) { + ch_input_to_argnorm_abricate = HAMRONIZATION_ABRICATE.out.tsv.filter{ meta, file -> !file.isEmpty() } ARGNORM_ABRICATE ( ch_input_to_argnorm_abricate, 'abricate', params.arg_abricate_db_id ) - ch_versions = ch_versions.mix(ARGNORM_ABRICATE.out.versions) + ch_versions = ch_versions.mix( ARGNORM_ABRICATE.out.versions ) } } From e671c3f43b3ca7c6a8f690b9a45e236ee09c7af2 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Tue, 23 Jul 2024 18:58:09 +0530 Subject: [PATCH 22/33] Fix argNorm citation --- CITATIONS.md | 2 +- subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATIONS.md b/CITATIONS.md index d475550a..d122ab36 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -32,7 +32,7 @@ - [argNorm](https://github.com/BigDataBiology/argNorm) - > Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho (2024). [DOI:10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) + > Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho (2024). BigDataBiology/argNorm: Version 0.5.0 (v0.5.0). GitHub. https://github.com/BigDataBiology/argNorm. Zenodo. [DOI:10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) - [Bakta](https://doi.org/10.1099/mgen.0.000685) diff --git a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf index 4348ee32..0f47b5eb 100644 --- a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf @@ -229,7 +229,7 @@ def toolCitationText() { !params.arg_skip_amrfinderplus ? "AMRfinderplus (Feldgarden et al. 2021)," : "", !params.arg_skip_deeparg ? "deepARG (Arango-Argoty 2018)," : "", !params.arg_skip_abricate ? "ABRicate (Seemann 2020)," : "", - !params.arg_skip_argnorm ? ". The outputs from ARG screening tools were normalized to the antibiotic resistance ontology using argNorm (S. U. Perovic et al. 2024)," : "", + !params.arg_skip_argnorm ? ". The outputs from ARG screening tools were normalized to the antibiotic resistance ontology using argNorm (Perovic et al. 2024)," : "", ". The output from the antimicrobial resistance gene screening tools were standardised and summarised with hAMRonization (Maguire et al. 2023)." ].join(' ').trim().replaceAll(", +\\.", ".") @@ -281,7 +281,7 @@ def toolBibliographyText() { !params.arg_skip_amrfinderplus ? "
  • Feldgarden, M., Brover, V., Gonzalez-Escalona, N., Frye, J. G., Haendiges, J., Haft, D. H., Hoffmann, M., Pettengill, J. B., Prasad, A. B., Tillman, G. E., Tyson, G. H., & Klimke, W. (2021). AMRFinderPlus and the Reference Gene Catalog facilitate examination of the genomic links among antimicrobial resistance, stress response, and virulence. Scientific reports, 11(1), 12728. DOI: 10.1038/s41598-021-91456-0
  • " : "", !params.arg_skip_deeparg ? "
  • Arango-Argoty, G., Garner, E., Pruden, A., Heath, L. S., Vikesland, P., & Zhang, L. (2018). DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome, 6(1), 23. DOI: 10.1186/s40168-018-0401-z" : "", !params.arg_skip_abricate ? "
  • Seemann, T. (2020). ABRicate. Github https://github.com/tseemann/abricate.
  • " : "", - !params.arg_skip_argnorm ? "
  • Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho. (2024). argNorm. Github .
  • " : "", + !params.arg_skip_argnorm ? "
  • Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). argNorm. Github . DOI:.
  • " : "", "
  • Public Health Alliance for Genomic Epidemiology (pha4ge). (2022). Parse multiple Antimicrobial Resistance Analysis Reports into a common data structure. Github. Retrieved October 5, 2022, from https://github.com/pha4ge/hAMRonization
  • " ].join(' ').trim().replaceAll(", +\\.", ".") From 583875d5e852820b6439d54adeb2f9c0e7fef593 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Tue, 23 Jul 2024 16:49:55 +0200 Subject: [PATCH 23/33] Update test snapshot (others incoming later) --- tests/test.nf.test | 4 +-- tests/test.nf.test.snap | 60 ++++++++++++++++++++--------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/tests/test.nf.test b/tests/test.nf.test index df4125f7..c3db6a93 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -96,13 +96,13 @@ nextflow_pipeline { path("$outputDir/arg/fargene/sample_2/class_a/results_summary.txt"), path("$outputDir/arg/fargene/sample_1/class_b_1_2/results_summary.txt"), path("$outputDir/arg/fargene/sample_2/class_b_1_2/results_summary.txt") - ).match("fargene") + ).match("fargene") }, { assert path("$outputDir/arg/fargene/sample_1/fargene_analysis.log").text.contains("fARGene is done.") }, { assert path("$outputDir/arg/fargene/sample_2/fargene_analysis.log").text.contains("fARGene is done.") }, // hAMRonization - { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, + { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") } ) } } diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap index 9762baf5..b8784d4e 100644 --- a/tests/test.nf.test.snap +++ b/tests/test.nf.test.snap @@ -4,10 +4,10 @@ "hamronization_combined_report.tsv:md5,864466b0fb1acfc0e6b3425271f78ecb" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.641163055" + "timestamp": "2024-07-23T15:33:45.641163055" }, "abricate": { "content": [ @@ -15,10 +15,10 @@ "sample_2.txt:md5,69af3321b0bc808b7ef85f102395736f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.590739146" + "timestamp": "2024-07-23T15:33:45.590739146" }, "fargene": { "content": [ @@ -28,10 +28,10 @@ "results_summary.txt:md5,f69af9b0e18a0cfc934eb18b7e4bffe1" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.625398198" + "timestamp": "2024-07-23T15:33:45.625398198" }, "rgi": { "content": [ @@ -39,10 +39,10 @@ "sample_2.txt:md5,fce130af51f93cccfc09ddaf9caf623f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.614473482" + "timestamp": "2024-07-23T15:33:45.614473482" }, "deeparg_tsv_ARG": { "content": [ @@ -52,10 +52,10 @@ "sample_2.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.575881231" + "timestamp": "2024-07-23T15:33:45.575881231" }, "ampir": { "content": [ @@ -65,10 +65,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.512274661" + "timestamp": "2024-07-23T15:33:45.512274661" }, "ampcombi_logfiles": { "content": [ @@ -77,10 +77,10 @@ "Ampcombi_parse_tables.log:md5,cb5dc95f6b64edc2f0eb56bb541660d5" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.560675596" + "timestamp": "2024-07-23T15:33:45.560675596" }, "amplify": { "content": [ @@ -88,10 +88,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.522977776" + "timestamp": "2024-07-23T15:33:45.522977776" }, "macrel": { "content": [ @@ -107,10 +107,10 @@ "sample_2.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.525854315" + "timestamp": "2024-07-23T15:33:45.525854315" }, "amrfinderplus": { "content": [ @@ -118,9 +118,9 @@ "sample_2.tsv:md5,b4d261ace9be7d013c19d1f5c0005bfe" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:01:38.603392278" + "timestamp": "2024-07-23T15:33:45.603392278" } } \ No newline at end of file From f6545ac794083ec3e8dc1935e8aa86bfea64a4e8 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Tue, 23 Jul 2024 23:25:01 +0200 Subject: [PATCH 24/33] Fix full_test assertions [skip ci] --- tests/test_full.nf.test | 114 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/tests/test_full.nf.test b/tests/test_full.nf.test index 01e34007..6cb1439e 100644 --- a/tests/test_full.nf.test +++ b/tests/test_full.nf.test @@ -253,69 +253,69 @@ nextflow_pipeline { // argNorm { assert snapshot ( - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664501.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664503.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664504.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664505.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664506.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664507.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664508.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664509.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664510.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664511.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664515.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664516.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664517.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664518.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664520.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664521.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664523.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664524.normalized.tsv"), - path("$outputDir/arg/hamronization/deeparg/argnorm/ERZ1664528.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/argnorm/deeparg/ERZ1664528.normalized.tsv"), ).match("argnorm_deeparg") }, { assert snapshot ( - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664501.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664503.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664504.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664505.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664506.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664507.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664508.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664509.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664510.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664511.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664515.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664516.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664517.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664518.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664520.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664521.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664523.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664524.normalized.tsv"), - path("$outputDir/arg/hamronization/abricate/argnorm/ERZ1664528.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/argnorm/abricate/ERZ1664528.normalized.tsv"), ).match("argnorm_abricate") }, { assert snapshot ( - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664501.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664503.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664504.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664505.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664506.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664507.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664508.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664509.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664510.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664511.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664515.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664516.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664517.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664518.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664520.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664521.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664523.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664524.normalized.tsv"), - path("$outputDir/arg/hamronization/amrfinderplus/argnorm/ERZ1664528.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664501.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664503.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664504.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664505.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664506.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664507.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664508.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664509.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664510.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664511.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664515.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664516.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664517.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664518.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664520.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664521.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664523.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664524.normalized.tsv"), + path("$outputDir/arg/argnorm/amrfinderplus/ERZ1664528.normalized.tsv"), ).match("argnorm_amrfinderplus") }, // BGC workflow From 7b6ee271b0f99e5eabdc75fea5069dc55277bb15 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Wed, 24 Jul 2024 09:17:34 +0200 Subject: [PATCH 25/33] Full_test snapshot [skip ci] --- tests/test_full.nf.test.snap | 402 +++++++++++++++++++++-------------- 1 file changed, 243 insertions(+), 159 deletions(-) diff --git a/tests/test_full.nf.test.snap b/tests/test_full.nf.test.snap index d0f96abc..5e2899cb 100644 --- a/tests/test_full.nf.test.snap +++ b/tests/test_full.nf.test.snap @@ -1,147 +1,63 @@ { "hamronization_summarize": { "content": [ - "hamronization_combined_report.tsv:md5,5a75323ff27acde627a2c3b6a8dc1539" + "hamronization_combined_report.tsv:md5,82a55c4e9699bb7fb97d672742389813" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.1" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-12T08:17:19.099809903" - }, - "abricate": { - "content": [ - "ERZ1664501.txt:md5,1ace32d2d44194d635db31daa89a6fae", - "ERZ1664503.txt:md5,da890e2cef1b1a34ec035f6198f0a60b", - "ERZ1664504.txt:md5,3db1864a6efe5321379e89dcee34d505", - "ERZ1664505.txt:md5,317354f6091bad44ab5852399d48eb4a", - "ERZ1664506.txt:md5,8fcc568d6a15d1c3ac889169ce884093", - "ERZ1664507.txt:md5,0be8f76b35aca900f8f7fa6d2e7fc1f9", - "ERZ1664508.txt:md5,357da5e192d9a17b501446e181f41942", - "ERZ1664509.txt:md5,c14f4aef2c96e8c4f6688af35fe07a2c", - "ERZ1664510.txt:md5,0d88060e28b267a308271a2a2af38b12", - "ERZ1664511.txt:md5,46adf11d5d3952e3709ba05ec76b5e8a", - "ERZ1664515.txt:md5,4b7a0db47ac6e9baf723e6b2ef31bfc4", - "ERZ1664516.txt:md5,1ccfd94077fe329f7b30351aa846b327", - "ERZ1664517.txt:md5,8137ab84373a5300c9626a9459a2c935", - "ERZ1664518.txt:md5,db514f4bef8de0d4799f478e1807adc6", - "ERZ1664520.txt:md5,a3afa2368c941cdb0c4abd8efa855f0e", - "ERZ1664521.txt:md5,2849a78188c4793d4608ba1775da1d58", - "ERZ1664523.txt:md5,507e1710e7220965010ad8375b4c434a", - "ERZ1664524.txt:md5,b7d380fe3fbcb0fe2ac23823cb6b35e8", - "ERZ1664528.txt:md5,64aff1aaaab8b3d009edd40527446c08" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-02T20:18:29.527514564" - }, - "fargene": { - "content": [ - "results_summary.txt:md5,3061d75086b3d25605eda0ea05e1c927", - "results_summary.txt:md5,ea00de6524c521e06583ee13ffbcf338", - "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", - "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", - "results_summary.txt:md5,cc647b7810c7335edb6aa939f9f0fbde", - "results_summary.txt:md5,fa58a7f510100be20ce22fe3f6b036e3", - "results_summary.txt:md5,33b51ce0c8ba7c65bdb8bfe1480d85cb", - "results_summary.txt:md5,fa58a7f510100be20ce22fe3f6b036e3", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,657d012f697a1a9e3ce7f8a0f675aed0", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", - "results_summary.txt:md5,33b51ce0c8ba7c65bdb8bfe1480d85cb", - "results_summary.txt:md5,54ba6a1a657fea6b78abac50820c2c24", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", - "results_summary.txt:md5,cc647b7810c7335edb6aa939f9f0fbde" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-02T20:18:41.345458618" - }, - "rgi": { - "content": [ - "ERZ1664501.txt:md5,631580295a01dfa9942a84ec6daddb7e", - "ERZ1664503.txt:md5,19b414d2f84d99e7da99558f13ddc3e5", - "ERZ1664504.txt:md5,35cfd6af482966669d98a65b56331a3d", - "ERZ1664505.txt:md5,d9f983090909140617bc784635220c4b", - "ERZ1664506.txt:md5,7a52f37f5672b06b05741ee058391f8f", - "ERZ1664507.txt:md5,721b11a0d9a16cbcbfd9004478b00600", - "ERZ1664508.txt:md5,b216d24eb67e17b00176fd0e9fddee2d", - "ERZ1664509.txt:md5,a83a12f5eee2817adde168ceea2918c5", - "ERZ1664510.txt:md5,648ff158c4eb26a5ea32d784f035919e", - "ERZ1664511.txt:md5,9bae24f90a3ec78bf949a98fdf22a497", - "ERZ1664515.txt:md5,2d0d0b2f048fa6c28840b1b6a2c9454d", - "ERZ1664516.txt:md5,eb69d148d8dad471c8d9a36dd915f4a4", - "ERZ1664517.txt:md5,79b0f80950eb5f0f51542b394a77a173", - "ERZ1664518.txt:md5,887de51b7632b0c635b0fe6deda75266", - "ERZ1664520.txt:md5,3caf2e1b0afcbfb73522bfa1cee1d06e", - "ERZ1664521.txt:md5,19334a653a98bbced73f1f2ec92e4eb8", - "ERZ1664523.txt:md5,0e47ce5c41d4d0d39d270a18ce62773a", - "ERZ1664524.txt:md5,8ca49d7dee9c7de25910de130de93859", - "ERZ1664528.txt:md5,6a10752196f2f33bcee972d15d669803" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-02T20:18:37.337052941" + "timestamp": "2024-07-24T00:54:38.23213575" }, "deeparg": { "content": [ - "ERZ1664501.mapping.ARG:md5,a4641ca28291c73f4ce664af575a4811", - "ERZ1664503.mapping.ARG:md5,c217c176a55170cf7f342dd6b082bec6", + "ERZ1664501.mapping.ARG:md5,d120b17e12f348a3e06c6b3131a98c1c", + "ERZ1664503.mapping.ARG:md5,53dd07b47ce011bd22df3a76c837ffbd", "ERZ1664504.mapping.ARG:md5,2f2a6297dc8752766f65f2b3e966158d", - "ERZ1664505.mapping.ARG:md5,be741b562796026b46f649c8fbe6e73d", - "ERZ1664506.mapping.ARG:md5,17122078c5b1821ea9d841eb1775e987", + "ERZ1664505.mapping.ARG:md5,aa42314a4749dea3d36bbabce8bd7e5a", + "ERZ1664506.mapping.ARG:md5,1871484c933ae1d5235fa36d59b2d328", "ERZ1664507.mapping.ARG:md5,6dbd85abafa0f892c4b557eb8f93b788", - "ERZ1664508.mapping.ARG:md5,9a824269207740c926eb7d1ade69cd89", - "ERZ1664509.mapping.ARG:md5,fa8ffd39d8405bd167bb1676b5a29db7", + "ERZ1664508.mapping.ARG:md5,54342268135802d8a68614141ea4d4f7", + "ERZ1664509.mapping.ARG:md5,ec6ebc4e4f84dc7373f51df63536a7a5", "ERZ1664510.mapping.ARG:md5,16f2e41c2378645dbbdf9867f9000acf", - "ERZ1664511.mapping.ARG:md5,7f2bd09ed161162a82c3c10c06bf1ee8", + "ERZ1664511.mapping.ARG:md5,b489dbfc72ca7ee37aecbb079d8c9241", "ERZ1664515.mapping.ARG:md5,a4bb295a414b9a26c4e2d032bb25624f", "ERZ1664516.mapping.ARG:md5,e3ec14da3e206782e1151593d801015d", "ERZ1664517.mapping.ARG:md5,9f22fec9df39231f0a52865ca9245451", "ERZ1664518.mapping.ARG:md5,821fd592c54795e2666277e3a2c84169", - "ERZ1664520.mapping.ARG:md5,24942a7fadad6af031c116e8f9ea848e", - "ERZ1664521.mapping.ARG:md5,d61ee33f0395ab5dbb6b65f816186d77", + "ERZ1664520.mapping.ARG:md5,6990cc2d982ee428f42c0109e2ba0bff", + "ERZ1664521.mapping.ARG:md5,988d0eb6173e50ea4826ed24691d3faa", "ERZ1664523.mapping.ARG:md5,2ba512cfd091a9ab18825cd4d9560a83", - "ERZ1664524.mapping.ARG:md5,d3fd9b70a667f37478c901c4ec5c69be", - "ERZ1664528.mapping.ARG:md5,1da3f34f173fabe34ff5bc122d9ec7e8" + "ERZ1664524.mapping.ARG:md5,d025525beba8bdd2f66f4506d584cc14", + "ERZ1664528.mapping.ARG:md5,fc7a147f7741d85489002c5f305971a1" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-02T20:18:25.679296582" + "timestamp": "2024-07-24T00:54:22.000195146" }, "ampir": { "content": [ - "ERZ1664501.ampir.tsv:md5,ef78b10c6f4c6a555eb9ef8d93291aad", - "ERZ1664503.ampir.tsv:md5,7354b3c583443d9d3cab33ce3cb6327e", - "ERZ1664504.ampir.tsv:md5,506a55b7dc97b33b5533febabde8b0cf", - "ERZ1664505.ampir.tsv:md5,27f72ca9213aac5b0d857df638db692b", - "ERZ1664506.ampir.tsv:md5,1c5df79369a889b136cdef0e89f3f120", - "ERZ1664507.ampir.tsv:md5,a44751ce33a3384583dd43795d729245", - "ERZ1664508.ampir.tsv:md5,a9267c72360b01116bc61ab360f01ab4", - "ERZ1664509.ampir.tsv:md5,c0d8115529d6d8ee4989bd1e9dfe5766", - "ERZ1664510.ampir.tsv:md5,2a6d6563be682769a83208fe025ed946", - "ERZ1664511.ampir.tsv:md5,b96317516b603ea796d58366693e6b96", - "ERZ1664515.ampir.tsv:md5,9fbeb531294e951336e4c91257d44e30", - "ERZ1664516.ampir.tsv:md5,44dcbd1371c1fcfe0e98e756d6a74996", - "ERZ1664517.ampir.tsv:md5,35a42d7aabc1edef65a0c0f2129530bc", - "ERZ1664518.ampir.tsv:md5,c7c9157000642e158b6746c719d65a85", - "ERZ1664520.ampir.tsv:md5,62f2e109031048fc593aa525405a19b4", - "ERZ1664521.ampir.tsv:md5,91bebaf23d2a63192359178af8ae1d42", - "ERZ1664523.ampir.tsv:md5,1e01f9649dc2e9bebd8ce635e051e3df", - "ERZ1664524.ampir.tsv:md5,8ea8ca6483c416695ad2307e7a939f8d", - "ERZ1664528.ampir.tsv:md5,a239169a2cd41265693442694bb5e329", + "ERZ1664501.ampir.tsv:md5,c5cd2500f52317b24aac1196dc64adad", + "ERZ1664503.ampir.tsv:md5,f644d4340beb83a16ae9bc010dd48cee", + "ERZ1664504.ampir.tsv:md5,69664970cb99371d8be354b21eebc0df", + "ERZ1664505.ampir.tsv:md5,c4b57cfea1af7197e9bd2cf8378d098a", + "ERZ1664506.ampir.tsv:md5,9eddfca6ff0fe1989e316f543b88eca7", + "ERZ1664507.ampir.tsv:md5,846a9afa426082044aac0188ae882aa0", + "ERZ1664508.ampir.tsv:md5,740ea41ca7c72598ce7d6afb0aaf9613", + "ERZ1664509.ampir.tsv:md5,6821002c6c9f7dc021d998a8d418e211", + "ERZ1664510.ampir.tsv:md5,54d2fd1029227d8534e61988d4d99f7e", + "ERZ1664511.ampir.tsv:md5,553bd20088cfdd666b34b74044a24424", + "ERZ1664515.ampir.tsv:md5,fe7e186d1e6aa5e64ff5206d413db815", + "ERZ1664516.ampir.tsv:md5,89aac82302df3ff46a6b125398391650", + "ERZ1664517.ampir.tsv:md5,8de33575e894545d37968ae3cfc87f72", + "ERZ1664518.ampir.tsv:md5,464dabb48ef58da4bc8359e1dc47ee8f", + "ERZ1664520.ampir.tsv:md5,44ccd85368921ffb50db035b2bbb571e", + "ERZ1664521.ampir.tsv:md5,00adfebd002be166f8594d5643362bcf", + "ERZ1664523.ampir.tsv:md5,1c278369c49e99253fdbc6d21b7f851e", + "ERZ1664524.ampir.tsv:md5,673638a06306d6c22e1668a5820e38cc", + "ERZ1664528.ampir.tsv:md5,639ca9073d9a817a3be224203e09fe47", "ERZ1664501.ampir.faa:md5,88d04f76764566e029f1a0eb7481bd50", "ERZ1664503.ampir.faa:md5,754b00982b99d20d24ddd2c39e3db060", "ERZ1664504.ampir.faa:md5,c6e84c9ee141c097decb89def230a70b", @@ -164,36 +80,92 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:11.315500114" + }, + "argnorm_amrfinderplus": { + "content": [ + "ERZ1664501.normalized.tsv:md5,e5ba7dd3826b1aee7cac90696ba2796d", + "ERZ1664503.normalized.tsv:md5,ef01c4d87ee2e9dbf72d6835d2feff28", + "ERZ1664504.normalized.tsv:md5,bf9b48377637a1251e0e26bf07e789e6", + "ERZ1664505.normalized.tsv:md5,df927003750df1df3f1114dd348c5e96", + "ERZ1664506.normalized.tsv:md5,732b93972f54066050f5492840da48f9", + "ERZ1664507.normalized.tsv:md5,6aa6f5fc75c435664d725bc0ecd102bd", + "ERZ1664508.normalized.tsv:md5,5a87f1180cf1debfd3d8cf9f808857c7", + "ERZ1664509.normalized.tsv:md5,331498dc38133d6336e457b56a3cee58", + "ERZ1664510.normalized.tsv:md5,1c773ae48cd58f45b53af35fce7458df", + "ERZ1664511.normalized.tsv:md5,325ceb08275edcce6a3b24d1edd29453", + "ERZ1664515.normalized.tsv:md5,7476f361e2a753aa22cca0fc4c837def", + "ERZ1664516.normalized.tsv:md5,9a93c4664d23a9a1bbba177b82b106c1", + "ERZ1664517.normalized.tsv:md5,a29b092b7aaf90c342698d8ed7f86b13", + "ERZ1664518.normalized.tsv:md5,decbeba1809aa905873892e4c0c7032c", + "ERZ1664520.normalized.tsv:md5,7f0b98078e19fcf4b8f2b446ec00eff3", + "ERZ1664521.normalized.tsv:md5,725d5aa30f6de86595a4fcaa06d38b2a", + "ERZ1664523.normalized.tsv:md5,bcbe12f015733dac4fc6f0c1e73117df", + "ERZ1664524.normalized.tsv:md5,28c96b6c2d92e89197430b539c4eb388", + "ERZ1664528.normalized.tsv:md5,f9241bd6b04d4e79b09ef67d97243b43" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:48.401991887" + }, + "argnorm_abricate": { + "content": [ + "ERZ1664501.normalized.tsv:md5,618aa19dcaed5d3a5909cb84393d90cb", + "ERZ1664503.normalized.tsv:md5,f2ee4aeafc929e3893677c271b3a04d4", + "ERZ1664504.normalized.tsv:md5,88b9a76d726402b95b2cd348459f0666", + "ERZ1664505.normalized.tsv:md5,817218f39d51d6f327623b26512e2e2d", + "ERZ1664506.normalized.tsv:md5,66806a70c95b2186f085f27661639738", + "ERZ1664507.normalized.tsv:md5,47e109f815e4b8e8d28aaeb75e4947b7", + "ERZ1664508.normalized.tsv:md5,60990fe382f0b43a288a8f66bcbde19f", + "ERZ1664509.normalized.tsv:md5,9710235350f4ff66c06b4abb78c23f80", + "ERZ1664510.normalized.tsv:md5,520f6eff7afdc9c52b9a1a8bb363fe85", + "ERZ1664511.normalized.tsv:md5,893ce88576218cd6acb246046eadb1af", + "ERZ1664515.normalized.tsv:md5,f88c35c590379f3a8a62664679d7404b", + "ERZ1664516.normalized.tsv:md5,b0499afcad11e34f3224e58431fd1aff", + "ERZ1664517.normalized.tsv:md5,79d79caa0a5a87a8dfb48eb67e4bf3f1", + "ERZ1664518.normalized.tsv:md5,8cee92e968b380c2c1ab6b5707608092", + "ERZ1664520.normalized.tsv:md5,4ba7e4daeeaf7f5d064131a742225152", + "ERZ1664521.normalized.tsv:md5,b724f087cc957400a5ff404a11535e29", + "ERZ1664523.normalized.tsv:md5,6cbe41ccfb7660e70aec3b711a33e18d", + "ERZ1664524.normalized.tsv:md5,658d14b9cfd773bc0ada2da2f44252cd", + "ERZ1664528.normalized.tsv:md5,a3db7b884b5fe91a59cf55c332fd0337" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-02T20:18:12.786462549" + "timestamp": "2024-07-24T00:54:44.957353948" }, "gecco": { "content": [ - "ERZ1664504.220-NODE-220-length-4587-cov-2.552957_cluster_1.gbk:md5,69eeb368a6f89a268d069fa07ecee1d6", - "ERZ1664504.48-NODE-48-length-9582-cov-5.239425_cluster_1.gbk:md5,357eb07ba90c9bcdc9cedef796bcfca0", - "ERZ1664506.42-NODE-42-length-11967-cov-6.006380_cluster_1.gbk:md5,0a260a4ba3de321dd3c700019bbcdedc", - "ERZ1664508.3061-NODE-3061-length-1263-cov-3.647351_cluster_1.gbk:md5,ad50f411e0e6b53a4326d0383f8b22c2", - "ERZ1664510.123-NODE-123-length-8863-cov-8.649410_cluster_1.gbk:md5,c9692f950285789af64fa69fb871841f", - "ERZ1664510.210-NODE-210-length-5173-cov-7.860688_cluster_1.gbk:md5,5fa9a892c2f8f6473317cbfe801e7e95", - "ERZ1664511.16-NODE-16-length-49668-cov-9.810473_cluster_1.gbk:md5,ac5f4682cfe60b4038aa39f5f42a117b", - "ERZ1664515.9-NODE-9-length-49063-cov-10.926196_cluster_1.gbk:md5,96752064bd4b32f741ae7b5d00c4f37c", - "ERZ1664516.158-NODE-158-length-6232-cov-9.863850_cluster_1.gbk:md5,7f58f99bf974d10efa760048552fe2e5", - "ERZ1664517.38-NODE-38-length-19981-cov-8.613771_cluster_1.gbk:md5,c876ab59dd943efd8e7838f9b1f665e6", - "ERZ1664518.217-NODE-217-length-4457-cov-6.415947_cluster_1.gbk:md5,f01dee924cd2dc677d494d0d4db07f8a", - "ERZ1664521.1871-NODE-1871-length-1473-cov-1.858251_cluster_1.gbk:md5,041c705e5ad5d4a6168b3d71fb157667", - "ERZ1664521.895-NODE-895-length-1964-cov-2.221058_cluster_1.gbk:md5,e08f19ed77e3ec2ad9b941b5a03ffb82", - "ERZ1664523.16-NODE-16-length-15072-cov-6.654591_cluster_1.gbk:md5,a99d1cc8d565ff2fb478363e1d830511", - "ERZ1664524.1150-NODE-1150-length-2386-cov-3.450879_cluster_1.gbk:md5,4b9b9b88b428357d510e652a47de957b", - "ERZ1664524.54-NODE-54-length-9607-cov-5.345582_cluster_1.gbk:md5,ec9f06b06ea5921e2e1c37acd9f6260b", - "ERZ1664528.138-NODE-138-length-5805-cov-4.599304_cluster_1.gbk:md5,2fb5b5e4f7042e66ce04d077386c790f", - "ERZ1664528.1641-NODE-1641-length-2049-cov-4.697091_cluster_1.gbk:md5,cbf89f809d489e3a0c8a9c2576b2cd47" + "ERZ1664504.220-NODE-220-length-4587-cov-2.552957_cluster_1.gbk:md5,f806ad3df5d8d6d10b0996afaf288ba1", + "ERZ1664504.48-NODE-48-length-9582-cov-5.239425_cluster_1.gbk:md5,1909c78bc2f919ad28e7b80d843d31c5", + "ERZ1664506.42-NODE-42-length-11967-cov-6.006380_cluster_1.gbk:md5,6284adbf1446fcb4055a2a1a3b8d5daf", + "ERZ1664508.3061-NODE-3061-length-1263-cov-3.647351_cluster_1.gbk:md5,a5489abcf3572e84aaadddfaba169df2", + "ERZ1664510.123-NODE-123-length-8863-cov-8.649410_cluster_1.gbk:md5,a1c8c9d3b78859f8c0cfd6dfc58d4461", + "ERZ1664510.210-NODE-210-length-5173-cov-7.860688_cluster_1.gbk:md5,80c3d7bea1402ce04a531cebc040cdc2", + "ERZ1664511.16-NODE-16-length-49668-cov-9.810473_cluster_1.gbk:md5,9fdf8845bb6e7bccce086209254c80e6", + "ERZ1664515.9-NODE-9-length-49063-cov-10.926196_cluster_1.gbk:md5,0e03886155dd02c9f031ff767d42ef56", + "ERZ1664516.158-NODE-158-length-6232-cov-9.863850_cluster_1.gbk:md5,30e583235f44a0b83f5b190ed5ac0f20", + "ERZ1664517.38-NODE-38-length-19981-cov-8.613771_cluster_1.gbk:md5,bdcaa50dc14c58c671ce6e9a006c5ed0", + "ERZ1664518.217-NODE-217-length-4457-cov-6.415947_cluster_1.gbk:md5,dac8e33a9203e26eac76c3c02fcacc85", + "ERZ1664521.1871-NODE-1871-length-1473-cov-1.858251_cluster_1.gbk:md5,79f4f46c6d617f00128c9dd6871566f9", + "ERZ1664521.895-NODE-895-length-1964-cov-2.221058_cluster_1.gbk:md5,0fdd9dca805af50828dafe406aa8606d", + "ERZ1664523.16-NODE-16-length-15072-cov-6.654591_cluster_1.gbk:md5,72e21b8ad729f0c49c97c895a42c3cc7", + "ERZ1664524.1150-NODE-1150-length-2386-cov-3.450879_cluster_1.gbk:md5,d20be4ec979df18abea8d6273ba66025", + "ERZ1664524.54-NODE-54-length-9607-cov-5.345582_cluster_1.gbk:md5,1218bb916133dccde2e6337be87f6cce", + "ERZ1664528.138-NODE-138-length-5805-cov-4.599304_cluster_1.gbk:md5,8de600165f90291999bfc9d7047bf838", + "ERZ1664528.1641-NODE-1641-length-2049-cov-4.697091_cluster_1.gbk:md5,b86b34eac746aa4e128526b3458887ac" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.1" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-12T08:17:29.27350638" + "timestamp": "2024-07-24T00:55:03.428411261" }, "antismash": { "content": [ @@ -219,37 +191,149 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-02T20:18:53.947865807" + "timestamp": "2024-07-24T00:54:59.889179408" + }, + "argnorm_deeparg": { + "content": [ + "ERZ1664501.normalized.tsv:md5,9b5e6ed2b401e04d2b1217e04dfc9eac", + "ERZ1664503.normalized.tsv:md5,51cbe8f9f6a7d986b020f44ac2f9eb07", + "ERZ1664504.normalized.tsv:md5,e9a396c3301588ceae843e60e4dbd60f", + "ERZ1664505.normalized.tsv:md5,fb2662f9f2f0179e5d5fe85b83d86051", + "ERZ1664506.normalized.tsv:md5,45d6cae38adbe0134f8390f66c0b788c", + "ERZ1664507.normalized.tsv:md5,19e545c04f0f3304499baefdcb8ff998", + "ERZ1664508.normalized.tsv:md5,11c852b8d65e85d0e7d85904dbb3ea0a", + "ERZ1664509.normalized.tsv:md5,09da6cea30007c21dcbe3e4dd555082f", + "ERZ1664510.normalized.tsv:md5,8dbc280dbee4028920f003ec3e0fff72", + "ERZ1664511.normalized.tsv:md5,236759216c2583778a7861d79324cf11", + "ERZ1664515.normalized.tsv:md5,1250b63151b5b45d402c55a55f07696a", + "ERZ1664516.normalized.tsv:md5,d3807e4fd62d35aac6eb0e03500ebbdc", + "ERZ1664517.normalized.tsv:md5,fc35af88f64e01ac5b811e8a366e933b", + "ERZ1664518.normalized.tsv:md5,4803c3f0ed8fa1d1dde7d02fed064a6a", + "ERZ1664520.normalized.tsv:md5,aa897ab8540391a484d6c9d1fa8825fd", + "ERZ1664521.normalized.tsv:md5,7731d0997da1801863aa4b9c2231a87a", + "ERZ1664523.normalized.tsv:md5,f80e86302958d41163e08c8c0109280c", + "ERZ1664524.normalized.tsv:md5,c3701f0136ed40d4301b46259d79a151", + "ERZ1664528.normalized.tsv:md5,2fdb5e4fc1f7840586a451c088c779ec" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:41.54962868" }, "macrel": { "content": [ - "ERZ1664501.macrel.prediction.gz:md5,a553cb5d0745a01816c7b9c75822df29", - "ERZ1664503.macrel.prediction.gz:md5,3ca2cd9a6d999725b4a487c13ddb7fd9", + "ERZ1664501.macrel.prediction.gz:md5,20dc3b7d8b42111f56d47cfbf02a61b0", + "ERZ1664503.macrel.prediction.gz:md5,f9604770f6f0c0dd0d673f2d9a54dc45", "ERZ1664504.macrel.prediction.gz:md5,52e9c1ec54f486765dea07d97b1c97b7", - "ERZ1664505.macrel.prediction.gz:md5,94fa17cce88549aab16555ee598c02bb", + "ERZ1664505.macrel.prediction.gz:md5,a3551632e05fa673bd75b3d8663e6d05", "ERZ1664506.macrel.prediction.gz:md5,732be08d0236cf63641ef445a02cf1ee", - "ERZ1664507.macrel.prediction.gz:md5,eab2d426cf31a47597e61ddb25bf3d49", - "ERZ1664508.macrel.prediction.gz:md5,a0e40483e0136c3bb4abea9c9cba7d4b", - "ERZ1664509.macrel.prediction.gz:md5,47ca65c261cf402b390f6951bb1ed9dc", - "ERZ1664510.macrel.prediction.gz:md5,3e6ca785e579757616fe515efef1537e", + "ERZ1664507.macrel.prediction.gz:md5,841629223f30496a8875eac29e8ead51", + "ERZ1664508.macrel.prediction.gz:md5,5a930e35dedf92cf4f6081932f90740d", + "ERZ1664509.macrel.prediction.gz:md5,9b152a80d45039a8c20033cf3af11798", + "ERZ1664510.macrel.prediction.gz:md5,aaf48021a9ddeba74a7aa1df3004ecff", "ERZ1664511.macrel.prediction.gz:md5,df36fa0448591690fc6b7ded2517256e", "ERZ1664515.macrel.prediction.gz:md5,b896ac50f6ebec1e725cff67bdff8fed", - "ERZ1664516.macrel.prediction.gz:md5,5dcbc87c6a44e8783dfe48b6385dfca8", + "ERZ1664516.macrel.prediction.gz:md5,d5edd36c57eedd86086d9a1263d064dd", "ERZ1664517.macrel.prediction.gz:md5,02373e1b4383dc7501e7e142c9443b7a", - "ERZ1664518.macrel.prediction.gz:md5,7290477960af29a76563e8ded5d4a623", - "ERZ1664520.macrel.prediction.gz:md5,bdf1a379ee49e34b9a448762e5301926", - "ERZ1664521.macrel.prediction.gz:md5,91bd81f6c4e5c8ff4cc684ec04fa0a30", + "ERZ1664518.macrel.prediction.gz:md5,f1fcc0ba109a9b6ac28704ac3954d6d2", + "ERZ1664520.macrel.prediction.gz:md5,850056f716a79694938c0c7a2ebee29b", + "ERZ1664521.macrel.prediction.gz:md5,a07785c30e377e1becc87281afa9fac4", "ERZ1664523.macrel.prediction.gz:md5,cee5ae9ba4a8a3879ab245b767815394", - "ERZ1664524.macrel.prediction.gz:md5,73f21254f4e4056a71ebf43851af3698", + "ERZ1664524.macrel.prediction.gz:md5,e470e0fe492ffbb93da822d167216deb", "ERZ1664528.macrel.prediction.gz:md5,2e957f217c570a58ee61d97c690c1424" ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.1" + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:18.821987885" + }, + "abricate": { + "content": [ + "ERZ1664501.txt:md5,1ace32d2d44194d635db31daa89a6fae", + "ERZ1664503.txt:md5,da890e2cef1b1a34ec035f6198f0a60b", + "ERZ1664504.txt:md5,3db1864a6efe5321379e89dcee34d505", + "ERZ1664505.txt:md5,317354f6091bad44ab5852399d48eb4a", + "ERZ1664506.txt:md5,8fcc568d6a15d1c3ac889169ce884093", + "ERZ1664507.txt:md5,0be8f76b35aca900f8f7fa6d2e7fc1f9", + "ERZ1664508.txt:md5,357da5e192d9a17b501446e181f41942", + "ERZ1664509.txt:md5,c14f4aef2c96e8c4f6688af35fe07a2c", + "ERZ1664510.txt:md5,0d88060e28b267a308271a2a2af38b12", + "ERZ1664511.txt:md5,46adf11d5d3952e3709ba05ec76b5e8a", + "ERZ1664515.txt:md5,4b7a0db47ac6e9baf723e6b2ef31bfc4", + "ERZ1664516.txt:md5,1ccfd94077fe329f7b30351aa846b327", + "ERZ1664517.txt:md5,8137ab84373a5300c9626a9459a2c935", + "ERZ1664518.txt:md5,db514f4bef8de0d4799f478e1807adc6", + "ERZ1664520.txt:md5,a3afa2368c941cdb0c4abd8efa855f0e", + "ERZ1664521.txt:md5,2849a78188c4793d4608ba1775da1d58", + "ERZ1664523.txt:md5,507e1710e7220965010ad8375b4c434a", + "ERZ1664524.txt:md5,b7d380fe3fbcb0fe2ac23823cb6b35e8", + "ERZ1664528.txt:md5,64aff1aaaab8b3d009edd40527446c08" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:25.215727223" + }, + "fargene": { + "content": [ + "results_summary.txt:md5,3061d75086b3d25605eda0ea05e1c927", + "results_summary.txt:md5,ea00de6524c521e06583ee13ffbcf338", + "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", + "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", + "results_summary.txt:md5,cc647b7810c7335edb6aa939f9f0fbde", + "results_summary.txt:md5,fa58a7f510100be20ce22fe3f6b036e3", + "results_summary.txt:md5,33b51ce0c8ba7c65bdb8bfe1480d85cb", + "results_summary.txt:md5,fa58a7f510100be20ce22fe3f6b036e3", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,657d012f697a1a9e3ce7f8a0f675aed0", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,c5a6205a249cb6112b6235bbab51c60d", + "results_summary.txt:md5,33b51ce0c8ba7c65bdb8bfe1480d85cb", + "results_summary.txt:md5,54ba6a1a657fea6b78abac50820c2c24", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,f3f36761cda3fbb23e0250f9b0b6657a", + "results_summary.txt:md5,cc647b7810c7335edb6aa939f9f0fbde" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T00:54:34.896363945" + }, + "rgi": { + "content": [ + "ERZ1664501.txt:md5,631580295a01dfa9942a84ec6daddb7e", + "ERZ1664503.txt:md5,19b414d2f84d99e7da99558f13ddc3e5", + "ERZ1664504.txt:md5,35cfd6af482966669d98a65b56331a3d", + "ERZ1664505.txt:md5,d9f983090909140617bc784635220c4b", + "ERZ1664506.txt:md5,7a52f37f5672b06b05741ee058391f8f", + "ERZ1664507.txt:md5,721b11a0d9a16cbcbfd9004478b00600", + "ERZ1664508.txt:md5,b216d24eb67e17b00176fd0e9fddee2d", + "ERZ1664509.txt:md5,a83a12f5eee2817adde168ceea2918c5", + "ERZ1664510.txt:md5,648ff158c4eb26a5ea32d784f035919e", + "ERZ1664511.txt:md5,9bae24f90a3ec78bf949a98fdf22a497", + "ERZ1664515.txt:md5,2d0d0b2f048fa6c28840b1b6a2c9454d", + "ERZ1664516.txt:md5,eb69d148d8dad471c8d9a36dd915f4a4", + "ERZ1664517.txt:md5,79b0f80950eb5f0f51542b394a77a173", + "ERZ1664518.txt:md5,887de51b7632b0c635b0fe6deda75266", + "ERZ1664520.txt:md5,3caf2e1b0afcbfb73522bfa1cee1d06e", + "ERZ1664521.txt:md5,19334a653a98bbced73f1f2ec92e4eb8", + "ERZ1664523.txt:md5,0e47ce5c41d4d0d39d270a18ce62773a", + "ERZ1664524.txt:md5,8ca49d7dee9c7de25910de130de93859", + "ERZ1664528.txt:md5,6a10752196f2f33bcee972d15d669803" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-12T08:17:17.980360618" + "timestamp": "2024-07-24T00:54:31.62460906" }, "amrfinderplus": { "content": [ @@ -275,8 +359,8 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-02T20:18:33.421040838" + "timestamp": "2024-07-24T00:54:28.386682111" } } \ No newline at end of file From b26255176aebf9b7306bb28412ae18343527efa0 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Wed, 24 Jul 2024 12:29:06 +0200 Subject: [PATCH 26/33] Apply suggestions from code review Final typo fixes --- docs/output.md | 2 +- subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/output.md b/docs/output.md index 80a9a0cd..6162698b 100644 --- a/docs/output.md +++ b/docs/output.md @@ -443,7 +443,7 @@ Note that filtered FASTA is only used for BGC workflow for run-time optimisation ### Summary tools -[AMPcombi](#ampcombi), [hAMRonization](#hamronization), [comBGC](#combgc), [MultiQC](#multiqc), [pipeline information](#pipeline-information), [argNorm](#argnorm) +[AMPcombi](#ampcombi), [hAMRonization](#hamronization), [comBGC](#combgc), [MultiQC](#multiqc), [pipeline information](#pipeline-information), [argNorm](#argnorm). #### AMPcombi diff --git a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf index 0f47b5eb..b056b626 100644 --- a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf @@ -281,7 +281,7 @@ def toolBibliographyText() { !params.arg_skip_amrfinderplus ? "
  • Feldgarden, M., Brover, V., Gonzalez-Escalona, N., Frye, J. G., Haendiges, J., Haft, D. H., Hoffmann, M., Pettengill, J. B., Prasad, A. B., Tillman, G. E., Tyson, G. H., & Klimke, W. (2021). AMRFinderPlus and the Reference Gene Catalog facilitate examination of the genomic links among antimicrobial resistance, stress response, and virulence. Scientific reports, 11(1), 12728. DOI: 10.1038/s41598-021-91456-0
  • " : "", !params.arg_skip_deeparg ? "
  • Arango-Argoty, G., Garner, E., Pruden, A., Heath, L. S., Vikesland, P., & Zhang, L. (2018). DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome, 6(1), 23. DOI: 10.1186/s40168-018-0401-z" : "", !params.arg_skip_abricate ? "
  • Seemann, T. (2020). ABRicate. Github https://github.com/tseemann/abricate.
  • " : "", - !params.arg_skip_argnorm ? "
  • Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). argNorm. Github . DOI:.
  • " : "", + !params.arg_skip_argnorm ? "
  • Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). argNorm. Github . DOI:.
  • " : "", "
  • Public Health Alliance for Genomic Epidemiology (pha4ge). (2022). Parse multiple Antimicrobial Resistance Analysis Reports into a common data structure. Github. Retrieved October 5, 2022, from https://github.com/pha4ge/hAMRonization
  • " ].join(' ').trim().replaceAll(", +\\.", ".") From 91381ceb22c982830c528effa516fc5c1771f0a7 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Wed, 24 Jul 2024 13:02:12 +0200 Subject: [PATCH 27/33] Updating nf-test files + snapshots (non-taxonomy) --- tests/test_bakta.nf.test | 2 +- tests/test_bakta.nf.test.snap | 40 +++++----- tests/test_bgc_bakta.nf.test.snap | 18 ++--- tests/test_bgc_prokka.nf.test.snap | 20 ++--- tests/test_bgc_pyrodigal.nf.test.snap | 18 ++--- tests/test_preannotated.nf.test | 28 +++---- tests/test_preannotated.nf.test.snap | 94 ++++++------------------ tests/test_preannotated_bgc.nf.test.snap | 18 ++--- tests/test_prokka.nf.test.snap | 60 +++++++-------- 9 files changed, 123 insertions(+), 175 deletions(-) diff --git a/tests/test_bakta.nf.test b/tests/test_bakta.nf.test index 36ca12be..b1913b04 100644 --- a/tests/test_bakta.nf.test +++ b/tests/test_bakta.nf.test @@ -96,7 +96,7 @@ nextflow_pipeline { path("$outputDir/arg/fargene/sample_2/class_a/results_summary.txt"), path("$outputDir/arg/fargene/sample_1/class_b_1_2/results_summary.txt"), path("$outputDir/arg/fargene/sample_2/class_b_1_2/results_summary.txt") - ).match("fargene") + ).match("fargene") }, { assert path("$outputDir/arg/fargene/sample_1/fargene_analysis.log").text.contains("fARGene is done.") }, { assert path("$outputDir/arg/fargene/sample_2/fargene_analysis.log").text.contains("fARGene is done.") }, diff --git a/tests/test_bakta.nf.test.snap b/tests/test_bakta.nf.test.snap index 0c167dde..ff73f307 100644 --- a/tests/test_bakta.nf.test.snap +++ b/tests/test_bakta.nf.test.snap @@ -5,9 +5,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.320498194" + "timestamp": "2024-07-23T16:51:37.320498194" }, "abricate": { "content": [ @@ -16,9 +16,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.261118633" + "timestamp": "2024-07-23T16:51:37.261118633" }, "fargene": { "content": [ @@ -29,9 +29,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.30812705" + "timestamp": "2024-07-23T16:51:37.30812705" }, "rgi": { "content": [ @@ -40,9 +40,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.292595392" + "timestamp": "2024-07-23T16:51:37.292595392" }, "deeparg_tsv_ARG": { "content": [ @@ -53,9 +53,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.245901486" + "timestamp": "2024-07-23T16:51:37.245901486" }, "ampir": { "content": [ @@ -66,9 +66,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.19218768" + "timestamp": "2024-07-23T16:51:37.19218768" }, "ampcombi_logfiles": { "content": [ @@ -78,9 +78,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.230099612" + "timestamp": "2024-07-23T16:51:37.230099612" }, "amplify": { "content": [ @@ -89,9 +89,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.204985783" + "timestamp": "2024-07-23T16:51:37.204985783" }, "macrel": { "content": [ @@ -108,9 +108,9 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.208256804" + "timestamp": "2024-07-23T16:51:37.208256804" }, "amrfinderplus": { "content": [ @@ -119,8 +119,8 @@ ], "meta": { "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:10:03.276435739" + "timestamp": "2024-07-23T16:51:37.276435739" } } \ No newline at end of file diff --git a/tests/test_bgc_bakta.nf.test.snap b/tests/test_bgc_bakta.nf.test.snap index e1856206..9bae9f24 100644 --- a/tests/test_bgc_bakta.nf.test.snap +++ b/tests/test_bgc_bakta.nf.test.snap @@ -6,20 +6,20 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:30:18.349501125" + "timestamp": "2024-07-24T10:32:18.349501125" }, "deepbgc_bgc_gbk": { "content": [ "sample_2.bgc.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:30:18.378687548" + "timestamp": "2024-07-24T10:32:18.378687548" }, "gecco": { "content": [ @@ -27,9 +27,9 @@ "sample_2.features.tsv:md5,2ef146213836ca80d3079776f17c7cb2" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:30:18.404694725" + "timestamp": "2024-07-24T10:32:18.404694725" } } \ No newline at end of file diff --git a/tests/test_bgc_prokka.nf.test.snap b/tests/test_bgc_prokka.nf.test.snap index 8f7ceed5..4894afa1 100644 --- a/tests/test_bgc_prokka.nf.test.snap +++ b/tests/test_bgc_prokka.nf.test.snap @@ -6,20 +6,20 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:06:37.879464917" + "timestamp": "2024-07-24T10:39:33.879464917" }, "deepbgc_bgc_gbk": { "content": [ "sample_2.bgc.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:06:37.920624113" + "timestamp": "2024-07-24T10:39:33.920624113" }, "gecco": { "content": [ @@ -27,9 +27,9 @@ "sample_2.features.tsv:md5,79354868ee3de6fdc419195b8fa8edb6" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-12T16:06:37.944935473" + "timestamp": "2024-07-24T10:39:33.944935473" } -} +} \ No newline at end of file diff --git a/tests/test_bgc_pyrodigal.nf.test.snap b/tests/test_bgc_pyrodigal.nf.test.snap index 0017244d..67089772 100644 --- a/tests/test_bgc_pyrodigal.nf.test.snap +++ b/tests/test_bgc_pyrodigal.nf.test.snap @@ -6,20 +6,20 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-19T12:49:25.720352923" + "timestamp": "2024-07-24T10:45:25.720352923" }, "deepbgc_bgc_gbk": { "content": [ "sample_2.bgc.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-19T13:05:44.435766452" + "timestamp": "2024-07-24T10:45:44.435766452" }, "gecco": { "content": [ @@ -27,9 +27,9 @@ "sample_2.features.tsv:md5,2ef146213836ca80d3079776f17c7cb2" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-06-19T12:49:25.732866237" + "timestamp": "2024-07-24T10:45:25.732866237" } } \ No newline at end of file diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index f74d74ee..50ab313e 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -114,33 +114,27 @@ nextflow_pipeline { path("$outputDir/arg/fargene/sample_1/class_b_1_2/results_summary.txt"), path("$outputDir/arg/fargene/sample_2/class_b_1_2/results_summary.txt"), path("$outputDir/arg/fargene/sample_3/class_b_1_2/results_summary.txt") - ).match("fargene") + ).match("fargene") }, { assert path("$outputDir/arg/fargene/sample_1/fargene_analysis.log").text.contains("fARGene is done.") }, { assert path("$outputDir/arg/fargene/sample_2/fargene_analysis.log").text.contains("fARGene is done.") }, { assert path("$outputDir/arg/fargene/sample_3/fargene_analysis.log").text.contains("fARGene is done.") }, // hAMRonization - { assert snapshot(path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv")).match("hamronization_summarize") }, + { assert path("$outputDir/reports/hamronization_summarize/hamronization_combined_report.tsv").text.contains("NODE_5471_length_1861_cov_6.744186") }, // argNorm - { assert snapshot( - path("$outputDir/arg/argnorm/amrfinderplus/sample_1.normalized.tsv"), - path("$outputDir/arg/argnorm/amrfinderplus/sample_2.normalized.tsv"), - path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv") - ).match("argnorm_amrfinderplus") }, + { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_1.normalized.tsv").text.contains("ARO:0000016") }, + { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_2.normalized.tsv").text.contains("ARO:0000016") }, + { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv").text.contains("ARO:0000016") }, - { assert snapshot( - path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv"), - path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv"), - path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv") - ).match("argnorm_deeparg") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv").text.contains("ARO:3004054") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:3000838") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv").text.contains("ARO:3000157") }, - { assert snapshot( - path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv"), - path("$outputDir/arg/argnorm/abricate/sample_2.normalized.tsv"), - path("$outputDir/arg/argnorm/abricate/sample_3.normalized.tsv") - ).match("argnorm_abricate") }, + { assert path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv").text.contains("ARO:3000282") }, + { assert path("$outputDir/arg/argnorm/abricate/sample_2.normalized.tsv").text.contains("ARO:3000282") }, + { assert path("$outputDir/arg/argnorm/abricate/sample_3.normalized.tsv").text.contains("ARO:3000282") } ) } } diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index f467e754..c03c7e2e 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -1,14 +1,4 @@ { - "hamronization_summarize": { - "content": [ - "hamronization_combined_report.tsv:md5,73319083b96e31632253fe9a5c4c1436" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-21T00:10:18.532355081" - }, "deeparg": { "content": [ "sample_1.align.daa.tsv:md5,0e71c37318bdc6cba792196d0455293d", @@ -19,10 +9,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.699516" + "timestamp": "2024-07-24T12:16:20.699516" }, "ampir": { "content": [ @@ -34,34 +24,10 @@ "sample_3.ampir.faa:md5,0a36691485930a1b77c4b68a738fd98d" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-04T22:23:20.560802" - }, - "argnorm_amrfinderplus": { - "content": [ - "sample_1.normalized.tsv:md5,d39cb04c2bad3b6e984a44020241f48b", - "sample_2.normalized.tsv:md5,ff109a44444eaeac6f9026ac31fb49a1", - "sample_3.normalized.tsv:md5,067021794971336422fedc749be41dca" - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-18T12:32:12.938861179" - }, - "argnorm_abricate": { - "content": [ - "sample_1.normalized.tsv:md5,ddd8d454672c57b798f477ca32504a42", - "sample_2.normalized.tsv:md5,0323fc890a8f698ac4b0ac25f5e65964", - "sample_3.normalized.tsv:md5,f71490c27790071bd5974ecc5502cf73" - ], - "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.3" }, - "timestamp": "2024-07-18T12:32:12.988655823" + "timestamp": "2024-07-24T12:16:20.560802" }, "amplify": { "content": [ @@ -70,22 +36,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-04T22:23:20.593242" - }, - "argnorm_deeparg": { - "content": [ - "sample_1.normalized.tsv:md5,4a1807992bab9ed4ee9384d237d77e59", - "sample_2.normalized.tsv:md5,a922864845c3a894fa8f5c43cf2e23dc", - "sample_3.normalized.tsv:md5,1bb503373085539ae81c31edfdb2ef34" - ], - "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.3" }, - "timestamp": "2024-07-18T12:32:12.966214504" + "timestamp": "2024-07-24T12:16:20.593242" }, "macrel": { "content": [ @@ -106,10 +60,10 @@ "sample_3.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", + "nf-test": "0.9.0", "nextflow": "24.04.3" }, - "timestamp": "2024-07-21T00:10:18.372591929" + "timestamp": "2024-07-24T12:16:18.372591929" }, "abricate": { "content": [ @@ -118,10 +72,10 @@ "sample_3.txt:md5,d6534efe3d03173749d003bf9e624e68" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.743136" + "timestamp": "2024-07-24T12:16:20.743136" }, "fargene": { "content": [ @@ -133,10 +87,10 @@ "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.849995" + "timestamp": "2024-07-24T12:16:20.849995" }, "rgi": { "content": [ @@ -145,10 +99,10 @@ "sample_3.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.809033" + "timestamp": "2024-07-24T12:16:20.809033" }, "ampcombi": { "content": [ @@ -158,10 +112,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.663035" + "timestamp": "2024-07-24T12:16:20.663035" }, "amrfinderplus": { "content": [ @@ -170,9 +124,9 @@ "sample_3.tsv:md5,29cfb6f34f420d802eda95c6d9daa361" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-04T22:23:20.777384" + "timestamp": "2024-07-24T12:16:20.777384" } } \ No newline at end of file diff --git a/tests/test_preannotated_bgc.nf.test.snap b/tests/test_preannotated_bgc.nf.test.snap index b2bb672d..b05b7921 100644 --- a/tests/test_preannotated_bgc.nf.test.snap +++ b/tests/test_preannotated_bgc.nf.test.snap @@ -12,10 +12,10 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T17:16:00.343547789" + "timestamp": "2024-07-24T10:49:00.343547789" }, "deepbgc_bgc_gbk": { "content": [ @@ -24,10 +24,10 @@ "sample_3.bgc.gbk:md5,c9028aca1282b314d296091e1f0b8e52" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T17:16:00.388012579" + "timestamp": "2024-07-24T11:06:00.388012579" }, "gecco": { "content": [ @@ -39,9 +39,9 @@ "sample_3.features.tsv:md5,490f98655089b3c73f88b93347cca465" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T17:16:00.44526019" + "timestamp": "2024-07-24T10:49:00.44526019" } } \ No newline at end of file diff --git a/tests/test_prokka.nf.test.snap b/tests/test_prokka.nf.test.snap index bdb6fb22..07cfeefd 100644 --- a/tests/test_prokka.nf.test.snap +++ b/tests/test_prokka.nf.test.snap @@ -4,10 +4,10 @@ "hamronization_combined_report.tsv:md5,864466b0fb1acfc0e6b3425271f78ecb" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.990722943" + "timestamp": "2024-07-24T12:53:09.990722943" }, "abricate": { "content": [ @@ -15,10 +15,10 @@ "sample_2.txt:md5,69af3321b0bc808b7ef85f102395736f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.941179691" + "timestamp": "2024-07-24T12:53:09.941179691" }, "fargene": { "content": [ @@ -28,10 +28,10 @@ "results_summary.txt:md5,f69af9b0e18a0cfc934eb18b7e4bffe1" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.978326519" + "timestamp": "2024-07-24T12:53:09.978326519" }, "rgi": { "content": [ @@ -39,10 +39,10 @@ "sample_2.txt:md5,fce130af51f93cccfc09ddaf9caf623f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.964420301" + "timestamp": "2024-07-24T12:53:09.964420301" }, "deeparg_tsv_ARG": { "content": [ @@ -52,10 +52,10 @@ "sample_2.mapping.ARG:md5,0e049e99eab4c55666062df21707d5b9" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.928505029" + "timestamp": "2024-07-24T12:53:09.928505029" }, "ampir": { "content": [ @@ -65,10 +65,10 @@ false ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.879791305" + "timestamp": "2024-07-24T12:53:09.879791305" }, "ampcombi_logfiles": { "content": [ @@ -77,10 +77,10 @@ "Ampcombi_parse_tables.log:md5,1e2b5abad7d17e03428066f345b91117" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.914363724" + "timestamp": "2024-07-24T12:53:09.914363724" }, "amplify": { "content": [ @@ -88,10 +88,10 @@ false ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.889521968" + "timestamp": "2024-07-24T12:53:09.889521968" }, "macrel": { "content": [ @@ -107,10 +107,10 @@ "sample_2.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.892460736" + "timestamp": "2024-07-24T12:53:09.892460736" }, "amrfinderplus": { "content": [ @@ -118,9 +118,9 @@ "sample_2.tsv:md5,b4d261ace9be7d013c19d1f5c0005bfe" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-03T11:06:45.952983609" + "timestamp": "2024-07-24T12:53:09.952983609" } } \ No newline at end of file From 3130528b94991f39018644d64de05cd3a9d63a35 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Wed, 24 Jul 2024 16:37:51 +0200 Subject: [PATCH 28/33] Update taxonomy test snapshots --- tests/test_taxonomy_bakta.nf.test.snap | 54 +++++++++++----------- tests/test_taxonomy_prokka.nf.test.snap | 54 +++++++++++----------- tests/test_taxonomy_pyrodigal.nf.test.snap | 54 +++++++++++----------- 3 files changed, 81 insertions(+), 81 deletions(-) diff --git a/tests/test_taxonomy_bakta.nf.test.snap b/tests/test_taxonomy_bakta.nf.test.snap index 035a5218..5606db1e 100644 --- a/tests/test_taxonomy_bakta.nf.test.snap +++ b/tests/test_taxonomy_bakta.nf.test.snap @@ -5,10 +5,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "fargene": { "content": [ @@ -17,10 +17,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "rgi": { "content": [ @@ -28,10 +28,10 @@ "sample_2.txt:md5,fce130af51f93cccfc09ddaf9caf623f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "ampir": { "content": [ @@ -41,10 +41,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "gecco": { "content": [ @@ -52,20 +52,20 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "ampcombi": { "content": [ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "antismash": { "content": [ @@ -73,10 +73,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" }, "amplify": { "content": [ @@ -84,10 +84,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-09T13:10:06.451885596" + "timestamp": "2024-07-24T13:19:06.451885596" }, "macrel": { "content": [ @@ -103,9 +103,9 @@ "sample_2.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:19:30.025771" } } \ No newline at end of file diff --git a/tests/test_taxonomy_prokka.nf.test.snap b/tests/test_taxonomy_prokka.nf.test.snap index 035a5218..8e2e581a 100644 --- a/tests/test_taxonomy_prokka.nf.test.snap +++ b/tests/test_taxonomy_prokka.nf.test.snap @@ -5,10 +5,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "fargene": { "content": [ @@ -17,10 +17,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "rgi": { "content": [ @@ -28,10 +28,10 @@ "sample_2.txt:md5,fce130af51f93cccfc09ddaf9caf623f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "ampir": { "content": [ @@ -41,10 +41,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "gecco": { "content": [ @@ -52,20 +52,20 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "ampcombi": { "content": [ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "antismash": { "content": [ @@ -73,10 +73,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" }, "amplify": { "content": [ @@ -84,10 +84,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-09T13:10:06.451885596" + "timestamp": "2024-07-24T13:05:06.451885596" }, "macrel": { "content": [ @@ -103,9 +103,9 @@ "sample_2.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T13:05:30.025771" } } \ No newline at end of file diff --git a/tests/test_taxonomy_pyrodigal.nf.test.snap b/tests/test_taxonomy_pyrodigal.nf.test.snap index 035a5218..668aab92 100644 --- a/tests/test_taxonomy_pyrodigal.nf.test.snap +++ b/tests/test_taxonomy_pyrodigal.nf.test.snap @@ -5,10 +5,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "fargene": { "content": [ @@ -17,10 +17,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "rgi": { "content": [ @@ -28,10 +28,10 @@ "sample_2.txt:md5,fce130af51f93cccfc09ddaf9caf623f" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "ampir": { "content": [ @@ -41,10 +41,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "gecco": { "content": [ @@ -52,20 +52,20 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "ampcombi": { "content": [ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "antismash": { "content": [ @@ -73,10 +73,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" }, "amplify": { "content": [ @@ -84,10 +84,10 @@ true ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-09T13:10:06.451885596" + "timestamp": "2024-07-24T16:24:06.451885596" }, "macrel": { "content": [ @@ -103,9 +103,9 @@ "sample_2.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-07-05T09:31:30.025771" + "timestamp": "2024-07-24T16:24:30.025771" } } \ No newline at end of file From c0f40b7e862713b1a13a244af2998a1da8fdcc7e Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 24 Jul 2024 20:41:57 +0530 Subject: [PATCH 29/33] Correct ARO test for deeparg in argnorm --- tests/test_preannotated.nf.test | 2 +- tests/test_preannotated.nf.test.snap | 114 +++++++++++++-------------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index 50ab313e..e1f84940 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -129,7 +129,7 @@ nextflow_pipeline { { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv").text.contains("ARO:0000016") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv").text.contains("ARO:3004054") }, - { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:3000838") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:3003479") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv").text.contains("ARO:3000157") }, { assert path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv").text.contains("ARO:3000282") }, diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index c03c7e2e..a0e89313 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -1,4 +1,43 @@ { + "abricate": { + "content": [ + "sample_1.txt:md5,427cec26e354ac6b0ab6047ec6621202", + "sample_2.txt:md5,4c140c932a48a22bcd8ae911bda8f4c7", + "sample_3.txt:md5,d6534efe3d03173749d003bf9e624e68" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T12:16:20.743136" + }, + "fargene": { + "content": [ + "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", + "results_summary.txt:md5,3b86a5513e89e22a4c8b9279678ce0c0", + "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", + "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T12:16:20.849995" + }, + "rgi": { + "content": [ + "sample_1.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66", + "sample_2.txt:md5,0e652d35ef6e9272aa194b55db609e75", + "sample_3.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T12:16:20.809033" + }, "deeparg": { "content": [ "sample_1.align.daa.tsv:md5,0e71c37318bdc6cba792196d0455293d", @@ -29,6 +68,19 @@ }, "timestamp": "2024-07-24T12:16:20.560802" }, + "ampcombi": { + "content": [ + "Ampcombi_cluster.log:md5,4c78f5f134edf566f39e04e3ab7d8558", + "Ampcombi_complete.log:md5,3dabfea4303bf94bd4f5d78c5b8c83c1", + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-24T12:16:20.663035" + }, "amplify": { "content": [ true, @@ -46,9 +98,9 @@ "sample_1.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", "sample_2.macrel.smorfs.faa.gz:md5,e055dd2a9e44f3dcaa8af7198600349c", "sample_3.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", - "sample_1.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", - "sample_2.macrel.all_orfs.faa.gz:md5,e75e434a30922d80169d0666fd07e446", - "sample_3.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", + "sample_1.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", + "sample_2.macrel.all_orfs.faa.gz:md5,1545ad5aca0fef9c85d8002131cbabef", + "sample_3.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", "sample_1.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", "sample_2.macrel.prediction.gz:md5,06f7ce99cfe6f364d38743aae094402a", "sample_3.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", @@ -60,62 +112,10 @@ "sample_3.macrel_log.txt:md5,d41d8cd98f00b204e9800998ecf8427e" ], "meta": { - "nf-test": "0.9.0", + "nf-test": "0.8.4", "nextflow": "24.04.3" }, - "timestamp": "2024-07-24T12:16:18.372591929" - }, - "abricate": { - "content": [ - "sample_1.txt:md5,427cec26e354ac6b0ab6047ec6621202", - "sample_2.txt:md5,4c140c932a48a22bcd8ae911bda8f4c7", - "sample_3.txt:md5,d6534efe3d03173749d003bf9e624e68" - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-24T12:16:20.743136" - }, - "fargene": { - "content": [ - "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", - "results_summary.txt:md5,3b86a5513e89e22a4c8b9279678ce0c0", - "results_summary.txt:md5,2c8a073d2a7938e8aedcc097e6df2aa5", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb", - "results_summary.txt:md5,59f2e69c670d72f0c0a401e0dc90cbeb" - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-24T12:16:20.849995" - }, - "rgi": { - "content": [ - "sample_1.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66", - "sample_2.txt:md5,0e652d35ef6e9272aa194b55db609e75", - "sample_3.txt:md5,dde77ae2dc240ee4717d8d33a92dfb66" - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-24T12:16:20.809033" - }, - "ampcombi": { - "content": [ - "Ampcombi_cluster.log:md5,4c78f5f134edf566f39e04e3ab7d8558", - "Ampcombi_complete.log:md5,3dabfea4303bf94bd4f5d78c5b8c83c1", - true, - true - ], - "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" - }, - "timestamp": "2024-07-24T12:16:20.663035" + "timestamp": "2024-07-24T20:37:52.576447033" }, "amrfinderplus": { "content": [ From bf0b735d767aa44710cfaaf0e624ec2d67995346 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 24 Jul 2024 22:14:45 +0530 Subject: [PATCH 30/33] Update ARO test for deeparg in argnorm --- tests/test_preannotated.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index e1f84940..8558b3c3 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -129,7 +129,7 @@ nextflow_pipeline { { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv").text.contains("ARO:0000016") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv").text.contains("ARO:3004054") }, - { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:3003479") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:0000016") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv").text.contains("ARO:3000157") }, { assert path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv").text.contains("ARO:3000282") }, From f5e51958aa16efae84a37fcaee20c3b5f19ed1a7 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 24 Jul 2024 22:38:11 +0530 Subject: [PATCH 31/33] Update test_preannotated snapshot --- tests/test_preannotated.nf.test.snap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_preannotated.nf.test.snap b/tests/test_preannotated.nf.test.snap index a0e89313..3391b86d 100644 --- a/tests/test_preannotated.nf.test.snap +++ b/tests/test_preannotated.nf.test.snap @@ -98,9 +98,9 @@ "sample_1.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", "sample_2.macrel.smorfs.faa.gz:md5,e055dd2a9e44f3dcaa8af7198600349c", "sample_3.macrel.smorfs.faa.gz:md5,9cddad1e4b6dbcb76888f1a87db388ec", - "sample_1.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", - "sample_2.macrel.all_orfs.faa.gz:md5,1545ad5aca0fef9c85d8002131cbabef", - "sample_3.macrel.all_orfs.faa.gz:md5,382803053f9532d3c970c5db940eb616", + "sample_1.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", + "sample_2.macrel.all_orfs.faa.gz:md5,e75e434a30922d80169d0666fd07e446", + "sample_3.macrel.all_orfs.faa.gz:md5,c276fb1ec494ff53ded1e6fc118e25b9", "sample_1.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", "sample_2.macrel.prediction.gz:md5,06f7ce99cfe6f364d38743aae094402a", "sample_3.macrel.prediction.gz:md5,0277725512f7d2954a99692bb65f1475", From 6b93a9630a206bf2f73c75ea783a043c605fed00 Mon Sep 17 00:00:00 2001 From: Vedanth Date: Wed, 24 Jul 2024 23:32:21 +0530 Subject: [PATCH 32/33] Update argnorm deeparg test --- tests/test_preannotated.nf.test | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_preannotated.nf.test b/tests/test_preannotated.nf.test index 8558b3c3..da4db2a9 100644 --- a/tests/test_preannotated.nf.test +++ b/tests/test_preannotated.nf.test @@ -129,7 +129,9 @@ nextflow_pipeline { { assert path("$outputDir/arg/argnorm/amrfinderplus/sample_3.normalized.tsv").text.contains("ARO:0000016") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_1.normalized.tsv").text.contains("ARO:3004054") }, - { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO:0000016") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("ARO") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("confers_resistance_to") }, + { assert path("$outputDir/arg/argnorm/deeparg/sample_2.normalized.tsv").text.contains("resistance_to_drug_classes") }, { assert path("$outputDir/arg/argnorm/deeparg/sample_3.normalized.tsv").text.contains("ARO:3000157") }, { assert path("$outputDir/arg/argnorm/abricate/sample_1.normalized.tsv").text.contains("ARO:3000282") }, From 451cd527a100c9955809e51d8c1d816df22e5e06 Mon Sep 17 00:00:00 2001 From: jasmezz Date: Wed, 24 Jul 2024 22:35:40 +0200 Subject: [PATCH 33/33] Update citation style, docs --- CITATIONS.md | 4 ++-- docs/output.md | 8 ++++---- subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CITATIONS.md b/CITATIONS.md index d122ab36..80493194 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -32,7 +32,7 @@ - [argNorm](https://github.com/BigDataBiology/argNorm) - > Svetlana Ugarcina Perovic, Vedanth Ramji, Hui Chong, Yiqian Duan, Finlay Maguire, Luis Pedro Coelho (2024). BigDataBiology/argNorm: Version 0.5.0 (v0.5.0). GitHub. https://github.com/BigDataBiology/argNorm. Zenodo. [DOI:10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) + > Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). BigDataBiology/argNorm. [DOI: 10.5281/zenodo.10963591](https://zenodo.org/doi/10.5281/zenodo.10963591) - [Bakta](https://doi.org/10.1099/mgen.0.000685) @@ -40,7 +40,7 @@ - [comBGC](https://github.com/nf-core/funcscan) - > Frangenberg, J., Fellows Yates, J. A., Ibrahim, A., Perelo, L., & Beber, M. E. (2023). nf-core/funcscan: 1.0.0 - German Rollmops - 2023-02-15. https://doi.org/10.5281/zenodo.7643100 + > Frangenberg, J., Fellows Yates, J. A., Ibrahim, A., Perelo, L., & Beber, M. E. (2023). nf-core/funcscan: 1.0.0 - German Rollmops - 2023-02-15. [DOI: 10.5281/zenodo.7643100](https://doi.org/10.5281/zenodo.7643099) - [DeepARG](https://doi.org/10.1186/s40168-018-0401-z) diff --git a/docs/output.md b/docs/output.md index 6162698b..0c7407a7 100644 --- a/docs/output.md +++ b/docs/output.md @@ -4,9 +4,9 @@ The output of nf-core/funcscan provides reports for each of the functional groups: -- antibiotic resistance genes (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization) and ABRicate/AMRFinderPlus/DeepARG are normalised to ARO by [argNorm](https://github.com/BigDataBiology/argNorm)) -- antimicrobial peptides (tools: [Macrel](https://github.com/BigDataBiology/macrel), [AMPlify](https://github.com/bcgsc/AMPlify), [ampir](https://ampir.marine-omics.net), [hmmsearch](http://hmmer.org) – summarised by [AMPcombi](https://github.com/Darcy220606/AMPcombi)) -- biosynthetic gene clusters (tools: [antiSMASH](https://docs.antismash.secondarymetabolites.org), [DeepBGC](https://github.com/Merck/deepbgc), [GECCO](https://gecco.embl.de), [hmmsearch](http://hmmer.org) – summarised by [comBGC](#combgc)) +- **antibiotic resistance genes** (tools: [ABRicate](https://github.com/tseemann/abricate), [AMRFinderPlus](https://www.ncbi.nlm.nih.gov/pathogens/antimicrobial-resistance/AMRFinder), [DeepARG](https://bitbucket.org/gusphdproj/deeparg-ss/src/master), [fARGene](https://github.com/fannyhb/fargene), [RGI](https://card.mcmaster.ca/analyze/rgi) – summarised by [hAMRonization](https://github.com/pha4ge/hAMRonization). Results from ABRicate, AMRFinderPlus, and DeepARG are normalised to [ARO](https://obofoundry.org/ontology/aro.html) by [argNorm](https://github.com/BigDataBiology/argNorm).) +- **antimicrobial peptides** (tools: [Macrel](https://github.com/BigDataBiology/macrel), [AMPlify](https://github.com/bcgsc/AMPlify), [ampir](https://ampir.marine-omics.net), [hmmsearch](http://hmmer.org) – summarised by [AMPcombi](https://github.com/Darcy220606/AMPcombi)) +- **biosynthetic gene clusters** (tools: [antiSMASH](https://docs.antismash.secondarymetabolites.org), [DeepBGC](https://github.com/Merck/deepbgc), [GECCO](https://gecco.embl.de), [hmmsearch](http://hmmer.org) – summarised by [comBGC](#combgc)) As a general workflow, we recommend to first look at the summary reports ([ARGs](#hamronization), [AMPs](#ampcombi), [BGCs](#combgc)), to get a general overview of what hits have been found across all the tools of each functional group. After which, you can explore the specific output directories of each tool to get more detailed information about each result. The tool-specific output directories also includes the output from the functional annotation steps of either [prokka](https://github.com/tseemann/prokka), [pyrodigal](https://github.com/althonos/pyrodigal), [prodigal](https://github.com/hyattpd/Prodigal), or [Bakta](https://github.com/oschwengers/bakta) if the `--save_annotations` flag was set. Additionally, taxonomic classifications from [MMseqs2](https://github.com/soedinglab/MMseqs2) are saved if the `--taxa_classification_mmseqs_db_savetmp` and `--taxa_classification_mmseqs_taxonomy_savetmp` flags are set. @@ -587,7 +587,7 @@ Note that filtered FASTA is only used for BGC workflow for run-time optimisation
    -[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology (ARO) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing categorization of the drugs that antibiotic resistance genes confer resistance to. +[argnorm](https://github.com/BigDataBiology/argNorm) is a tool to normalize antibiotic resistance genes (ARGs) by mapping them to the antibiotic resistance ontology ([ARO](https://obofoundry.org/ontology/aro.html)) created by the CARD database. argNorm also enhances antibiotic resistance gene annotations by providing categorization of the drugs that antibiotic resistance genes confer resistance to. argNorm takes the outputs of the [hAMRonization](#hamronization) tool of [ABRicate](#abricate), [AMRFinderPlus](#amrfinderplus), and [DeepARG](#deeparg) and normalizes ARGs in the hAMRonization output to the ARO. diff --git a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf index b056b626..0d4b7afb 100644 --- a/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_funcscan_pipeline/main.nf @@ -281,7 +281,7 @@ def toolBibliographyText() { !params.arg_skip_amrfinderplus ? "
  • Feldgarden, M., Brover, V., Gonzalez-Escalona, N., Frye, J. G., Haendiges, J., Haft, D. H., Hoffmann, M., Pettengill, J. B., Prasad, A. B., Tillman, G. E., Tyson, G. H., & Klimke, W. (2021). AMRFinderPlus and the Reference Gene Catalog facilitate examination of the genomic links among antimicrobial resistance, stress response, and virulence. Scientific reports, 11(1), 12728. DOI: 10.1038/s41598-021-91456-0
  • " : "", !params.arg_skip_deeparg ? "
  • Arango-Argoty, G., Garner, E., Pruden, A., Heath, L. S., Vikesland, P., & Zhang, L. (2018). DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome, 6(1), 23. DOI: 10.1186/s40168-018-0401-z" : "", !params.arg_skip_abricate ? "
  • Seemann, T. (2020). ABRicate. Github https://github.com/tseemann/abricate.
  • " : "", - !params.arg_skip_argnorm ? "
  • Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). argNorm. Github . DOI:.
  • " : "", + !params.arg_skip_argnorm ? "
  • Perovic, S. U., Ramji, V., Chong, H., Duan, Y., Maguire, F., Coelho, L. P. (2024). argNorm. DOI: .
  • " : "", "
  • Public Health Alliance for Genomic Epidemiology (pha4ge). (2022). Parse multiple Antimicrobial Resistance Analysis Reports into a common data structure. Github. Retrieved October 5, 2022, from https://github.com/pha4ge/hAMRonization
  • " ].join(' ').trim().replaceAll(", +\\.", ".")