Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Patch release 3.0.2 for fixing BUSCO, CONCOCT and Docker container errors #635

Merged
merged 23 commits into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,29 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 3.0.2 [2024-07-04]

### `Added`

### `Changed`

- [#633](https://github.com/nf-core/mag/pull/633/) - Changed BUSCO to use offline mode when the database is specified by the user (reported by @ChristophKnapp and many others, fix by @jfy133)
- [#632](https://github.com/nf-core/mag/pull/632) - Use default NanoLyse log of just removed reads rather than custom (by @jfy133)

### `Fixed`

- [#630](https://github.com/nf-core/mag/pull/630) - Fix CONCOCT empty bins killing the pipeline, and allow for true multithreading again (removing OPENBLAS loop) (reported by @maxibor, fix by @maxibor and @jfy133)

### `Dependencies`

| Tool | Previous version | New version |
| -------- | ---------------- | ----------- |
| Porechop | 0.2.3_seqan2.1.1 | 0.2.4 |
| NanoPlot | 1.26.3 | 1.41.6 |
| NanoLyse | 1.1.0 | 1.2.0 |

### `Deprecated`

## 3.0.1 [2024-06-10]

### `Added`
Expand Down
4 changes: 2 additions & 2 deletions assets/multiqc_config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
report_comment: >
This report has been generated by the <a href="https://github.com/nf-core/mag/releases/tag/3.0.1" target="_blank">nf-core/mag</a>
This report has been generated by the <a href="https://github.com/nf-core/mag/releases/tag/3.0.2" target="_blank">nf-core/mag</a>
analysis pipeline. For information about how to interpret these results, please see the
<a href="https://nf-co.re/mag/3.0.1/docs/output" target="_blank">documentation</a>.
<a href="https://nf-co.re/mag/3.0.2/docs/output" target="_blank">documentation</a>.
report_section_order:
"nf-core-mag-methods-description":
order: -1000
Expand Down
14 changes: 9 additions & 5 deletions bin/run_busco.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ bin=$4
task_cpus=$5
lineage_dataset_provided=$6
busco_clean=$7
extra_args=$8

# ensure augustus has write access to config directory
if [ ${cp_augustus_config} = "Y" ]; then
Expand All @@ -30,11 +31,14 @@ shopt -s nullglob
# only used for saving busco downloads
most_spec_db="NA"

if busco ${p} \
--mode genome \
--in ${bin} \
--cpu ${task_cpus} \
--out "BUSCO" >${bin}_busco.log 2>${bin}_busco.err; then
if
busco ${p} \
--mode genome \
--in ${bin} \
--cpu ${task_cpus} \
${extra_args} \
--out "BUSCO" >${bin}_busco.log 2>${bin}_busco.err
then

# get name of used specific lineage dataset
summaries=(BUSCO/short_summary.specific.*.BUSCO.txt)
Expand Down
6 changes: 3 additions & 3 deletions conf/base.config
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ process {
memory = { check_max (8.GB * task.attempt, 'memory' ) }
time = { check_max (6.h * task.attempt, 'time' ) }
}
withName: PORECHOP {
withName: PORECHOP_PORECHOP {
cpus = { check_max (4 * task.attempt, 'cpus' ) }
memory = { check_max (30.GB * task.attempt, 'memory' ) }
time = { check_max (4.h * task.attempt, 'time' ) }
Expand All @@ -93,7 +93,7 @@ process {
memory = { check_max (64.GB * (2**(task.attempt-1)), 'memory' ) }
time = { check_max (24.h * (2**(task.attempt-1)), 'time' ) }
}
withName: CENTRIFUGE {
withName: CENTRIFUGE_CENTRIFUGE {
cpus = { check_max (8 * task.attempt, 'cpus' ) }
memory = { check_max (40.GB * task.attempt, 'memory' ) }
time = { check_max (12.h * task.attempt, 'time' ) }
Expand All @@ -103,7 +103,7 @@ process {
memory = { check_max (40.GB * task.attempt, 'memory' ) }
time = { check_max (12.h * task.attempt, 'time' ) }
}
withName: KRONA {
withName: KRONA_KTIMPORTTAXONOMY {
cpus = { check_max (8 * task.attempt, 'cpus' ) }
memory = { check_max (20.GB * task.attempt, 'memory' ) }
time = { check_max (12.h * task.attempt, 'time' ) }
Expand Down
18 changes: 15 additions & 3 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -167,11 +167,11 @@ process {
]
}

withName: PORECHOP {
withName: PORECHOP_PORECHOP {
publishDir = [
path: { "${params.outdir}/QC_longreads/porechop" },
mode: params.publish_dir_mode,
pattern: "*_porechop.fastq",
pattern: "*_trimmed.fastq",
enabled: params.save_porechop_reads
]
ext.prefix = { "${meta.id}_run${meta.run}_trimmed" }
Expand Down Expand Up @@ -206,6 +206,11 @@ process {

withName: NANOPLOT_RAW {
ext.prefix = 'raw'
ext.args = { [
"-p raw_",
"--title ${meta.id}_raw",
"-c darkblue",
].join(' ').trim() }
publishDir = [
path: { "${params.outdir}/QC_longreads/NanoPlot/${meta.id}" },
mode: params.publish_dir_mode,
Expand All @@ -214,7 +219,11 @@ process {
}

withName: NANOPLOT_FILTERED {
ext.prefix = 'filtered'
ext.args = { [
"-p filtered_",
"--title ${meta.id}_filtered",
"-c darkblue",
].join(' ').trim() }
publishDir = [
path: { "${params.outdir}/QC_longreads/NanoPlot/${meta.id}" },
mode: params.publish_dir_mode,
Expand Down Expand Up @@ -360,6 +369,9 @@ process {
}

withName: 'BUSCO' {
ext.args = [
params.busco_db ? '--offline' : ''
].join(' ').trim()
publishDir = [
path: { "${params.outdir}/GenomeBinning/QC/BUSCO" },
mode: params.publish_dir_mode,
Expand Down
2 changes: 1 addition & 1 deletion docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ The pipeline uses Nanolyse to map the reads against the Lambda phage and removes
<summary>Output files</summary>

- `QC_longreads/NanoLyse/`
- `[sample]_nanolyse.log`: Contains a brief log file indicating how many reads have been retained.
- `[sample]_[run]_lambdafiltered.nanolyse.log`: Contains a brief log file indicating how many reads have been removed.

</details>

Expand Down
27 changes: 21 additions & 6 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,27 +64,27 @@
},
"concoct/concoct": {
"branch": "master",
"git_sha": "c684a6edba2c8516a0d2cfeafb12489b99d2fffb",
"git_sha": "baa30accc6c50ea8a98662417d4f42ed18966353",
"installed_by": ["fasta_binning_concoct"]
},
"concoct/concoctcoveragetable": {
"branch": "master",
"git_sha": "36aa9d3ce6561d9bd5c240bcf82fe109af543c0d",
"git_sha": "baa30accc6c50ea8a98662417d4f42ed18966353",
"installed_by": ["fasta_binning_concoct"]
},
"concoct/cutupfasta": {
"branch": "master",
"git_sha": "36aa9d3ce6561d9bd5c240bcf82fe109af543c0d",
"git_sha": "73a6d7e6077b88aba1c5d6805635d79d6718270c",
"installed_by": ["fasta_binning_concoct"]
},
"concoct/extractfastabins": {
"branch": "master",
"git_sha": "36aa9d3ce6561d9bd5c240bcf82fe109af543c0d",
"git_sha": "baa30accc6c50ea8a98662417d4f42ed18966353",
"installed_by": ["fasta_binning_concoct"]
},
"concoct/mergecutupclustering": {
"branch": "master",
"git_sha": "36aa9d3ce6561d9bd5c240bcf82fe109af543c0d",
"git_sha": "baa30accc6c50ea8a98662417d4f42ed18966353",
"installed_by": ["fasta_binning_concoct"]
},
"custom/dumpsoftwareversions": {
Expand Down Expand Up @@ -197,6 +197,21 @@
"git_sha": "b7ebe95761cd389603f9cc0e0dc384c0f663815a",
"installed_by": ["modules"]
},
"nanolyse": {
"branch": "master",
"git_sha": "3f5420aa22e00bd030a2556dfdffc9e164ec0ec5",
"installed_by": ["modules"]
},
"nanoplot": {
"branch": "master",
"git_sha": "3135090b46f308a260fc9d5991d7d2f9c0785309",
"installed_by": ["modules"]
},
"porechop/porechop": {
"branch": "master",
"git_sha": "1d68c7f248d1a480c5959548a9234602b771199e",
"installed_by": ["modules"]
},
"prodigal": {
"branch": "master",
"git_sha": "603ecbd9f45300c9788f197d2a15a005685b4220",
Expand Down Expand Up @@ -243,7 +258,7 @@
"nf-core": {
"fasta_binning_concoct": {
"branch": "master",
"git_sha": "cfd937a668919d948f6fcbf4218e79de50c2f36f",
"git_sha": "c60c14b285b89bdd0607e371417dadb80385ad6e",
"installed_by": ["subworkflows"]
},
"utils_nextflow_pipeline": {
Expand Down
12 changes: 11 additions & 1 deletion modules/local/busco.nf
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ process BUSCO {
path "versions.yml" , emit: versions

script:
def args = task.ext.args ?: ''
def cp_augustus_config = workflow.profile.toString().indexOf("conda") != -1 ? "N" : "Y"
def lineage_dataset_provided = "${db_meta.lineage}"
def busco_clean = params.busco_clean ? "Y" : "N"
Expand All @@ -36,7 +37,16 @@ process BUSCO {
lineage_dataset_provided = ""
}
"""
run_busco.sh "${p}" "${cp_augustus_config}" "${db}" "${bin}" ${task.cpus} "${lineage_dataset_provided}" "${busco_clean}"
run_busco.sh \\
"${p}" \\
"${cp_augustus_config}" \\
"${db}" \\
"${bin}" \\
${task.cpus} \\
"${lineage_dataset_provided}" \\
"${busco_clean}" \\
"${args}"

most_spec_db=\$(<info_most_spec_db.txt)

cat <<-END_VERSIONS > versions.yml
Expand Down
27 changes: 0 additions & 27 deletions modules/local/centrifuge_db_preparation.nf

This file was deleted.

21 changes: 0 additions & 21 deletions modules/local/krona_db.nf

This file was deleted.

4 changes: 2 additions & 2 deletions modules/local/nanolyse.nf
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ process NANOLYSE {

script:
"""
cat ${reads} | NanoLyse --reference $nanolyse_db | gzip > ${meta.id}_nanolyse.fastq.gz
zcat ${reads} | NanoLyse --reference $nanolyse_db | gzip > ${meta.id}_nanolyse.fastq.gz
echo "NanoLyse reference: $params.lambda_reference" >${meta.id}_nanolyse.log
cat ${reads} | echo "total reads before NanoLyse: \$((`wc -l`/4))" >>${meta.id}_nanolyse.log
zcat ${reads} | echo "total reads before NanoLyse: \$((`wc -l`/4))" >>${meta.id}_nanolyse.log
gunzip -c ${meta.id}_nanolyse.fastq.gz | echo "total reads after NanoLyse: \$((`wc -l`/4))" >> ${meta.id}_nanolyse.log

cat <<-END_VERSIONS > versions.yml
Expand Down
33 changes: 0 additions & 33 deletions modules/local/nanoplot.nf

This file was deleted.

25 changes: 0 additions & 25 deletions modules/local/porechop.nf

This file was deleted.

7 changes: 7 additions & 0 deletions modules/nf-core/concoct/concoct/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading