Skip to content
Merged
Show file tree
Hide file tree
Changes from 182 commits
Commits
Show all changes
186 commits
Select commit Hold shift + click to select a range
105a51b
BIgMAG compatibility
jeffe107 Sep 16, 2025
5e430e3
[automated] Fix code linting
nf-core-bot Sep 17, 2025
56a200d
Update docs/output.md
jeffe107 Sep 17, 2025
0168b46
Update docs/output.md
jeffe107 Sep 17, 2025
5abd21b
Update main.nf
jeffe107 Sep 17, 2025
926d01c
Update main.nf
jeffe107 Sep 17, 2025
f5b4502
Update main.nf
jeffe107 Sep 17, 2025
83ae6a0
Update modules/local/bigmag_summary/main.nf
jeffe107 Sep 17, 2025
7ef95af
Update modules/local/bigmag_summary/main.nf
jeffe107 Sep 17, 2025
99e5bf8
Update modules/local/bigmag_summary/main.nf
jeffe107 Sep 17, 2025
38e48b2
Update bigmag_summary.py
jeffe107 Sep 17, 2025
22517cd
Update usage.md
jeffe107 Sep 17, 2025
9ca66ae
Update nextflow.config
jeffe107 Sep 17, 2025
568abc5
Update mag.nf
jeffe107 Sep 17, 2025
d34d2ad
Update nextflow_schema.json
jeffe107 Sep 17, 2025
ed196db
Update CHANGELOG.md
jeffe107 Sep 17, 2025
0f3476d
Update main.nf
jeffe107 Sep 17, 2025
bb864fa
Update meta.yml
jeffe107 Sep 17, 2025
bdf5ac3
Make sure to actually test coassembly
jfy133 Oct 24, 2025
f73c635
Fix input to pooling step to combine reads correctly
jfy133 Oct 25, 2025
dac9ccd
Document fix
jfy133 Oct 25, 2025
24a456b
[automated] Fix code linting
nf-core-bot Oct 25, 2025
b033632
Merge branch 'dev' into 890-metaspades-exit-status-21-paired-read-fil…
jfy133 Oct 28, 2025
12f2b25
Correct version in changelog
jfy133 Oct 28, 2025
0b327d6
Merge branch 'dev' into 890-metaspades-exit-status-21-paired-read-fil…
jfy133 Oct 28, 2025
3cfcb59
Update snapshot to represent pooled (i.e. coassembled) data
jfy133 Oct 28, 2025
66b1301
Merge branch '890-metaspades-exit-status-21-paired-read-files-contain…
jfy133 Oct 28, 2025
e7b52eb
test_assembly_input snapshot [WIP]
dialvarezs Oct 28, 2025
57f55a3
test_assembly_input snapshot [WIP]
dialvarezs Oct 28, 2025
7bc845f
Keep ordering
dialvarezs Oct 28, 2025
f4286b7
Snapshot WIP
dialvarezs Oct 28, 2025
85b0e0b
Excluded BUSCO files from snapshot
dialvarezs Oct 29, 2025
70d1670
Stabilize everything (crossed fingers)
dialvarezs Oct 30, 2025
6aacaa0
[automated] Fix code linting
nf-core-bot Oct 30, 2025
b238041
Exclude BUSCO summaries from snapshot
dialvarezs Oct 31, 2025
fd4cd04
Update alternatives snapshot
dialvarezs Oct 31, 2025
e218c5d
Add FASTA checks
dialvarezs Oct 31, 2025
502473f
Changelog and cleanup
dialvarezs Oct 31, 2025
07a0f3e
Merge branch 'dev' into dev
jfy133 Nov 3, 2025
2b3d60f
Merge remote-tracking branch 'upstream/dev' into snapshot_assembly_input
dialvarezs Nov 3, 2025
4b62f2f
Fix snapshots
dialvarezs Nov 3, 2025
db6805b
Update depths script to guarantee ordering
dialvarezs Nov 3, 2025
0389266
Update changelog
dialvarezs Nov 3, 2025
f6e0fa5
Merge branch 'dev' into dev
jfy133 Nov 7, 2025
3592950
Post release version bump
dialvarezs Nov 7, 2025
6bf267e
Merge pull request #923 from dialvarezs/post-5.2.0-bump
dialvarezs Nov 7, 2025
455b1e5
Remove duplicated block from README
dialvarezs Nov 7, 2025
5c33d7c
Fix rocrate
dialvarezs Nov 7, 2025
3612fc1
Merge pull request #924 from dialvarezs/update-readme
dialvarezs Nov 7, 2025
f042bdd
Merge branch 'dev' into snapshot_assembly_input
dialvarezs Nov 11, 2025
91495d2
Add CSV check for busco summary
dialvarezs Nov 11, 2025
c5a7916
Update snapshots
dialvarezs Nov 11, 2025
fb4d3d7
Add bin summary CSV check and cleanup
dialvarezs Nov 12, 2025
ac3c15e
Update snapshots
dialvarezs Nov 12, 2025
331361c
Fix tiara_classify version reporting
dialvarezs Nov 12, 2025
9739b41
Update snapshots
dialvarezs Nov 12, 2025
63b9a7f
Sort nftignore
dialvarezs Nov 12, 2025
37ecc25
Fix when there are no too short contigs for MetaBinner
d4straub Nov 12, 2025
a9f0087
Merge pull request #927 from d4straub/fix-metabinner-tooshort
d4straub Nov 12, 2025
c8f62e6
Add check for number of bins in bin summary
dialvarezs Nov 12, 2025
5868522
Merge pull request #905 from dialvarezs/snapshot_assembly_input
dialvarezs Nov 12, 2025
a5523f1
fix(domain_classification): remove assembler arg from script
prototaxites Nov 13, 2025
a2d22a6
fix(domain_classification): remove assembler from args
prototaxites Nov 13, 2025
d1b9383
fix: update changelog
prototaxites Nov 13, 2025
3dba89e
[automated] Fix code linting
nf-core-bot Nov 13, 2025
a890971
temp: trigger ci by touching nf-test file
prototaxites Nov 13, 2025
86333fd
fix(tests): trigger full test run when scripts in bin/ modified
prototaxites Nov 13, 2025
3034d51
fix: undo temp nf-test touch
prototaxites Nov 13, 2025
566b89d
Update CHANGELOG.md
jfy133 Nov 13, 2025
d37a552
Apply suggestion from @jfy133
jfy133 Nov 13, 2025
52063e1
Merge pull request #929 from nf-core/928-fix-domain-classification-lo…
jfy133 Nov 13, 2025
85c1644
integrate semibin/singleeasybin
d4straub Nov 14, 2025
8d66773
[automated] Fix code linting
nf-core-bot Nov 14, 2025
13fb75b
Merge branch 'dev' into 890-metaspades-exit-status-21-paired-read-fil…
dialvarezs Nov 16, 2025
4965ca7
Update snapshot
dialvarezs Nov 16, 2025
515f422
Finish fixing of pooling reads
dialvarezs Nov 16, 2025
8b1e7fd
Change deprecated Channel by channel and use explicit params in closures
dialvarezs Nov 16, 2025
0d18e53
Normalize workflow input type hints
dialvarezs Nov 16, 2025
16f319f
Fix tuple decomposition errors
dialvarezs Nov 16, 2025
00e707f
Remove unneded new line
dialvarezs Nov 16, 2025
f80eddc
Update changelog
dialvarezs Nov 16, 2025
71af6b1
Update CHANGELOG.md
jfy133 Nov 17, 2025
bb20e9a
Update comment
dialvarezs Nov 17, 2025
28b481c
Update CHANGELOG.md
dialvarezs Nov 17, 2025
052e43c
Merge pull request #894 from nf-core/890-metaspades-exit-status-21-pa…
jfy133 Nov 17, 2025
46285e8
Merge remote-tracking branch 'upstream/dev' into fix-deprecations
dialvarezs Nov 17, 2025
65116a9
Add comment for better context
dialvarezs Nov 17, 2025
e2a91c9
update test_assembly_input.nf.test.snap
d4straub Nov 17, 2025
cbf673e
Sort single end reads too
dialvarezs Nov 17, 2025
2c53e70
Set 4 concurrent connections for CheckM2 database download
dialvarezs Nov 17, 2025
f58409b
Merge pull request #932 from dialvarezs/fix-deprecations
dialvarezs Nov 17, 2025
d4b5503
ignore checksum of semibin logs that contain time stamps
d4straub Nov 17, 2025
b6084be
update default test snap
d4straub Nov 17, 2025
03f72fd
update test_hybrid test snap
d4straub Nov 17, 2025
5fb9001
skip semibin2 in profile test_alternatives
d4straub Nov 18, 2025
c34b1dd
skip semibin2 in profile test_single_end
d4straub Nov 18, 2025
ed42a1b
Merge branch 'dev' of https://github.com/nf-core/mag into add-semibin
d4straub Nov 18, 2025
fa19a43
correct assembly type handling: short or long reads
d4straub Nov 18, 2025
5af5bf2
skip tests with long reads and too less contigs
d4straub Nov 18, 2025
354ec98
adjust test_hybrid checksums for sequencing-type=long_reads
d4straub Nov 18, 2025
17403f8
add SemiBin2 to docs
d4straub Nov 18, 2025
8588892
Merge pull request #933 from dialvarezs/increase-checkm2-download-con…
jfy133 Nov 18, 2025
f5f3c53
fix rocrate_readme_sync
d4straub Nov 18, 2025
142342b
Merge pull request #930 from d4straub/add-semibin
d4straub Nov 19, 2025
55db7cc
Update modules and subworkflows
dialvarezs Nov 20, 2025
d71f891
Update more modules
dialvarezs Nov 20, 2025
00447d0
Template update for nf-core/tools version 3.5.1
nf-core-bot Nov 20, 2025
fbeb634
Update snapshots
dialvarezs Nov 20, 2025
a3cd610
Merge branch 'dev' into nf-core-template-merge-3.5.1
dialvarezs Nov 20, 2025
7943073
Sync ro-crate
dialvarezs Nov 20, 2025
fa48d76
Update changelog
dialvarezs Nov 20, 2025
1a96418
Update snapshots
dialvarezs Nov 20, 2025
baede00
Merge pull request #937 from nf-core/nf-core-template-merge-3.5.1
dialvarezs Nov 20, 2025
805e8bd
Merge remote-tracking branch 'upstream/dev' into update-modules
dialvarezs Nov 20, 2025
b3b1e2e
Update more modules
dialvarezs Nov 20, 2025
defe1a5
Update changelog
dialvarezs Nov 20, 2025
f55b9af
Update snapshot
dialvarezs Nov 20, 2025
658f63f
BIgMAG compatibility
jeffe107 Nov 21, 2025
2ce8180
Merge branch 'dev' into dev
jfy133 Nov 21, 2025
a670f5e
[automated] Fix code linting
nf-core-bot Nov 21, 2025
de1c78f
Merge pull request #938 from dialvarezs/update-modules
dialvarezs Nov 24, 2025
be41a8a
Delete modules/local/concat_bigmag directory
jeffe107 Nov 27, 2025
bb198c3
Update docs/output.md
jeffe107 Nov 27, 2025
a65a4ef
Update docs/usage.md
jeffe107 Nov 27, 2025
af7cbc3
Update usage.md
jeffe107 Nov 27, 2025
2e5011c
Update subworkflows/local/bin_qc/main.nf
jeffe107 Nov 27, 2025
7906c2b
Add validation for BIgMAG file generation parameters
jeffe107 Nov 27, 2025
fa84fcf
Update workflows/mag.nf
jeffe107 Nov 27, 2025
8e58f35
Clarify help text for generate_bigmag_file
jeffe107 Nov 27, 2025
5c3535a
Fix error message for BIgMAG file generation
jeffe107 Nov 27, 2025
e6b272b
Fix BIgMAG parameter validation logic
jeffe107 Nov 27, 2025
c148f2d
Fix logical error in BIgMAG parameters check
jeffe107 Nov 27, 2025
547222d
Add BigMAG compatibility badge to README
jeffe107 Nov 27, 2025
819a5a6
Update BigMAG badge link in README.md
jeffe107 Nov 27, 2025
c942602
Update badge for BigMAG compatibility
jeffe107 Nov 27, 2025
49b4b9e
Fix busc report concat
dialvarezs Nov 27, 2025
08c74e5
Update changelog
dialvarezs Nov 27, 2025
6746972
Update snapshot
dialvarezs Nov 27, 2025
206d7a6
Fix meta linting
dialvarezs Nov 27, 2025
1beb229
Skip mixing of GTDB-Tk files when binning is skipped
dialvarezs Nov 27, 2025
4ae096b
Update changelog
dialvarezs Nov 27, 2025
2076b2c
Merge pull request #945 from dialvarezs/fix-gtdbtk-multiqc-skip
dialvarezs Nov 27, 2025
019f34c
Merge branch 'dev' into fix-busco-concat
dialvarezs Nov 28, 2025
a54d008
[automated] Fix code linting
nf-core-bot Nov 28, 2025
4373f13
Add deprecation
dialvarezs Nov 28, 2025
c8900f6
Merge branch 'fix-busco-concat' of github.com:dialvarezs/mag into fix…
dialvarezs Nov 28, 2025
dab159e
Update docs/output.md
jeffe107 Nov 28, 2025
a6429c5
Update docs/output.md
jeffe107 Nov 28, 2025
4a05fa9
Update nextflow_schema.json
jeffe107 Nov 28, 2025
97840fd
Update test_assembly_input.config
jeffe107 Nov 28, 2025
bfb0e37
Merge branch 'dev' into dev-jeffe107
dialvarezs Nov 28, 2025
6201615
[automated] Fix code linting
nf-core-bot Nov 28, 2025
a20cf8e
Add BigMAG compatibility badge to README
jeffe107 Nov 28, 2025
cb2863a
Update BigMAG compatibility badge color
jeffe107 Nov 28, 2025
9d82e0f
Update CITATIONS.md
jeffe107 Nov 28, 2025
0bc2b1d
Update docs/usage.md
jeffe107 Nov 28, 2025
4806731
Fix punctuation in BIgMAG compatibility section
jeffe107 Nov 28, 2025
d959f3c
Fix description formatting for generate_bigmag_file
jeffe107 Nov 28, 2025
d31346d
Update snapshot
dialvarezs Nov 28, 2025
877848f
Merge pull request #943 from dialvarezs/fix-busco-concat
dialvarezs Nov 28, 2025
7d1a105
Move entry to dev section
jfy133 Dec 1, 2025
06c5ab7
Merge pull request #861 from jeffe107/dev
jeffe107 Dec 1, 2025
74ba948
Bump version
dialvarezs Dec 1, 2025
b174aa4
Update metromaps
dialvarezs Dec 1, 2025
72d7492
Bump version in snapshots
dialvarezs Dec 1, 2025
a1d4ffa
Merge pull request #947 from dialvarezs/prerelease-version-bump-5.3.0
dialvarezs Dec 1, 2025
f2fdb8c
Address #948 review comments
dialvarezs Dec 1, 2025
f7dd196
Style
dialvarezs Dec 1, 2025
2852171
Update comment about BIgMAG
dialvarezs Dec 1, 2025
49ec21b
Downgrade multiqc to prevent issue
dialvarezs Dec 1, 2025
4b07090
Update snapshots
dialvarezs Dec 1, 2025
783d3bc
Merge pull request #949 from dialvarezs/review-fixes
dialvarezs Dec 2, 2025
5750548
Update semibin module
dialvarezs Dec 2, 2025
f61a474
Merge pull request #952 from dialvarezs/update-semibin
dialvarezs Dec 3, 2025
9003119
METASPAdes error 250 (OOM) triggers retry rather than finish
AlexHoratio Dec 3, 2025
3931a42
Update CHANGELOG.md
AlexHoratio Dec 3, 2025
664423a
Merge pull request #953 from AlexHoratio/metaspades_e250
dialvarezs Dec 3, 2025
09db8a9
Add verifications to ensure that GTDB-Tk is only run when bin QC is e…
dialvarezs Dec 3, 2025
657493c
Fix param names, add additional warning
dialvarezs Dec 3, 2025
1690a26
Fix conditional
dialvarezs Dec 3, 2025
fea7965
Update changelog
dialvarezs Dec 3, 2025
45119fa
Merge pull request #954 from dialvarezs/fix-gtdbtk-binqc
dialvarezs Dec 3, 2025
2ad091e
Update CHANGELOG.md
jfy133 Dec 3, 2025
f5aecb6
Support assembly input + long reads
dialvarezs Dec 3, 2025
68492ba
Update changelog
dialvarezs Dec 3, 2025
df02889
Merge pull request #956 from dialvarezs/fix-lr-assembly-input
dialvarezs Dec 3, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
}
profiles: test_full

- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: Seqera Platform debug log file
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
}
profiles: test

- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: Seqera Platform debug log file
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
fi

- name: Upload Nextflow logfile for debugging purposes
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: nextflow_logfile.txt
path: .nextflow.log*
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fix_linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
# Use the @nf-core-bot token to check out so we can push later
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
token: ${{ secrets.nf_core_bot_auth_token }}

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

- name: Set up Python 3.14
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
Expand All @@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5

- name: Install Nextflow
uses: nf-core/setup-nextflow@v2
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:

- name: Upload linting log file artifact
if: ${{ always() }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: linting-logs
path: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nf-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
rm -rf ./* || true
rm -rf ./.??* || true
ls -la ./
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
TOTAL_SHARDS: ${{ needs.nf-test-changes.outputs.total_shards }}

steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/template-version-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
ref: ${{ github.event.pull_request.head.sha }}

Expand Down
4 changes: 2 additions & 2 deletions .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ lint:
- config_defaults:
- params.phix_reference
- params.lambda_reference
nf_core_version: 3.4.1
nf_core_version: 3.5.1
repository_type: pipeline
template:
author: "Hadrien Gourlé, Daniel Straub, Sabrina Krakau, James A. Fellows Yates, Maxime Borry"
Expand All @@ -16,4 +16,4 @@ template:
name: mag
org: nf-core
outdir: .
version: 5.2.0
version: 5.3.0
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ testing*
bin/
.nf-test/
ro-crate-metadata.json
modules/nf-core/
subworkflows/nf-core/
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,50 @@
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).

## v5.3.0 - Rainbow Rattlesnake [2025-12-05]

### `Added`

- [#905](https://github.com/nf-core/mag/pull/905) - Add nf-test snapshot for `test_assembly_input` profile (by @dialvarezs)
- [#930](https://github.com/nf-core/mag/pull/930) - Add binner SemiBin2 (by @d4straub)
- [#861](https://github.com/nf-core/mag/pull/861) - Added `--generate_bigmag_file` to execute the bigmag workflow that generates the file to be used as input for [BIgMAG](https://github.com/jeffe107/BIgMAG) (added by @jeffe107)

### `Changed`

- [#932](https://github.com/nf-core/mag/pull/932) - Replaced usages of deprecated `Channel()` with `channel()` and fix other LSP warnings (by @dialvarezs)
- [#937](https://github.com/nf-core/mag/pull/937) - Updated to nf-core 3.5.1 `TEMPLATE` (by @dialvarezs)
- [#938](https://github.com/nf-core/mag/pull/938) - Update nf-core modules (by @dialvarezs)

### `Fixed`

- [#894](https://github.com/nf-core/mag/pull/894) - Fix read order in metaSPAdes to allow co-assembly of paired-end data of multiple samples (reported by @maartenciers, fix by @jfy133 with contributions from @prototaxites, @d4straub and @dialvarezs)
- [#927](https://github.com/nf-core/mag/pull/927) - MetaBinner now succeeds when no contigs are too short or all are binned (reported by @MicroSeq, fix by @d4straub)
- [#929](https://github.com/nf-core/mag/pull/929) - Allow the domain_classification.R script to run with any assembler, not just Megahit or Spades (reported by @MicroSeq, fix by @prototaxites)
- [#943](https://github.com/nf-core/mag/pull/943) - Fixed concatenation of BUSCO summaries with uneven columns by changing from `csvtk` to `qsv` (reported by @jfy133 and @julianu, fix by @dialvarezs)
- [#943](https://github.com/nf-core/mag/pull/943) - Fixed creation of the Tiara report channel used for concatenation (by @dialvarezs)
- [#945](https://github.com/nf-core/mag/pull/945) - Skip mixing of GTDB-Tk MultiQC files when binning is skipped (reported by @amizeranschi, fix by @dialvarezs)
- [#953](https://github.com/nf-core/mag/pull/953) - metaSPAdes retries upon error 250 (out of memory), rather than finishing the pipeline.
- [#945](https://github.com/nf-core/mag/pull/954) - Skip GTDB-Tk when no bin QC tool is enabled and add warning messages (fix by @dialvarezs)

### `Dependencies`

| Tool | Previous version | New version |
| -------- | ---------------- | ----------- |
| bcftools | 1.21 | 1.22 |
| csvtk | 0.31.0 | 5.1.0 |
| fastp | 0.24.0 | 1.0.1 |
| geNomad | 1.11.1 | 1.11.2 |
| metamdbg | 1.1 | 1.2 |
| mmseqs | 17.b804f | 18.8cc5c |
| nf-core | | 3.5.1 |
| qsv | | 5.1.0 |
| samtools | 1.21 | 1.22.1 |
| SemiBin2 | | 2.2.0 |

### `Deprecated`

- [#943](https://github.com/nf-core/mag/pull/943) - Remove `csvtk/concat` module (by @dialvarezs).

## v5.2.0 - Puce Pangolin [2025-11-07]

### `Added`
Expand Down
8 changes: 8 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@

> Wang Z, Huang P, You R, Sun F, Zhu S. MetaBinner: a high-performance and stand-alone ensemble binning method to recover individual genomes from complex microbial communities. Genome Biol. 2023 Jan 6;24(1):1. doi: 10.1186/s13059-022-02832-6. PMID: 36609515; PMCID: PMC9817263.

- [SemiBin2](https://doi.org/10.1038/s41467-022-29843-y)

> Pan S, Zhu C, Zhao XM, Coelho LP. A deep siamese neural network improves metagenome-assembled genomes in microbiome datasets across different environments. Nat Commun. 2022 Apr 28;13(1):2326. doi: 10.1038/s41467-022-29843-y. PMID: 35484115; PMCID: PMC9051138.

- [DAS Tool](https://doi.org/10.1038/s41564-018-0171-1)

> Sieber, C. M. K., et al. 2018. "Recovery of Genomes from Metagenomes via a Dereplication, Aggregation and Scoring Strategy." Nature Microbiology 3 (7): 836-43. doi: 10.1038/s41564-018-0171-1
Expand Down Expand Up @@ -90,6 +94,10 @@

> Orakov, A., Fullam, A., Coelho, A. P., Khedkar, S., Szklarczyk, D., Mende, D. R., Schmidt, T. S. B., and Bork, P.. 2021. “GUNC: Detection of Chimerism and Contamination in Prokaryotic Genomes.” Genome Biology 22 (1): 178. doi: 10.1186/s13059-021-02393-0.

- [BIgMAG](https://doi.org/10.12688/f1000research.152290.2)

> Yepes-García, J., Falquet, L. (2024). Metagenome quality metrics and taxonomical annotation visualization through the integration of MAGFlow and BIgMAG. F1000Research 13:640. doi.org/10.12688/f1000research.152290.2

- [MaxBin2](https://doi.org/10.1093/bioinformatics/btv638)

> Yu-Wei, W., Simmons, B. A. & Singer, S. W. (2015) MaxBin 2.0: An Automated Binning Algorithm to Recover Genomes from Multiple Metagenomic Datasets. Bioinformatics 32 (4): 605–7. doi: 10.1093/bioinformatics/btv638.
Expand Down
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,26 @@
</picture>
</h1>

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new/nf-core/mag)
[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/mag)
[![GitHub Actions CI Status](https://github.com/nf-core/mag/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/mag/actions/workflows/nf-test.yml)
[![GitHub Actions Linting Status](https://github.com/nf-core/mag/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/mag/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/mag/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3589527-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3589527)
[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)
[![Cite Publication](https://img.shields.io/badge/Cite%20Us!-Cite%20Publication-orange)](https://doi.org/10.1093/nargab/lqac007)

[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.04.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.4.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.4.1)
[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.5.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.5.1)
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)

[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/mag)

[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23mag-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/mag)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)

![HiRSE Code Promo Badge](https://img.shields.io/badge/Promo-8db427?label=HiRSE&labelColor=005aa0&link=https%3A%2F%2Fgo.fzj.de%2FCodePromo)

[![Static Badge](https://img.shields.io/badge/%F0%9F%8D%94%20%20BIgMAG-compatible-%2324B064)](https://github.com/jeffe107/BIgMAG)

## Introduction

**nf-core/mag** is a bioinformatics best-practise analysis pipeline for assembly, binning and annotation of metagenomes.
Expand All @@ -35,19 +38,14 @@

## Pipeline summary

## Usage

> [!NOTE]
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.

By default, the pipeline currently performs the following: it supports both short and long reads, quality trims the reads and adapters with [fastp](https://github.com/OpenGene/fastp), [AdapterRemoval](https://github.com/MikkelSchubert/adapterremoval), or [trimmomatic](https://github.com/usadellab/Trimmomatic) and [Porechop](https://github.com/rrwick/Porechop), and performs basic QC with [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/), and merges multiple sequencing runs.

The pipeline then:

- performs assembly using [MEGAHIT](https://github.com/voutcn/megahit) and [SPAdes](http://cab.spbu.ru/software/spades/), and checks their quality using [Quast](http://quast.sourceforge.net/quast)
- (optionally) performs ancient DNA assembly validation using [PyDamage](https://github.com/maxibor/pydamage) and contig consensus sequence recalling with [Freebayes](https://github.com/freebayes/freebayes) and [BCFtools](http://samtools.github.io/bcftools/bcftools.html)
- predicts protein-coding genes for the assemblies using [Prodigal](https://github.com/hyattpd/Prodigal), and bins with [Prokka](https://github.com/tseemann/prokka) and optionally [MetaEuk](https://www.google.com/search?channel=fs&client=ubuntu-sn&q=MetaEuk)
- performs metagenome binning using [MetaBAT2](https://bitbucket.org/berkeleylab/metabat/src/master/), [MaxBin2](https://sourceforge.net/projects/maxbin2/), [CONCOCT](https://github.com/BinPro/CONCOCT), [COMEBin](https://github.com/ziyewang/COMEBin), and/or [MetaBinner](https://github.com/ziyewang/MetaBinner)
- performs metagenome binning using [MetaBAT2](https://bitbucket.org/berkeleylab/metabat/src/master/), [MaxBin2](https://sourceforge.net/projects/maxbin2/), [CONCOCT](https://github.com/BinPro/CONCOCT), [COMEBin](https://github.com/ziyewang/COMEBin), [MetaBinner](https://github.com/ziyewang/MetaBinner), and/or [SemiBin2](https://github.com/BigDataBiology/SemiBin)
- checks the quality of the genome bins using [Busco](https://busco.ezlab.org/), [CheckM](https://ecogenomics.github.io/CheckM/), or [CheckM2](https://github.com/chklovski/CheckM2) and optionally [GUNC](https://grp-bork.embl-community.io/gunc/)
- Performs ancient DNA validation and repair with [pyDamage](https://github.com/maxibor/pydamage) and [freebayes](https://github.com/freebayes/freebayes)
- optionally refines bins with [DAS Tool](https://github.com/cmks/DAS_Tool)
Expand Down Expand Up @@ -102,6 +100,7 @@ Other code contributors include:
- [Greg Fedewa](https://github.com/harper357)
- [Vini Salazar](https://github.com/vinisalazar)
- [Alex Caswell](https://github.com/AlexHoratio)
- [Jeferyd Yepes](https://github.com/jeffe107)

Long read processing was inspired by [caspargross/HybridAssembly](https://github.com/caspargross/HybridAssembly) written by Caspar Gross [@caspargross](https://github.com/caspargross)

Expand Down
2 changes: 1 addition & 1 deletion assets/multiqc_config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
report_comment: >
This report has been generated by the <a href="https://github.com/nf-core/mag/releases/tag/5.2.0" 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/5.2.0/docs/output" target="_blank">documentation</a>.
This report has been generated by the <a href="https://github.com/nf-core/mag/releases/tag/5.3.0" 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/5.3.0/docs/output" target="_blank">documentation</a>.
report_section_order:
"nf-core-mag-methods-description":
order: -1000
Expand Down
1 change: 1 addition & 0 deletions bin/combine_tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ def main(args=None):
"Coding_Density",
"Translation_Table_Used",
"Total_Coding_Sequences",
"Genome_Size"
]
checkm2_results = pd.read_csv(
args.checkm2_summary, usecols=use_columns, sep="\t"
Expand Down
31 changes: 10 additions & 21 deletions bin/domain_classification.R
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ parser <- add_option(parser, c("-j", "--join_prokaryotes"),
default = TRUE,
metavar = "logical",
help = "Use an general prokaryote classification instead of separating Archaea and Bacteria.")
parser <- add_option(parser, c("-a", "--assembler"),
action = "store",
type = "character",
metavar = "character",
help = "Assembler used to assemble the contigs. 'MEGAHIT' or 'SPAdes' only.")
parser <- add_option(parser, c("-o", "--output_prefix"),
action = "store",
type = "character",
Expand All @@ -42,12 +37,6 @@ if(is.null(args$classification_file)) {
if(is.null(args$contig_to_bin)) {
stop("Contig to bin file not provided.")
}
if(is.null(args$assembler)) {
stop("Assembler not provided.")
}
if(!(args$assembler %in% c("MEGAHIT", "SPAdes"))) {
stop("Invalid assembler provided.")
}

find_classification <- function(probabilities, join_prokaryotes = TRUE) {
if(join_prokaryotes) {
Expand All @@ -58,14 +47,13 @@ find_classification <- function(probabilities, join_prokaryotes = TRUE) {
return(classifications[which.max(probabilities)])
}

classify_bins <- function(tiara, contig2bin, join_prokaryotes, assembler){
## MEGAHIT produces contigs with spaces in the name
classify_bins <- function(tiara, contig2bin, join_prokaryotes){
## Some assemblers produce contigs with spaces in the name
## Depending on the binner, everything after the first space is sometimes dropped
## Make sure that we drop everything after a possible space before doing anything else to allow merging
if(assembler == "MEGAHIT"){
tiara$sequence_id <- word(tiara$sequence_id)
contig2bin$sequence_id <- word(contig2bin$sequence_id)
}
tiara$sequence_id <- word(tiara$sequence_id)
contig2bin$sequence_id <- word(contig2bin$sequence_id)

if(join_prokaryotes) {
n_classifications <- 4
} else {
Expand Down Expand Up @@ -140,10 +128,11 @@ classify_bins <- function(tiara, contig2bin, join_prokaryotes, assembler){
classifications <- read_tsv(args$classification_file, na = c("NA", "n/a"))
contig_to_bin <- read_tsv(args$contig_to_bin, col_names = c("sequence_id", "BinID"))

results <- classify_bins(tiara = classifications,
contig2bin = contig_to_bin,
join_prokaryotes = args$join_prokaryotes,
assembler = args$assembler)
results <- classify_bins(
tiara = classifications,
contig2bin = contig_to_bin,
join_prokaryotes = args$join_prokaryotes
)

## Keep just the classifications so we can loop over more easily
results_basic <- select(results, BinID, classification)
Expand Down
Loading
Loading