1
0
Fork 0
mirror of https://github.com/MillironX/taxprofiler.git synced 2024-11-22 08:09:54 +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:
Sofia Stamouli 2022-12-21 09:18:40 +01:00 committed by GitHub
commit 35b296e5fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 77 additions and 82 deletions

View file

@ -34,9 +34,9 @@ jobs:
id: prettier_status id: prettier_status
run: | run: |
if prettier --check ${GITHUB_WORKSPACE}; then if prettier --check ${GITHUB_WORKSPACE}; then
echo "name=result::pass" >> $GITHUB_OUTPUT echo "result=pass" >> $GITHUB_OUTPUT
else else
echo "name=result::fail" >> $GITHUB_OUTPUT echo "result=fail" >> $GITHUB_OUTPUT
fi fi
- name: Run 'prettier --write' - name: Run 'prettier --write'

View file

@ -18,7 +18,7 @@ jobs:
- name: Get PR number - name: Get PR number
id: 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 - name: Post PR comment
uses: marocchino/sticky-pull-request-comment@v2 uses: marocchino/sticky-pull-request-comment@v2

View file

@ -72,7 +72,7 @@ class WorkflowMain {
NfcoreTemplate.checkConfigProvided(workflow, log) NfcoreTemplate.checkConfigProvided(workflow, log)
// Check that conda channels are set-up correctly // Check that conda channels are set-up correctly
if (params.enable_conda) { if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) {
Utils.checkCondaChannels(log) Utils.checkCondaChannels(log)
} }

View file

