mirror of
https://github.com/MillironX/taxprofiler.git
synced 2024-11-13 07:23:10 +00:00
Merge pull request #202 from nf-core/nf-core-template-merge-2.7.2
Important! Template update for nf-core/tools v2.7.2
This commit is contained in:
commit
35b296e5fd
12 changed files with 77 additions and 82 deletions
4
.github/workflows/fix-linting.yml
vendored
4
.github/workflows/fix-linting.yml
vendored
|
@ -34,9 +34,9 @@ jobs:
|
|||
id: prettier_status
|
||||
run: |
|
||||
if prettier --check ${GITHUB_WORKSPACE}; then
|
||||
echo "name=result::pass" >> $GITHUB_OUTPUT
|
||||
echo "result=pass" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "name=result::fail" >> $GITHUB_OUTPUT
|
||||
echo "result=fail" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: Run 'prettier --write'
|
||||
|
|
2
.github/workflows/linting_comment.yml
vendored
2
.github/workflows/linting_comment.yml
vendored
|
@ -18,7 +18,7 @@ jobs:
|
|||
|
||||
- name: Get PR number
|
||||
id: pr_number
|
||||
run: echo "name=pr_number::$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT
|
||||
run: echo "pr_number=$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Post PR comment
|
||||
uses: marocchino/sticky-pull-request-comment@v2
|
||||
|
|
|
@ -72,7 +72,7 @@ class WorkflowMain {
|
|||
NfcoreTemplate.checkConfigProvided(workflow, log)
|
||||
|
||||
// Check that conda channels are set-up correctly
|
||||
if (params.enable_conda) {
|
||||
if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
|
||||
Utils.checkCondaChannels(log)
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
},
|
||||
"custom/dumpsoftwareversions": {
|
||||
"branch": "master",
|
||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||
"git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
|
||||
"installed_by": ["modules"]
|
||||
},
|
||||
"diamond/blastx": {
|
||||
|
@ -73,7 +73,7 @@
|
|||
},
|
||||
"fastqc": {
|
||||
"branch": "master",
|
||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||
"git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
|
||||
"installed_by": ["modules"]
|
||||
},
|
||||
"filtlong": {
|
||||
|
@ -173,7 +173,7 @@
|
|||
},
|
||||
"multiqc": {
|
||||
"branch": "master",
|
||||
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905",
|
||||
"git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
|
||||
"installed_by": ["modules"]
|
||||
},
|
||||
"porechop/porechop": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
process SAMPLESHEET_CHECK {
|
||||
tag "$samplesheet"
|
||||
|
||||
conda (params.enable_conda ? "conda-forge::python=3.8.3" : null)
|
||||
conda "conda-forge::python=3.8.3"
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://depot.galaxyproject.org/singularity/python:3.8.3' :
|
||||
'quay.io/biocontainers/python:3.8.3' }"
|
||||
|
|
|
@ -2,7 +2,7 @@ process CUSTOM_DUMPSOFTWAREVERSIONS {
|
|||
label 'process_single'
|
||||
|
||||
// Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container
|
||||
conda (params.enable_conda ? 'bioconda::multiqc=1.13' : null)
|
||||
conda "bioconda::multiqc=1.13"
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' :
|
||||
'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }"
|
||||
|
|
90
modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py
generated
Normal file → Executable file
90
modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py
generated
Normal file → Executable file
|
@ -1,11 +1,17 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import yaml
|
||||
|
||||
"""Provide functions to merge multiple versions.yml files."""
|
||||
|
||||
|
||||
import platform
|
||||
from textwrap import dedent
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
def _make_versions_html(versions):
|
||||
"""Generate a tabular HTML output of all versions for MultiQC."""
|
||||
html = [
|
||||
dedent(
|
||||
"""\\
|
||||
|
@ -44,47 +50,53 @@ def _make_versions_html(versions):
|
|||
return "\\n".join(html)
|
||||
|
||||
|
||||
versions_this_module = {}
|
||||
versions_this_module["${task.process}"] = {
|
||||
"python": platform.python_version(),
|
||||
"yaml": yaml.__version__,
|
||||
}
|
||||
def main():
|
||||
"""Load all version files and generate merged output."""
|
||||
versions_this_module = {}
|
||||
versions_this_module["${task.process}"] = {
|
||||
"python": platform.python_version(),
|
||||
"yaml": yaml.__version__,
|
||||
}
|
||||
|
||||
with open("$versions") as f:
|
||||
versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module
|
||||
with open("$versions") as f:
|
||||
versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module
|
||||
|
||||
# aggregate versions by the module name (derived from fully-qualified process name)
|
||||
versions_by_module = {}
|
||||
for process, process_versions in versions_by_process.items():
|
||||
module = process.split(":")[-1]
|
||||
try:
|
||||
if versions_by_module[module] != process_versions:
|
||||
raise AssertionError(
|
||||
"We assume that software versions are the same between all modules. "
|
||||
"If you see this error-message it means you discovered an edge-case "
|
||||
"and should open an issue in nf-core/tools. "
|
||||
)
|
||||
except KeyError:
|
||||
versions_by_module[module] = process_versions
|
||||
# aggregate versions by the module name (derived from fully-qualified process name)
|
||||
versions_by_module = {}
|
||||
for process, process_versions in versions_by_process.items():
|
||||
module = process.split(":")[-1]
|
||||
try:
|
||||
if versions_by_module[module] != process_versions:
|
||||
raise AssertionError(
|
||||
"We assume that software versions are the same between all modules. "
|
||||
"If you see this error-message it means you discovered an edge-case "
|
||||
"and should open an issue in nf-core/tools. "
|
||||
)
|
||||
except KeyError:
|
||||
versions_by_module[module] = process_versions
|
||||
|
||||
versions_by_module["Workflow"] = {
|
||||
"Nextflow": "$workflow.nextflow.version",
|
||||
"$workflow.manifest.name": "$workflow.manifest.version",
|
||||
}
|
||||
versions_by_module["Workflow"] = {
|
||||
"Nextflow": "$workflow.nextflow.version",
|
||||
"$workflow.manifest.name": "$workflow.manifest.version",
|
||||
}
|
||||
|
||||
versions_mqc = {
|
||||
"id": "software_versions",
|
||||
"section_name": "${workflow.manifest.name} Software Versions",
|
||||
"section_href": "https://github.com/${workflow.manifest.name}",
|
||||
"plot_type": "html",
|
||||
"description": "are collected at run time from the software output.",
|
||||
"data": _make_versions_html(versions_by_module),
|
||||
}
|
||||
versions_mqc = {
|
||||
"id": "software_versions",
|
||||
"section_name": "${workflow.manifest.name} Software Versions",
|
||||
"section_href": "https://github.com/${workflow.manifest.name}",
|
||||
"plot_type": "html",
|
||||
"description": "are collected at run time from the software output.",
|
||||
"data": _make_versions_html(versions_by_module),
|
||||
}
|
||||
|
||||
with open("software_versions.yml", "w") as f:
|
||||
yaml.dump(versions_by_module, f, default_flow_style=False)
|
||||
with open("software_versions_mqc.yml", "w") as f:
|
||||
yaml.dump(versions_mqc, f, default_flow_style=False)
|
||||
with open("software_versions.yml", "w") as f:
|
||||
yaml.dump(versions_by_module, f, default_flow_style=False)
|
||||
with open("software_versions_mqc.yml", "w") as f:
|
||||
yaml.dump(versions_mqc, f, default_flow_style=False)
|
||||
|
||||
with open("versions.yml", "w") as f:
|
||||
yaml.dump(versions_this_module, f, default_flow_style=False)
|
||||
with open("versions.yml", "w") as f:
|
||||
yaml.dump(versions_this_module, f, default_flow_style=False)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
38
modules/nf-core/fastqc/main.nf
generated
38
modules/nf-core/fastqc/main.nf
generated
|
@ -2,7 +2,7 @@ process FASTQC {
|
|||
tag "$meta.id"
|
||||
label 'process_medium'
|
||||
|
||||
conda (params.enable_conda ? "bioconda::fastqc=0.11.9" : null)
|
||||
conda "bioconda::fastqc=0.11.9"
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' :
|
||||
'quay.io/biocontainers/fastqc:0.11.9--0' }"
|
||||
|
@ -20,30 +20,22 @@ process FASTQC {
|
|||
|
||||
script:
|
||||
def args = task.ext.args ?: ''
|
||||
// Add soft-links to original FastQs for consistent naming in pipeline
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
if (meta.single_end) {
|
||||
"""
|
||||
[ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz
|
||||
fastqc $args --threads $task.cpus ${prefix}.fastq.gz
|
||||
// Make list of old name and new name pairs to use for renaming in the bash while loop
|
||||
def old_new_pairs = reads instanceof Path || reads.size() == 1 ? [[ reads, "${prefix}.${reads.extension}" ]] : reads.withIndex().collect { entry, index -> [ entry, "${prefix}_${index + 1}.${entry.extension}" ] }
|
||||
def rename_to = old_new_pairs*.join(' ').join(' ')
|
||||
def renamed_files = old_new_pairs.collect{ old_name, new_name -> new_name }.join(' ')
|
||||
"""
|
||||
printf "%s %s\\n" $rename_to | while read old_name new_name; do
|
||||
[ -f "\${new_name}" ] || ln -s \$old_name \$new_name
|
||||
done
|
||||
fastqc $args --threads $task.cpus $renamed_files
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" )
|
||||
END_VERSIONS
|
||||
"""
|
||||
} else {
|
||||
"""
|
||||
[ ! -f ${prefix}_1.fastq.gz ] && ln -s ${reads[0]} ${prefix}_1.fastq.gz
|
||||
[ ! -f ${prefix}_2.fastq.gz ] && ln -s ${reads[1]} ${prefix}_2.fastq.gz
|
||||
fastqc $args --threads $task.cpus ${prefix}_1.fastq.gz ${prefix}_2.fastq.gz
|
||||
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" )
|
||||
END_VERSIONS
|
||||
"""
|
||||
}
|
||||
cat <<-END_VERSIONS > versions.yml
|
||||
"${task.process}":
|
||||
fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" )
|
||||
END_VERSIONS
|
||||
"""
|
||||
|
||||
stub:
|
||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||
|
|
2
modules/nf-core/multiqc/main.nf
generated
2
modules/nf-core/multiqc/main.nf
generated
|
@ -1,7 +1,7 @@
|
|||
process MULTIQC {
|
||||
label 'process_single'
|
||||
|
||||
conda (params.enable_conda ? 'bioconda::multiqc=1.13' : null)
|
||||
conda "bioconda::multiqc=1.13"
|
||||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
||||
'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' :
|
||||
'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }"
|
||||
|
|
|
@ -39,7 +39,6 @@ params {
|
|||
validate_params = true
|
||||
show_hidden_params = false
|
||||
schema_ignore_params = 'genomes,fasta'
|
||||
enable_conda = false
|
||||
|
||||
|
||||
// Config options
|
||||
|
@ -182,7 +181,6 @@ try {
|
|||
profiles {
|
||||
debug { process.beforeScript = 'echo $HOSTNAME' }
|
||||
conda {
|
||||
params.enable_conda = true
|
||||
conda.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
|
@ -191,7 +189,6 @@ profiles {
|
|||
charliecloud.enabled = false
|
||||
}
|
||||
mamba {
|
||||
params.enable_conda = true
|
||||
conda.enabled = true
|
||||
conda.useMamba = true
|
||||
docker.enabled = false
|
||||
|
|
|
@ -696,12 +696,6 @@
|
|||
"description": "Show all params when using `--help`",
|
||||
"hidden": true,
|
||||
"help_text": "By default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters."
|
||||
},
|
||||
"enable_conda": {
|
||||
"type": "boolean",
|
||||
"description": "Run this workflow with Conda. You can also use '-profile conda' instead of providing this parameter.",
|
||||
"hidden": true,
|
||||
"fa_icon": "fas fa-bacon"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -250,7 +250,7 @@ workflow TAXPROFILER {
|
|||
*/
|
||||
|
||||
CUSTOM_DUMPSOFTWAREVERSIONS (
|
||||
ch_versions.unique{ it.text }.collectFile(name: 'collated_versions.yml')
|
||||
ch_versions.unique().collectFile(name: 'collated_versions.yml')
|
||||
)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue