Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
353 commits
Select commit Hold shift + click to select a range
909c8c3
Merge branch 'update-multiqc' into nw-dev
nickp60 Mar 23, 2026
d4145e1
passing in stub mode
nickp60 Mar 23, 2026
10275be
update modules
nickp60 Mar 24, 2026
11aa244
most tests passing
nickp60 Mar 25, 2026
6835ef8
whitespace fix
nickp60 Mar 25, 2026
c3d943f
Merge pull request #34 from nickp60/nw-dev
nickp60 Mar 25, 2026
042356e
test explicitly listing the container not using function
Mar 27, 2026
ef5825d
fix whitespace
Mar 27, 2026
a706275
use withName instead
Mar 27, 2026
934b8b7
adds missing paren
miraep8 Mar 27, 2026
2a9709c
whoops
miraep8 Mar 27, 2026
bda4d14
try with task.process not name
miraep8 Mar 27, 2026
a265ab7
move regroup to aliases
nickp60 Mar 27, 2026
6cf5b92
fix profiling alias
nickp60 Mar 27, 2026
1befee1
revert container fetching
nickp60 Mar 27, 2026
d453892
add dummy entry to container selection for paritail compliance with
nickp60 Mar 27, 2026
664e0ea
add dummy processes to trick nextflow inspect into cooperating
nickp60 Mar 27, 2026
f792c49
fix weird absolute path issue
nickp60 Mar 27, 2026
786b91b
disable diamond for test profile
nickp60 Mar 28, 2026
e28d0dc
update snapshot
miraep8 Mar 30, 2026
89f04ff
try janky environmet file
miraep8 Mar 30, 2026
86f4ecd
pre-commit
miraep8 Mar 30, 2026
9d0b4ec
update env
miraep8 Mar 30, 2026
68cc530
fix env locally
miraep8 Mar 30, 2026
cfaedfd
adds git
miraep8 Mar 30, 2026
33c09ce
temporarily reduce tests
miraep8 Mar 30, 2026
667d7bf
adds docker where appropriate and manually installs fmh-funcprofiler …
miraep8 Mar 30, 2026
ba18759
adds conditional install to stub as well
miraep8 Mar 30, 2026
f0a3805
explicit call to python?
miraep8 Mar 30, 2026
e3e6eec
explicit call to python when not installed
miraep8 Mar 30, 2026
0ee3027
add python to versions as well
miraep8 Mar 30, 2026
db752a3
udate snapshot to include help not version for fmh-funcprofiler
miraep8 Mar 30, 2026
8cbc0ea
reset tests and also ditch the conditional install
miraep8 Mar 31, 2026
7b326e0
Improve docs
vinisalazar Apr 2, 2026
7be5f94
Apply pre-commit fixes
vinisalazar Apr 2, 2026
73ba613
Improve text
vinisalazar Apr 2, 2026
2ca4781
Pre-commit again
vinisalazar Apr 2, 2026
2816fde
error if fmhfunprofiler is run without container. Test skips run_fmhf…
miraep8 Apr 2, 2026
92c4904
attempts mifaser env
miraep8 Apr 2, 2026
20a1f1d
precommit and fix profile def
miraep8 Apr 2, 2026
7ad3dbd
flip sign
miraep8 Apr 2, 2026
bd4c8c9
update mifaser version
miraep8 Apr 2, 2026
d23e157
resotre test snapshot
miraep8 Apr 2, 2026
89d95d6
temporarily turn off latest everything and update snapshots
miraep8 Apr 2, 2026
fcc7160
actually update snapshot with correct nf version and singularity profile
miraep8 Apr 2, 2026
815320f
simplify container paths
miraep8 Apr 2, 2026
7cc16fc
update mifaser to conda version - yay!
miraep8 Apr 8, 2026
231528e
fix eof
nickp60 Apr 9, 2026
6d8d3bd
disable conda from ci
nickp60 Apr 9, 2026
9ac4648
fix name, bump shards
nickp60 Apr 9, 2026
803cb9c
remove yml from tests, re-enable fmhfunprofiler for tests
nickp60 Apr 9, 2026
f2feaa9
simplify regroup singularity prefix
nickp60 Apr 9, 2026
24178ea
Merge pull request #38 from vinisalazar/docs
vinisalazar Apr 9, 2026
89ec4fe
fix snap
nickp60 Apr 9, 2026
5902136
Merge branch 'dev' of github.com:nf-core/funcprofiler into dev
nickp60 Apr 9, 2026
68521d5
fix .nftignore
nickp60 Apr 9, 2026
b362cf6
bump shards further
nickp60 Apr 10, 2026
341fcd8
attempt to bump storage on runner
nickp60 Apr 10, 2026
797a560
try smaller image
miraep8 Apr 10, 2026
1e72710
fix typo
miraep8 Apr 10, 2026
75e6b99
rollback image
miraep8 Apr 10, 2026
b8ecd26
try out small figure again
miraep8 Apr 10, 2026
4e676aa
new image, tried it out locally first this time :)
miraep8 Apr 10, 2026
a93f863
make humann3 smaller as well
miraep8 Apr 10, 2026
c481794
remove volume bump since it curiously increased number of failing jobs
miraep8 Apr 10, 2026
1617f95
mifaser: in tests, only check for file existence and name.
vinisalazar Apr 14, 2026
a80bc72
Add non-deterministic files to .nftignore
vinisalazar Apr 14, 2026
ede7787
Update snapshot
vinisalazar Apr 14, 2026
d5a20da
Use correct extension in ignored files
vinisalazar Apr 14, 2026
f8666f6
Remove genefamilies from humann/main_v4 stub test
vinisalazar Apr 14, 2026
ef8fe5e
Do the same for humann_v3 test
vinisalazar Apr 14, 2026
b6bb063
Update snapshots
vinisalazar Apr 14, 2026
cc3a454
Increase singularity.pullTimeout
vinisalazar Apr 14, 2026
0b69293
Move singularity.pullTimeout to tests/nextflow.config
vinisalazar Apr 14, 2026
8aa5eb9
Add HUMAnN {sample}_reactions.tsv file to .nftignore
vinisalazar Apr 14, 2026
1853aea
attmept 1 at getting artifact
nickp60 Apr 14, 2026
d380906
whitespace
nickp60 Apr 14, 2026
1d377d6
make conditional
nickp60 Apr 14, 2026
50316cc
fix syntax
nickp60 Apr 14, 2026
ef65a4e
doh
nickp60 Apr 14, 2026
11d7fa5
list before upload attempt
nickp60 Apr 14, 2026
d0f0b9c
make artifacts uniq
nickp60 Apr 14, 2026
e3a27b6
typo
nickp60 Apr 14, 2026
762e4af
more typo fixes
nickp60 Apr 14, 2026
2d27f02
add shard to artifact id
nickp60 Apr 14, 2026
e49c571
force artifacts
nickp60 Apr 14, 2026
e9e9a7d
made test data smaller, skip stub, override mpa container
nickp60 Apr 14, 2026
12eac7b
update module-level snap
nickp60 Apr 14, 2026
1766752
update renorm container to most recent, hardcoded
nickp60 Apr 14, 2026
d48c849
update snapshot to fix header after renorm bump
nickp60 Apr 14, 2026
7ead87b
WIP major refactor to clean up input mess
nickp60 Apr 16, 2026
f63b1a0
WIP
nickp60 Apr 16, 2026
bbff4b8
add tests for run-merging off/on
nickp60 Apr 16, 2026
0c918fa
add tests for prepareInput function
nickp60 Apr 16, 2026
9bae988
WIP update profile subworkflow next
nickp60 Apr 16, 2026
f9544ad
WIP fixing db parsing structure
nickp60 Apr 17, 2026
4f13fe7
fix db parse param location
nickp60 Apr 17, 2026
b025de0
unify test
nickp60 Apr 17, 2026
5588bd1
restructured all profiling
nickp60 Apr 17, 2026
a529ccf
haven't rebuilt snapshots but pushing anyway
nickp60 Apr 17, 2026
d3a7ece
remove fmhfunprofler garbage workarounds
nickp60 Apr 17, 2026
503597c
unify tuple input for fmhfunprofiler
nickp60 Apr 17, 2026
2eeeec1
passing local tests
nickp60 Apr 17, 2026
4d341ee
remove file() from tests to prevent abs paths
nickp60 Apr 17, 2026
3bbc90d
swap out arraylist for map
nickp60 Apr 17, 2026
84416b0
fix order
nickp60 Apr 17, 2026
1287778
attmpt 1 at resolve collision
nickp60 Apr 18, 2026
37e4fa0
attempt add sample mixup test
nickp60 Apr 20, 2026
c4316b5
attempt 2
nickp60 Apr 20, 2026
6df114f
fix test
nickp60 Apr 20, 2026
ac29fb7
update
nickp60 Apr 20, 2026
8747c12
add cleanup false to retain .command files
nickp60 Apr 20, 2026
1329db9
hotfix removes the cleanup from nf test config
Apr 20, 2026
e3d3372
syntax
nickp60 Apr 20, 2026
db0b5ec
Merge branch 'get-build-artifacts' of github.com:nf-core/funcprofiler…
nickp60 Apr 20, 2026
0b60093
push drop retention
nickp60 Apr 20, 2026
12a5ae8
untabbify
nickp60 Apr 20, 2026
4d39d00
refactor humann to separate modules :(
nickp60 Apr 21, 2026
87e0314
fix sort, fix import
nickp60 Apr 21, 2026
585d802
update
nickp60 Apr 21, 2026
5ab29a6
fix versions
nickp60 Apr 21, 2026
551b999
snapshot only reads not dbs, disable humann4 for tests
nickp60 Apr 21, 2026
0cf765b
update snap
nickp60 Apr 21, 2026
a532a7d
more separation
nickp60 Apr 21, 2026
a4c227d
just reorders test input
miraep8 Apr 21, 2026
da969fc
adds back dbs to prepareInputs snap
miraep8 Apr 21, 2026
967ebd6
add back humannv4
nickp60 Apr 21, 2026
6320c28
sorts keys and input
miraep8 Apr 21, 2026
a644931
join mpa with reads before humann
nickp60 Apr 22, 2026
c1cbe94
Merge remote-tracking branch 'origin/minimal_change_parallel_debug' i…
nickp60 Apr 22, 2026
56f0ea0
clean up humann meta
nickp60 Apr 22, 2026
08237bc
syntax, fix test input url
nickp60 Apr 22, 2026
bebc86f
syntax
nickp60 Apr 22, 2026
da2f92c
update snapshots
nickp60 Apr 22, 2026
4d58eb6
Revert commits from dev in relation to this one. See below for full l…
vinisalazar Apr 28, 2026
b5d3178
Merge branch 'get-build-artifacts' into fix-dev
vinisalazar Apr 28, 2026
b466a66
Merge pull request #51 from vinisalazar/fix-dev
vinisalazar Apr 28, 2026
c500582
Replace test-datasets mentions with nf-core repo
vinisalazar Apr 28, 2026
e4e8b51
runs nextflow lint on all nf files
miraep8 Apr 29, 2026
833b2df
same issues with test and netflix version
miraep8 Apr 29, 2026
37559e6
Merge pull request #54 from nf-core/fix_linting
miraep8 Apr 29, 2026
3bbdabd
Mark DIAMOND and eggNOG-mapper as beta in README
Yixuan39 Apr 30, 2026
47625fc
Update DIAMOND/EggNOG status and warnings
Yixuan39 May 10, 2026
6ab44a3
Fix website issues
Yixuan39 May 10, 2026
be25804
fix: wrap ext.prefix ternary inside single closure
vinisalazar May 12, 2026
d1fa49d
fix(fmhfunprofiler): fix typo, remove TODOs, fix version string
vinisalazar May 12, 2026
ab360d1
fix(fmhfunprofiler): remove TODO comments from tests
vinisalazar May 12, 2026
0bdc1ab
fix(fmhfunprofiler): rewrite meta.yml with correct inputs/outputs
vinisalazar May 12, 2026
584b2f1
docs: rewrite output.md per nf-core conventions
vinisalazar May 12, 2026
a5a0903
docs: convert GitHub admonitions to nf-core website admonitions
vinisalazar May 12, 2026
834ae70
chore: sync RO-Crate description from README
vinisalazar May 12, 2026
ff12832
Apply pre-commit
vinisalazar May 12, 2026
8c4b3a4
Merge pull request #57 from Yixuan39/dev
vinisalazar May 12, 2026
ae0162f
Merge branch 'dev' into pr52-code-review-minor
vinisalazar May 12, 2026
630bfc2
Update snapshots
vinisalazar May 12, 2026
292e231
Merge pull request #59 from vinisalazar/pr52-code-review-minor
vinisalazar May 12, 2026
745df54
Resolve merge conflicts from nf-core-template-merge-4.0.2
vinisalazar May 12, 2026
15ce257
Fix Nextflow lint errors from template merge
vinisalazar May 12, 2026
d45e41f
Fix more pre-commit errors
vinisalazar May 12, 2026
cd18e2e
Remove lint ignores
vinisalazar May 12, 2026
76896b2
Remove names of tools from error message
vinisalazar May 13, 2026
c55af29
cat/fastq: update module
vinisalazar May 15, 2026
e7c6004
eggnogmapper: update module
vinisalazar May 15, 2026
724a15d
metaphlan/metaphlan: update module
vinisalazar May 15, 2026
60a5615
rgi/bwt: update module
vinisalazar May 15, 2026
fcb50b6
seqkit/fq2fa: update module
vinisalazar May 15, 2026
beeecbc
Linting modules
vinisalazar May 15, 2026
2e61cf0
Add 'Install Nextflow' action
vinisalazar May 15, 2026
662904e
Update nf-core config
vinisalazar May 15, 2026
17c8094
Update subworkflow 'utils_nextflow_pipeline'
vinisalazar May 15, 2026
16f8db1
Update subworkflow 'utils_nfcore_pipeline'
vinisalazar May 15, 2026
a0f59ef
Update subworkflow 'utils_nfschema_plugin'
vinisalazar May 15, 2026
8b2a6c2
fix: add missing cli_typecast arg to UTILS_NFSCHEMA_PLUGIN call
vinisalazar May 15, 2026
03e2145
ci: update nf-test.yml workflow file
vinisalazar May 15, 2026
385a3cb
WIP fulltest with interim paths
nickp60 May 22, 2026
630c581
Merge branch 'dev' into dev-update-template
vinisalazar May 23, 2026
b117aaa
Remove names of tools from error message
vinisalazar May 13, 2026
374319f
Merge branch 'dev' into dev-update-template
vinisalazar May 23, 2026
578b0c4
Merge pull request #60 from vinisalazar/dev-update-template
vinisalazar May 23, 2026
c385559
Linting: fix version string
vinisalazar May 23, 2026
945efa2
Install nf-core humann3 and mifaser modules
vinisalazar May 23, 2026
d0f94f4
Use nf-core humann3 and mifaser in profile workflow
vinisalazar May 23, 2026
b0d1f27
Remove replaced local humann3 and mifaser modules
vinisalazar May 23, 2026
646f37c
Linting: pin multiqc report_comment to 1.0.0
vinisalazar May 23, 2026
b0917e7
fix snapshot; mifaser fixed in testdatasets
nickp60 Jun 12, 2026
4d4b8c5
exclude pesky non-deterministic regroupung for test profile; add card…
nickp60 Jun 25, 2026
df8c6f9
re-enable conda support after tools were added to bioconda (#63)
nickp60 Jul 2, 2026
80d7556
add working tests for rgi/bwt
nickp60 Jul 7, 2026
135efa0
update4 snap
nickp60 Jul 7, 2026
13f29b1
fix snapshot, mysterious error\no such property: process for class: c…
nickp60 Jul 7, 2026
66de1db
fix rgi assertion
nickp60 Jul 7, 2026
fea6860
snapshot versions to clarify issue
nickp60 Jul 8, 2026
d3ec186
bump rgi version
nickp60 Jul 8, 2026
a2dc0ce
attempt remove global topic tag
nickp60 Jul 9, 2026
6446f24
bump nf-test to version supporting topics
nickp60 Jul 9, 2026
1d415f1
clean up prior to lint fix
nickp60 Jul 9, 2026
a72f04e
reinstall multiqc to fix conf issue
nickp60 Jul 9, 2026
d689a3f
WIP cleaning up lint comments
nickp60 Jul 9, 2026
d334781
more lint cleanups
nickp60 Jul 13, 2026
71735ed
temporary fix fmhfuncprofiler test
nickp60 Jul 14, 2026
3845079
prek
nickp60 Jul 14, 2026
1846312
Template update for nf-core/tools version 4.0.3.dev0
nickp60 Jul 14, 2026
4cdaf37
attempt bump template
nickp60 Jul 14, 2026
5c2be92
bump sticky pull comment to 3.0.5 to avoid node 20 error
nickp60 Jul 14, 2026
a0d2bf9
increase shards, add valid nf-core version
nickp60 Jul 14, 2026
30112d7
update rocrate and config; bandaid for https://github.com/nf-core/too…
nickp60 Jul 23, 2026
e6c80e1
revert container configs with nf-core/tools 4.0.2 to pass lint tests
nickp60 Jul 23, 2026
f56a916
bump shards to avoid out of storage error
nickp60 Jul 23, 2026
4dfa00d
attempt to drop dataset to avoid storage issue
nickp60 Jul 23, 2026
3d41918
simplify profile subworkflow test; merge logic already tested in data…
nickp60 Jul 23, 2026
e351b6a
Update documentation links in README (#66)
Yixuan39 Jul 23, 2026
ca2080d
swap in module for fmhfunprofiler
nickp60 Jul 24, 2026
e8d9f16
Merge branch 'dev' of github.com:nf-core/funcprofiler into dev
nickp60 Jul 24, 2026
e47a3f3
merge template
nickp60 Jul 24, 2026
1e0dcce
fix rocrate
nickp60 Jul 24, 2026
fe0ac38
local lint and tests rerun
nickp60 Jul 24, 2026
489dd49
Code review for #52 (#68)
vinisalazar Jul 30, 2026
f70c3ed
Template update for nf-core/tools version 4.1.0
nickp60 Jul 30, 2026
9acfcca
merged 4.1.0 template
nickp60 Jul 30, 2026
f8607a3
Fix DIAMOND db intake (#71)
vinisalazar Jul 31, 2026
4d53c0c
Feat/cite (#72)
nickp60 Jul 31, 2026
a0d5bcc
Fix eggNOG-mapper database integration (#74)
vinisalazar Aug 3, 2026
0693820
WIP address outstanding comments
nickp60 Aug 4, 2026
04a93a7
WIP addressing more comments; update profile snapshot
nickp60 Aug 4, 2026
e6e396a
lint, address more comments
nickp60 Aug 4, 2026
c03cfbf
prek
nickp60 Aug 4, 2026
77674e4
Address review follow-ups from PR #52
vinisalazar Aug 5, 2026
8726325
Merge pull request #77 from vinisalazar/fix/pr52-review-followups
vinisalazar Aug 5, 2026
737fb89
Raise singularity pull timeout to 60m in test profiles
vinisalazar Aug 11, 2026
c08987a
Drop FastQC and defer read preprocessing to v1.1.0
vinisalazar Aug 6, 2026
228645a
Move input validation to pipeline initialisation
vinisalazar Aug 25, 2026
e7c8691
Tidy local humann4 modules and subworkflow headers
vinisalazar Aug 25, 2026
d3a8ec1
Move test process config into conf/test.config
vinisalazar Aug 25, 2026
1dc7f47
Rework usage and output documentation
vinisalazar Aug 25, 2026
0873fd4
Simplify metro map
vinisalazar Aug 25, 2026
07bed54
Redraw metro map with one line per input type
vinisalazar Sep 1, 2026
ec5fb1f
Merge branch 'dev' into nf-core-template-merge-4.1.0
nickp60 Sep 2, 2026
0804cb9
update modules and subworkflows
nickp60 Sep 2, 2026
5b4a051
update snapshot for updated rgi/bwt
nickp60 Sep 2, 2026
472757a
Merge pull request #80 from nf-core/nf-core-template-merge-4.1.0
nickp60 Sep 3, 2026
8de2886
Correct why mi-faser is off in the megatest
vinisalazar Sep 4, 2026
59059c4
Move the run endedness check to pipeline initialisation
vinisalazar Sep 4, 2026
46e7c54
Draw the metro map junctions in the trunk colour
vinisalazar Sep 4, 2026
de63536
Say what beta means for DIAMOND and eggNOG-mapper
vinisalazar Sep 4, 2026
19c6534
Drop a paragraph duplicated by the template merge
vinisalazar Sep 4, 2026
a8101ed
Activate mifaser in test_full config
vinisalazar Sep 4, 2026
b1e2b0d
wip testing megatests with new samplesheet
nickp60 Sep 14, 2026
58d8d59
fix bad run args
nickp60 Sep 14, 2026
9525f43
disable mpa in full tests
nickp60 Sep 15, 2026
5b44f88
remove temp paths for full tests
nickp60 Sep 17, 2026
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
5 changes: 4 additions & 1 deletion .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ runs:
if: contains(inputs.profile, 'singularity')
shell: bash
run: |
# The runner image restricts unprivileged user namespaces, which non-suid
# apptainer needs to start a container at all.
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 || true
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

Expand All @@ -53,7 +56,7 @@ runs:
auto-update-conda: true
conda-solver: libmamba
channels: conda-forge
channel-priority: strict
channel-priority: flexible
conda-remove-defaults: true

- name: Run nf-test
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ jobs:

- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@51565b514bff1827cf34620de25d0055759f1fc9 # v2
# TODO nf-core: You can customise AWS full pipeline tests as required
# Add full size test data (but still relatively small datasets for few samples)
# on the `test_full.config` test runs with only one set of parameters
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

- name: Upload linting log file artifact
if: ${{ always() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: linting-logs
path: |
Expand Down
22 changes: 16 additions & 6 deletions .github/workflows/nf-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ concurrency:

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NFT_VER: "0.9.4"
NFT_VER: "0.9.5"
NFT_WORKDIR: "~"
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
env:
NFT_VER: ${{ env.NFT_VER }}
with:
max_shards: 7
max_shards: 19

- name: debug
run: |
Expand All @@ -68,13 +68,11 @@ jobs:
fail-fast: false
matrix:
shard: ${{ fromJson(needs.nf-test-changes.outputs.shard) }}
profile: [conda, docker, singularity]
profile: [docker, singularity, conda]
isMain:
- ${{ github.base_ref == 'master' || github.base_ref == 'main' }}
# Exclude conda and singularity on dev
exclude:
- isMain: false
profile: "conda"
- isMain: false
profile: "singularity"
NXF_VER:
Expand All @@ -100,7 +98,19 @@ jobs:
profile: ${{ matrix.profile }}
shard: ${{ matrix.shard }}
total_shards: ${{ env.TOTAL_SHARDS }}

- name: list contents
run: ls -R "${{ env.NFT_WORKDIR }}"
- name: list funcprofilercontents
run: ls -R /home/runner/_work/funcprofiler/funcprofiler/
- name: Upload artifact
if: ${{ always() }}
uses: actions/upload-artifact@v7
with:
name: my-artifact-${{ matrix.profile }}-${{ matrix.NXF_VER }}-${{ matrix.shard }}
path: |
/home/runner/_work/funcprofiler/funcprofiler/
!/home/runner/_work/funcprofiler/funcprofiler/**/work/conda/
retention-days: 2
- name: Report test status
if: ${{ always() }}
run: |
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,12 @@ testing/
testing*
*.pyc
null/
*~
.nf-test/
.nf-test.log
dontcommit
tmp/
.data/
*.code-workspace
.lineage/
conf/tmp.config
1 change: 1 addition & 0 deletions .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ lint:
- .gitignore
nf_core_version: 4.1.0
repository_type: pipeline

template:
author: Nick Waters, Vini Salazar, Yixuan Yang, Mirae Baichoo
description: Read-based functional profiling of microbiome sequencing data
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

Initial release of nf-core/funcprofiler, created with the [nf-core](https://nf-co.re/) template.
Comment thread
jfy133 marked this conversation as resolved.

Read-based functional profiling of short-read microbiome sequencing data with the following profilers, all off by default and each enabled with its own `--run_<tool>` flag:

- [HUMAnN](https://huttenhower.sph.harvard.edu/humann/) v3 and v4, each preceded by a [MetaPhlAn](https://github.com/biobakery/MetaPhlAn) taxonomic prescreen and followed by `humann_regroup_table`
- [FMH FunProfiler](https://github.com/KoslickiLab/fmh-funprofiler)
- [mi-faser](https://bromberglab.org/project/mifaser/)
- [RGI](https://github.com/arpcard/rgi) `bwt`, against CARD
- [DIAMOND](https://github.com/bbuchfink/diamond) `blastx` (beta)
- [eggNOG-mapper](https://github.com/eggnogdb/eggnog-mapper) (beta)

This release performs no read QC or preprocessing; reads are expected to arrive already trimmed, quality filtered and host decontaminated.
Long-read platforms are not supported.

### `Added`

### `Fixed`
Expand Down
46 changes: 44 additions & 2 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,56 @@

## Pipeline tools

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
<!-- updating tools? citations here https://www.ncbi.nlm.nih.gov/sites/myncbi/1pWMw-vIfxi56/collections/67373574/public/ -->

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
- [DIAMOND](https://github.com/bbuchfink/diamond/)

> Buchfink B, Reuter K, Drost HG. Sensitive protein alignments at tree-of-life scale using DIAMOND. Nat Methods. 2021 Apr;18(4):366-368. doi: 10.1038/s41592-021-01101-x. PubMed PMID: 33828273.

> Buchfink B, Xie C, Huson DH. Fast and sensitive protein alignment using DIAMOND. Nat Methods. 2015 Jan;12(1):59-60. doi: 10.1038/nmeth.3176. Epub 2014 Nov 17. PMID: 25402007.

- [eggNOG-mapper](https://github.com/eggnogdb/eggnog-mapper)

> Cantalapiedra CP, Hernández-Plaza A, Letunic I, Bork P, Huerta-Cepas J. eggNOG-mapper v2: Functional Annotation, Orthology Assignments, and Domain Prediction at the Metagenomic Scale. Mol Biol Evol. 2021 Dec 9;38(12):5825-5829. doi: 10.1093/molbev/msab293. PubMed PMID: 34597405.

- [fmh-funprofiler](https://pubmed.ncbi.nlm.nih.gov/39230701/)

> Hera MR, Liu S, Wei W, Rodriguez JS, Ma C, Koslicki D. Metagenomic functional profiling: to sketch or not to sketch? Bioinformatics. 2024 Sep 1;40(Suppl 2):ii165-ii173. doi: 10.1093/bioinformatics/btae397. PMID: 39230701; PMCID: PMC11373326.

- [HUMAnN](http://huttenhower.sph.harvard.edu/humann)

> Beghini F, McIver L, Blanco-Mìguez A, Dubois L, Asnicar F, Maharjan S ,Mailyan A, Thomas AM, Manghi P, Valles-Colomer M, Weingart G ,Zhang Y, Zolfo M,Huttenhower C, Franzosa EA, Segata N. Integrating taxonomic, functional, and strain-level profiling of diverse microbial communities with bioBakery 3. eLife 2021;10:e65088

- [mi-faser](https://academic.oup.com/nar/advance-article/doi/10.1093/nar/gkx1209/4670955)

> Zhu C, Miller M, Marpaka S, Vaysberg P, Rühlemann M, Wu G, Heinsen FA, Tempel M, Zhao L, Leib W, Franke A, Bromberg Y. Functional sequencing read annotation for high precision microbiome analysis. Nucleic Acids Research. Volume 46, Issue 4. 2017. doi: 10.1093/nar/gkx1209.

> Mahlich Y, Zhu C, Chung H, Velaga PK, De Paolis Kaluza MC, Radivojac P, Friedberg I, Bromberg Y. Learning from the unknown: exploring the range of bacterial functionality. Nucleic Acids Res. 2023 Oct 27;51(19):10162-10175. doi: 10.1093/nar/gkad757. PubMed PMID: 37739408.

> Zhu C, Delmont TO, Vogel TM, Bromberg Y. Functional Basis of Microorganism Classification. PLoS Comput Biol. 2015 Aug 28;11(8):e1004472. doi: 10.1371/journal.pcbi.1004472. PubMed PMID: 26317871.

- [MetaPhlAn3](http://segatalab.cibio.unitn.it/tools/metaphlan/index.html)

> Beghini F, McIver LJ, Blanco-Míguez A, Dubois L, Asnicar F, Maharjan S, Mailyan A, Manghi P, Scholz M, Thomas AM, Valles-Colomer M, Weingart G, Zhang Y, Zolfo M, Huttenhower C, Franzosa EA, Segata N. Integrating taxonomic, functional, and strain-level profiling of diverse microbial communities with bioBakery 3. Elife. 2021 May 4;10:e65088. doi: 10.7554/eLife.65088. PMID: 33944776; PMCID: PMC8096432.

- [MetaPhlAn4](http://segatalab.cibio.unitn.it/tools/metaphlan/index.html)

> Blanco-Míguez A, Beghini F, Cumbo F, McIver LJ, Thompson KN, Zolfo M, Manghi P, Dubois L, Huang KD, Thomas AM, Nickols WA, Piccinno G, Piperni E, Punčochář M, Valles-Colomer M, Tett A, Giordano F, Davies R, Wolf J, Berry SE, Spector TD, Franzosa EA, Pasolli E, Asnicar F, Huttenhower C, Segata N. Extending and improving metagenomic taxonomic profiling with uncharacterized species using MetaPhlAn 4. Nat Biotechnol. 2023 Nov;41(11):1633-1644. doi: 10.1038/s41587-023-01688-w. Epub 2023 Feb 23. PMID: 36823356; PMCID: PMC10635831.

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

- [RGI/CARD](https://pubmed.ncbi.nlm.nih.gov/36263822/)

> Alcock BP, Huynh W, Chalil R, Smith KW, Raphenya AR, Wlodarski MA, Edalatmand A, Petkau A, Syed SA, Tsang KK, Baker SJC, Dave M, McCarthy MC, Mukiri KM, Nasir JA, Golbon B, Imtiaz H, Jiang X, Kaur K, Kwong M, Liang ZC, Niu KC, Shan P, Yang JYJ, Gray KL, Hoad GR, Jia B, Bhando T, Carfrae LA, Farha MA, French S, Gordzevich R, Rachwalski K, Tu MM, Bordeleau E, Dooley D, Griffiths E, Zubyk HL, Brown ED, Maguire F, Beiko RG, Hsiao WWL, Brinkman FSL, Van Domselaar G, McArthur AG. CARD 2023: expanded curation, support for machine learning, and resistome prediction at the Comprehensive Antibiotic Resistance Database. Nucleic Acids Res. 2023 Jan 6;51(D1):D690-D699. doi: 10.1093/nar/gkac920. PMID: 36263822; PMCID: PMC9825576.

> McArthur AG, Waglechner N, Nizam F, Yan A, Azad MA, Baylay AJ, Bhullar K, Canova MJ, De Pascale G, Ejim L, Kalan L, King AM, Koteva K, Morar M, Mulvey MR, O'Brien JS, Pawlowski AC, Piddock LJ, Spanogiannopoulos P, Sutherland AD, Tang I, Taylor PL, Thaker M, Wang W, Yan M, Yu T, Wright GD. The comprehensive antibiotic resistance database. Antimicrob Agents Chemother. 2013 Jul;57(7):3348-57. doi: 10.1128/AAC.00419-13. Epub 2013 May 6. PMID: 23650175; PMCID: PMC3697360.

- [seqkit](https://pubmed.ncbi.nlm.nih.gov/27706213/)

> Shen W, Le S, Li Y, Hu F. SeqKit: A Cross-Platform and Ultrafast Toolkit for FASTA/Q File Manipulation. PLoS One. 2016 Oct 5;11(10):e0163962. doi: 10.1371/journal.pone.0163962. PMID: 27706213; PMCID: PMC5051824.

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)
Expand Down
62 changes: 38 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,48 +21,63 @@

## Introduction

**nf-core/funcprofiler** is a bioinformatics pipeline that ...
**nf-core/funcprofiler** is a bioinformatics pipeline for read-based functional profiling of microbiome sequencing data. It accepts already preprocessed short-read FASTQ files and runs one or more functional profilers against user-supplied databases, producing gene family abundances, pathway abundances, pathway coverages, and antimicrobial resistance profiles. Long-read platforms are not supported in this release.

<!-- TODO nf-core:
Complete this sentence with a 2-3 sentence summary of what types of data the pipeline ingests, a brief overview of the
major pipeline sections and the types of output it produces. You're giving an overview to someone new
to nf-core here, in 15-20 seconds. For an example, see https://github.com/nf-core/rnaseq/blob/master/README.md#introduction
-->
### Pipeline Summary

<!-- TODO nf-core: Include a figure that guides the user through the major workflow steps. Many nf-core
workflows use the "tube map" design for that. See https://nf-co.re/docs/community/brand/workflow-schematics#examples for examples. -->
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
![](./assets/pipeline_light.svg)

Supported profilers and current status:

1. [**HUMANn v3**](https://huttenhower.sph.harvard.edu/humann/) — functional profiling via MetaPhlAn + HUMANn 3 (`--run_humann_v3`)
2. [**HUMANn v4**](https://docs.google.com/document/d/1rCx5JkuO7wCKWrL8_-UJx_FkopJAfcDFtZktgPspak0/edit?tab=t.0#heading=h.i5hn0zprhwld) — functional profiling via MetaPhlAn + HUMANn 4 (`--run_humann_v4`)
3. [**FMH FunProfiler**](https://github.com/KoslickiLab/fmh-funprofiler) — sketch-based functional profiling (`--run_fmhfunprofiler`)
4. [**RGI**](https://github.com/arpcard/rgi) — antimicrobial resistance gene identification (`--run_rgi`, available)
5. [**mifaser**](https://bromberglab.org/project/mifaser/) — functional profiling via mifaser (`--run_mifaser`, available)
6. [**DIAMOND**](https://github.com/bbuchfink/diamond) — alignment with DIAMOND blastx (`--run_diamond`, work in progress / beta)
7. [**eggNOG-mapper**](https://github.com/eggnogdb/eggnog-mapper) — functional annotation, orthology assignments and domain prediction (`--run_eggnogmapper`, work in progress / beta)

> [!WARNING]
> DIAMOND and eggNOG-mapper support is currently in beta and should be treated as work in progress. These modules are still being validated in the full pipeline, including database handling, output behavior, and downstream reporting. Use them with caution, expect potential issues, and independently review results before using them for production analyses or interpretation.

## Usage

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

<!-- TODO nf-core: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
Explain what rows and columns represent. For instance (please edit as appropriate):

First, prepare a samplesheet with your input data that looks as follows:
First, prepare a samplesheet with your input data:

`samplesheet.csv`:

```csv
sample,fastq_1,fastq_2
CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz
sample,run_accession,instrument_platform,fastq_1,fastq_2,fasta
SAMPLE1,RUN1,ILLUMINA,/path/to/sample1_R1.fastq.gz,/path/to/sample1_R2.fastq.gz,
SAMPLE2,RUN1,ILLUMINA,/path/to/sample2.fastq.gz,,
```

Each row represents a fastq file (single-end) or a pair of fastq files (paired end).
Each row represents a sequencing run. Multiple rows with the same `sample` and different `run_accession` values will be merged before profiling. Reads are expected to arrive already preprocessed: the pipeline performs no read QC, trimming or host decontamination.

-->
Then prepare a databases sheet — see [docs/usage.md](docs/usage.md) for the full format. Here is an abbreviated example for running HUMANn (which requires 4 databases):

Now, you can run the pipeline using:
`databases.csv`

<!-- TODO nf-core: update the following command to include all required parameters for a minimal example -->
```csv
tool,db_name,db_entity,db_params,db_path
humann_v3,uniref90_v3,humann_metaphlan,,/data/databases/metaphlan_db
humann_v3,uniref90_v3,humann_nucleotide,,/data/databases/chocophlan
humann_v3,uniref90_v3,humann_protein,,/data/databases/uniref90_diamond
humann_v3,uniref90_v3,humann_utility,,/data/databases/utility_mapping
```

Now, you can run the pipeline using:

```bash
nextflow run nf-core/funcprofiler \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--outdir <OUTDIR>
--outdir <OUTDIR> \
--databases databases.csv \
--run_humann_v3
```

> [!WARNING]
Expand All @@ -82,7 +97,9 @@ nf-core/funcprofiler was originally written by Nick Waters, Vini Salazar, Yixuan

We thank the following people for their extensive assistance in the development of this pipeline:

<!-- TODO nf-core: If applicable, make list of people who have also contributed -->
- Matthias Hörtenhuber
- James Fellows Yates
- Jonas Scheid

## Contributions and Support

Expand All @@ -92,11 +109,8 @@ For further information or help, don't hesitate to get in touch on the [Slack `#

## Citations

<!-- TODO nf-core: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. -->
<!-- If you use nf-core/funcprofiler for your analysis, please cite it using the following doi: [10.5281/zenodo.XXXXXX](https://doi.org/10.5281/zenodo.XXXXXX) -->

<!-- TODO nf-core: Add bibliography of tools and data used in your pipeline -->

An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.

You can cite the `nf-core` publication as follows:
Expand Down
1 change: 0 additions & 1 deletion assets/methods_description_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ description: "Suggested text and references to use when describing pipeline usag
section_name: "nf-core/funcprofiler Methods Description"
section_href: "https://github.com/nf-core/funcprofiler"
plot_type: "html"
## TODO nf-core: Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
## You inject any metadata in the Nextflow '${workflow}' object
data: |
<h4>Methods</h4>
Expand Down
Binary file modified assets/nf-core-funcprofiler_logo_light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions assets/nf-metro_command.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# --x-spacing 110 is load-bearing: the layout was tuned at that spacing.
# The committed SVGs also carry manual geometry corrections that nf-metro has no
# directive for (the 'Short reads' caption re-anchored clear of the exit port,
# the database bundle and report lane routed below the reads trunk, the two file
# icons centred in their section boxes), so a plain re-render will not reproduce
# them byte-for-byte.
nf-metro render pipeline.mmd -o pipeline_light.svg --logo nf-core-funcprofiler_logo_light.png --theme light --animate --x-spacing 110
nf-metro render pipeline.mmd -o pipeline_nf-core.svg --logo nf-core-funcprofiler_logo_light.png --theme nfcore --animate --x-spacing 110
Loading
Loading