diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a4f93e0..e551923f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` - [#500](https://github.com/nf-core/funcscan/pull/500) Updated pipeline template to nf-core/tools version 3.4.1 (by @jfy133) +- [#508](https://github.com/nf-core/funcscan/pull/508) Added support for antiSMASH's --clusterhmmer, --fullhmmer, and --tigrfam options (❤️ to @yusukepockyby for requesting, @jfy133) ### `Fixed` diff --git a/conf/modules.config b/conf/modules.config index 2812093b..f12e059f 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -134,13 +134,14 @@ process { enabled: params.run_protein_annotation, saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] + // Warning: Do not disable the flags "--enable-tsv-residue-annot" and "--formats tsv"! This would cause a run failure because the format of the resulting files would no longer be adequate for parsing by AMPcombi2. ext.args = [ "--applications ${params.protein_annotation_interproscan_applications}", params.protein_annotation_interproscan_enableprecalc ? '' : '--disable-precalc', '--disable-residue-annot', '--enable-tsv-residue-annot', "--formats tsv", - ].join(' ').trim() // Warning: Do not disable the flags "--enable-tsv-residue-annot" and "--formats tsv"! This would cause a run failure because the format of the resulting files would no longer be adequate for parsing by AMPcombi2. + ].join(' ').trim() } withName: PROKKA { @@ -470,6 +471,9 @@ process { params.bgc_antismash_pfam2go ? '--pfam2go' : '', params.bgc_antismash_rre ? '--rre' : '', params.bgc_antismash_tfbs ? '--tfbs' : '', + params.bgc_antismash_clusterhmmer ? '--clusterhmmer' : '', + params.bgc_antismash_fullhmmer ? '--fullhmmer' : '', + params.bgc_antismash_tigrfam ? '--tigrfam' : '', "--allow-long-headers", "--minlength ${params.bgc_antismash_contigminlength}", "--hmmdetection-strictness ${params.bgc_antismash_hmmdetectionstrictness}", diff --git a/nextflow.config b/nextflow.config index 195d1f99..455759b6 100644 --- a/nextflow.config +++ b/nextflow.config @@ -20,28 +20,28 @@ params { multiqc_methods_description = null // Boilerplate options - outdir = null - publish_dir_mode = 'copy' - email = null - email_on_fail = null - plaintext_email = false - monochrome_logs = false - hook_url = System.getenv('HOOK_URL') - help = false - help_full = false - show_hidden = false - version = false - pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/' - trace_report_suffix = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') + outdir = null + publish_dir_mode = 'copy' + email = null + email_on_fail = null + plaintext_email = false + monochrome_logs = false + hook_url = System.getenv('HOOK_URL') + help = false + help_full = false + show_hidden = false + version = false + pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/' + trace_report_suffix = new java.util.Date().format('yyyy-MM-dd_HH-mm-ss') // Config options - config_profile_name = null - config_profile_description = null + config_profile_name = null + config_profile_description = null - custom_config_version = 'master' - custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" - config_profile_contact = null - config_profile_url = null + custom_config_version = 'master' + custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" + config_profile_contact = null + config_profile_url = null // Taxonomy classification options run_taxa_classification = false @@ -231,6 +231,9 @@ params { bgc_antismash_rre = false bgc_antismash_taxon = 'bacteria' bgc_antismash_tfbs = false + bgc_antismash_clusterhmmer = false + bgc_antismash_fullhmmer = false + bgc_antismash_tigrfam = false bgc_skip_deepbgc = false bgc_deepbgc_db = null @@ -313,7 +316,7 @@ profiles { wave.strategy = 'conda,container' } emulate_amd64 { - docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' + docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' } singularity { singularity.enabled = true @@ -540,12 +543,12 @@ manifest { // Nextflow plugins plugins { - id 'nf-schema@2.5.1' // Validation of pipeline parameters and creation of an input channel from a sample sheet + id 'nf-schema@2.5.1' } validation { defaultIgnoreParams = ["genomes"] - monochromeLogs = params.monochrome_logs + monochromeLogs = params.monochrome_logs } // Load modules.config for DSL2 module specific options diff --git a/nextflow_schema.json b/nextflow_schema.json index 4c70e28d..814f4b93 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -159,14 +159,14 @@ }, "taxa_classification_mmseqs_taxonomy_sensitivity": { "type": "number", - "default": 5.0, + "default": 5, "help_text": "This flag specifies the speed and sensitivity of the taxonomic search. It stands for how many kmers should be produced during the preliminary seeding stage. A very fast search requires a low value e.g. '1.0' and a a very sensitive search requires e.g. '7.0'. More details can be found in the [documentation](https://mmseqs.com/latest/userguide.pdf).\n\n> Modifies tool parameter(s):\n> - mmseqs taxonomy: `-s`", "description": "Specify the speed and sensitivity for taxonomy assignment.", "fa_icon": "fas fa-history" }, "taxa_classification_mmseqs_taxonomy_orffilters": { "type": "number", - "default": 2.0, + "default": 2, "help_text": "This flag specifies the sensitivity used for prefiltering the query ORF. Before the taxonomy-assigning step, MMseqs2 searches the predicted ORFs against the provided database. This value influences the speed with which the search is carried out. More details can be found in the [documentation](https://mmseqs.com/latest/userguide.pdf).\n\n> Modifies tool parameter(s):\n> - mmseqs taxonomy: `--orf-filter-s`", "description": "Specify the ORF search sensitivity in the prefilter step.", "fa_icon": "fas fa-history" @@ -723,7 +723,7 @@ }, "amp_ampcombi_parsetables_dbevalue": { "type": "number", - "default": 5.0, + "default": 5, "description": "Remove all DRAMP annotations that have an e-value greater than this value.", "help_text": "This e-value is used as a cut-off for the annotations from the internal Diamond alignment step (against the DRAMP database by default). Any e-value below this value will only remove the DRAMP classification and not the entire hit.\n\n> Modifies tool parameter(s):\n> - AMPCOMBI: `--db_evalue`", "fa_icon": "fas fa-sort-numeric-down" @@ -794,14 +794,14 @@ "properties": { "amp_ampcombi_cluster_covmode": { "type": "number", - "default": 0.0, + "default": 0, "description": "MMseqs2 coverage mode.", "help_text": "This assigns the coverage mode to the MMseqs2 cluster module. This determines how AMPs are grouped into clusters. More details can be found in the [MMseqs2 documentation](https://mmseqs.com/latest/userguide.pdf).\n\n> Modifies tool parameter(s):\n> - AMPCOMBI: `--cluster_cov_mode`", "fa_icon": "far fa-circle" }, "amp_ampcombi_cluster_sensitivity": { "type": "number", - "default": 4.0, + "default": 4, "description": "Remove hits that have no stop codon upstream and downstream of the AMP.", "help_text": "This assigns the sensitivity of alignment to the MMseqs2 cluster module. This determines how AMPs are grouped into clusters. More information can be obtained in the [MMseqs2 documentation](https://mmseqs.com/latest/userguide.pdf).\n\n> Modifies tool parameter(s):\n> - AMPCOMBI: `--cluster_sensitivity`", "fa_icon": "fas fa-arrows-alt-h" @@ -815,7 +815,7 @@ }, "amp_ampcombi_cluster_mode": { "type": "number", - "default": 1.0, + "default": 1, "description": "MMseqs2 clustering mode.", "help_text": "This assigns the cluster mode to the MMseqs2 cluster module. This determines how AMPs are grouped into clusters. More information can be obtained in the [MMseqs2 documentation](https://mmseqs.com/latest/userguide.pdf).\n\n> Modifies tool parameter(s):\n> - AMPCOMBI: `--cluster_mode`", "fa_icon": "fas fa-circle" @@ -863,7 +863,7 @@ }, "arg_amrfinderplus_identmin": { "type": "number", - "default": -1.0, + "default": -1, "help_text": "Specify the minimum percentage amino-acid identity to reference protein or nucleotide identity for nucleotide reference must have if a BLAST alignment (based on methods: BLAST or PARTIAL) was detected, otherwise NA.\n\n If you specify `-1`, this means use a curated threshold if it exists and `0.9` otherwise.\n\nSetting this value to something other than `-1` will override any curated similarity cutoffs. For BLAST: alignment is > 90% of length and > 90% identity to a protein in the AMRFinderPlus database. For PARTIAL: alignment is > 50% of length, but < 90% of length and > 90% identity to the reference, and does not end at a contig boundary.\n\nFor more information check the AMRFinderPlus [documentation](https://github.com/ncbi/amr/wiki/Running-AMRFinderPlus#--organism-option).\n\n> Modifies tool parameter(s):\n> - AMRFinderPlus: `--ident_min`", "description": "Minimum percent identity to reference sequence.", "fa_icon": "fas fa-angle-left" @@ -1284,6 +1284,24 @@ "description": "Run TFBS finder on all gene clusters.", "help_text": "This enables the prediction of transcription factor binding sites which control the gene expression. For more information see the antiSMASH [documentation](https://docs.antismash.secondarymetabolites.org/).\n\n> Modifies tool parameter(s):\n> - antiSMASH: `--tfbs`", "fa_icon": "fas fa-search" + }, + "bgc_antismash_clusterhmmer": { + "type": "boolean", + "fa_icon": "fas fa-glass-martini-alt", + "description": "Run antiSMASH with --clusterhmmer mode with Pfam profiles", + "help_text": "For more information see the antiSMASH [documentation](https://docs.antismash.secondarymetabolites.org/).\n\n> Modifies tool parameter(s):\n> - antiSMASH: `--clusterhmmer`" + }, + "bgc_antismash_fullhmmer": { + "type": "boolean", + "fa_icon": "fas fa-glass-martini", + "description": "Run antiSMASH with --fullhmmer mode with Pfam profiles", + "help_text": "For more information see the antiSMASH [documentation](https://docs.antismash.secondarymetabolites.org/).\n\n> Modifies tool parameter(s):\n> - antiSMASH: `--fullhmmer`" + }, + "bgc_antismash_tigrfam": { + "type": "boolean", + "fa_icon": "fas fa-cat", + "description": "Run antiSMASH with --tigrfam annotation activated", + "help_text": "For more information see the antiSMASH [documentation](https://docs.antismash.secondarymetabolites.org/).\n\n> Modifies tool parameter(s):\n> - antiSMASH: `--tigrfam`" } }, "fa_icon": "fas fa-angle-double-right"