@ -52,7 +52,7 @@
}, },
"custom/dumpsoftwareversions": { "custom/dumpsoftwareversions": {
"branch": "master", "branch": "master",
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
"installed_by": ["modules"] "installed_by": ["modules"]
}, },
"diamond/blastx": { "diamond/blastx": {
@ -73,7 +73,7 @@
}, },
"fastqc": { "fastqc": {
"branch": "master", "branch": "master",
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
"installed_by": ["modules"] "installed_by": ["modules"]
}, },
"filtlong": { "filtlong": {
@ -173,7 +173,7 @@
}, },
"multiqc": { "multiqc": {
"branch": "master", "branch": "master",
"git_sha": "5e34754d42cd2d5d248ca8673c0a53cdf5624905", "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
"installed_by": ["modules"] "installed_by": ["modules"]
}, },
"porechop/porechop": { "porechop/porechop": {

View file

@ -1,7 +1,7 @@
process SAMPLESHEET_CHECK { process SAMPLESHEET_CHECK {
tag "$samplesheet" 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 ? container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/python:3.8.3' : 'https://depot.galaxyproject.org/singularity/python:3.8.3' :
'quay.io/biocontainers/python:3.8.3' }" 'quay.io/biocontainers/python:3.8.3' }"

View file

@ -2,7 +2,7 @@ process CUSTOM_DUMPSOFTWAREVERSIONS {
label 'process_single' label 'process_single'
// Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container // 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 ? container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' : 'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' :
'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }" 'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }"

View file

@ -1,11 +1,17 @@
#!/usr/bin/env python #!/usr/bin/env python
import yaml
"""Provide functions to merge multiple versions.yml files."""
import platform import platform
from textwrap import dedent from textwrap import dedent
import yaml
def _make_versions_html(versions): def _make_versions_html(versions):
"""Generate a tabular HTML output of all versions for MultiQC."""
html = [ html = [
dedent( dedent(
"""\\ """\\
@ -44,47 +50,53 @@ def _make_versions_html(versions):
return "\\n".join(html) return "\\n".join(html)
versions_this_module = {} def main():
versions_this_module["${task.process}"] = { """Load all version files and generate merged output."""
"python": platform.python_version(), versions_this_module = {}
"yaml": yaml.__version__, versions_this_module["${task.process}"] = {
} "python": platform.python_version(),
"yaml": yaml.__version__,
}
with open("$versions") as f: with open("$versions") as f:
versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module versions_by_process = yaml.load(f, Loader=yaml.BaseLoader) | versions_this_module
# aggregate versions by the module name (derived from fully-qualified process name) # aggregate versions by the module name (derived from fully-qualified process name)
versions_by_module = {} versions_by_module = {}
for process, process_versions in versions_by_process.items(): for process, process_versions in versions_by_process.items():
module = process.split(":")[-1] module = process.split(":")[-1]
try: try:
if versions_by_module[module] != process_versions: if versions_by_module[module] != process_versions:
raise AssertionError( raise AssertionError(
"We assume that software versions are the same between all modules. " "We assume that software versions are the same between all modules. "
"If you see this error-message it means you discovered an edge-case " "If you see this error-message it means you discovered an edge-case "
"and should open an issue in nf-core/tools. " "and should open an issue in nf-core/tools. "
) )
except KeyError: except KeyError:
versions_by_module[module] = process_versions versions_by_module[module] = process_versions
versions_by_module["Workflow"] = { versions_by_module["Workflow"] = {
"Nextflow": "$workflow.nextflow.version", "Nextflow": "$workflow.nextflow.version",
"$workflow.manifest.name": "$workflow.manifest.version", "$workflow.manifest.name": "$workflow.manifest.version",
} }
versions_mqc = { versions_mqc = {
"id": "software_versions", "id": "software_versions",
"section_name": "${workflow.manifest.name} Software Versions", "section_name": "${workflow.manifest.name} Software Versions",
"section_href": "https://github.com/${workflow.manifest.name}", "section_href": "https://github.com/${workflow.manifest.name}",
"plot_type": "html", "plot_type": "html",
"description": "are collected at run time from the software output.", "description": "are collected at run time from the software output.",
"data": _make_versions_html(versions_by_module), "data": _make_versions_html(versions_by_module),
} }
with open("software_versions.yml", "w") as f: with open("software_versions.yml", "w") as f:
yaml.dump(versions_by_module, f, default_flow_style=False) yaml.dump(versions_by_module, f, default_flow_style=False)
with open("software_versions_mqc.yml", "w") as f: with open("software_versions_mqc.yml", "w") as f:
yaml.dump(versions_mqc, f, default_flow_style=False) yaml.dump(versions_mqc, f, default_flow_style=False)
with open("versions.yml", "w") as f: with open("versions.yml", "w") as f:
yaml.dump(versions_this_module, f, default_flow_style=False) yaml.dump(versions_this_module, f, default_flow_style=False)
if __name__ == "__main__":
main()

View file

@ -2,7 +2,7 @@ process FASTQC {
tag "$meta.id" tag "$meta.id"
label 'process_medium' 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 ? container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' : 'https://depot.galaxyproject.org/singularity/fastqc:0.11.9--0' :
'quay.io/biocontainers/fastqc:0.11.9--0' }" 'quay.io/biocontainers/fastqc:0.11.9--0' }"
@ -20,30 +20,22 @@ process FASTQC {
script: script:
def args = task.ext.args ?: '' def args = task.ext.args ?: ''
// Add soft-links to original FastQs for consistent naming in pipeline
def prefix = task.ext.prefix ?: "${meta.id}" def prefix = task.ext.prefix ?: "${meta.id}"
if (meta.single_end) { // 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}" ] }
[ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz def rename_to = old_new_pairs*.join(' ').join(' ')
fastqc $args --threads $task.cpus ${prefix}.fastq.gz 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 cat <<-END_VERSIONS > versions.yml
"${task.process}": "${task.process}":
fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" )
END_VERSIONS 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
"""
}
stub: stub:
def prefix = task.ext.prefix ?: "${meta.id}" def prefix = task.ext.prefix ?: "${meta.id}"

View file

@ -1,7 +1,7 @@
process MULTIQC { process MULTIQC {
label 'process_single' 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 ? container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' : 'https://depot.galaxyproject.org/singularity/multiqc:1.13--pyhdfd78af_0' :
'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }" 'quay.io/biocontainers/multiqc:1.13--pyhdfd78af_0' }"

View file

@ -39,7 +39,6 @@ params {
validate_params = true validate_params = true
show_hidden_params = false show_hidden_params = false
schema_ignore_params = 'genomes,fasta' schema_ignore_params = 'genomes,fasta'
enable_conda = false
// Config options // Config options
@ -182,7 +181,6 @@ try {
profiles { profiles {
debug { process.beforeScript = 'echo $HOSTNAME' } debug { process.beforeScript = 'echo $HOSTNAME' }
conda { conda {
params.enable_conda = true
conda.enabled = true conda.enabled = true
docker.enabled = false docker.enabled = false
singularity.enabled = false singularity.enabled = false
@ -191,7 +189,6 @@ profiles {
charliecloud.enabled = false charliecloud.enabled = false
} }
mamba { mamba {
params.enable_conda = true
conda.enabled = true conda.enabled = true
conda.useMamba = true conda.useMamba = true
docker.enabled = false docker.enabled = false

View file

@ -696,12 +696,6 @@
"description": "Show all params when using `--help`", "description": "Show all params when using `--help`",
"hidden": true, "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." "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"
} }
} }
}, },

View file

@ -250,7 +250,7 @@ workflow TAXPROFILER {
*/ */
CUSTOM_DUMPSOFTWAREVERSIONS ( CUSTOM_DUMPSOFTWAREVERSIONS (
ch_versions.unique{ it.text }.collectFile(name: 'collated_versions.yml') ch_versions.unique().collectFile(name: 'collated_versions.yml')
) )