Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
342 commits
Select commit Hold shift + click to select a range
f595b15
Trying to figure out the untar thing
olgabot Apr 22, 2025
a3b6e7f
Add excalidraw version of metromap
olgabot Apr 22, 2025
30831e4
Add metromap to readme
olgabot Apr 22, 2025
9221909
Testing local scripts with interproscan setup
olgabot Apr 22, 2025
b8d6287
Remove interproscan setup in favor of updating the interproscan.prope…
olgabot Apr 22, 2025
f63278e
Update snapshot, change interproscan properties
olgabot Apr 22, 2025
3f3ba95
Now testing full interproscan subworkflow
olgabot Apr 22, 2025
9f44f9b
Remove interproscan setup py file
olgabot Apr 22, 2025
0c85d74
Remove call to interproscan setup
olgabot Apr 22, 2025
60097d4
Interproscan workflow tests seem to work
olgabot Apr 22, 2025
d773779
rename nf-test CI to be more explicit
olgabot Apr 22, 2025
15d330c
try using setup-nf-test
olgabot Apr 22, 2025
8f290bf
Try adding jobs: and tests
olgabot Apr 22, 2025
accbefd
try nf-test action from nf-core/modules
olgabot Apr 22, 2025
121a41f
Try a frankenversion of the github actions
olgabot Apr 22, 2025
7214c11
Always use singularity
olgabot Apr 22, 2025
b1bc8d8
Add environment variables
olgabot Apr 22, 2025
91db590
Remove nft environment variables
olgabot Apr 22, 2025
c5b571b
remove filter
olgabot Apr 22, 2025
d8650ea
Remove the nf environment variables altogether
olgabot Apr 22, 2025
e2f4288
Remove slash after --ci
olgabot Apr 22, 2025
72bb310
Update nf test config to use base directory for finding tests
olgabot Apr 22, 2025
8b79972
Ignore autogenerated nf-test files
olgabot Apr 22, 2025
fd6fbd8
Add test summary to CI output
olgabot Apr 22, 2025
78c6629
Only run nf-test on interproscan for now
olgabot Apr 22, 2025
9489ea3
--tags -> --tag (singular)
olgabot Apr 22, 2025
a6298c5
Add "test" profile for nf-test
olgabot Apr 23, 2025
b09cd0c
Template update for nf-core/tools version 3.2.1
nf-core-bot Apr 30, 2025
1ce3f1f
Merge branch 'dev' into nf-core-template-merge-3.2.1
heuermh Apr 30, 2025
aa2e68b
Fix lint errors due to merge
heuermh Apr 30, 2025
9756277
Merge pull request #26 from nf-core/nf-core-template-merge-3.2.1
olgabot May 8, 2025
819d7cf
Remove arrow hopefully
olgabot May 8, 2025
762cb4c
Merge branch 'dev' into olgabot/add-metromap
olgabot May 8, 2025
c6dbe3b
Remove double newline
olgabot May 9, 2025
df20d32
Merge pull request #23 from nf-core/olgabot/add-metromap
olgabot May 9, 2025
bc3829e
Move interproscan/run into interproscan since it's only one submodule
olgabot May 13, 2025
b9c6d95
Rename INTERPROSCAN_RUN -> INTERPROSCAN
olgabot May 13, 2025
9ef31e1
Remove _RUN from INTERPROSCAN (again!)
olgabot May 13, 2025
92fb718
Add working snapshot for INTERPROSCAN module
olgabot May 13, 2025
1c957d9
Remove unnecessary print statements
olgabot May 13, 2025
6f4d318
Add test config from Sarek with @maxulysse's help
olgabot May 13, 2025
c4d3262
add ch_fasta to FUNCTIONAL_ANNOTATION subworkflow as input to annotators
May 13, 2025
ad0659b
Try new testing of interproscan subworkflow
olgabot May 13, 2025
fb79280
remove trailing whitespace
May 13, 2025
a2b2112
Merge pull request #39 from nf-core/jessicarowell/add-basic-funcann-w…
olgabot May 13, 2025
1d5adfe
Add test config from Sarek with @maxulysse's help
olgabot May 14, 2025
346f581
Ignore hidden .nf-test.log and .nf-test/ directory
olgabot May 14, 2025
f13032c
Update PR template with nf-test commands
olgabot May 14, 2025
d8b2096
Ignore pull request template in linting because of nf-test commands
olgabot May 14, 2025
d2c476b
Update changelog about nf-tests
olgabot May 14, 2025
21d4ebd
Move files_unchanged section to be under lint
olgabot May 14, 2025
b0f693d
Merge branch 'dev' into olgabot/add-nf-test-config-v2
olgabot May 14, 2025
2ce37f9
Resolve conflicting lint.files_unchanged keys in .nf-core.yml
olgabot May 14, 2025
efcc0ec
added mmseqs to proteinator.nf and nf-core modules
BlueBicycleBlog May 14, 2025
35203d5
Get linting to pass
olgabot May 14, 2025
34c13af
added nf-core module mtmalign to proteinannotator.nf
BlueBicycleBlog May 14, 2025
25da445
removed trailing whitespaces
BlueBicycleBlog May 14, 2025
ecd74cc
Add nf-test for the whole pipeline
olgabot May 14, 2025
9fa583a
Remove old "nextflow run" test
olgabot May 14, 2025
b3bff15
Merge pull request #44 from nf-core/BlueBicycleBlog/add-mTMalign
BlueBicycleBlog May 14, 2025
67a5279
Ignore missing .github/workflows/ci.yml in nf-core.yml
olgabot May 14, 2025
f4e4b91
Fix .nf-core.yml validation
olgabot May 14, 2025
bc406ca
Add default interproscan tar gz database
olgabot May 14, 2025
3dca0b6
Update Info for interproscan tar gz on schema
olgabot May 14, 2025
24edbdd
Add updated metromap
olgabot May 14, 2025
e4c57d3
Merge pull request #47 from nf-core/olgabot/update-metromap-hack-may-…
olgabot May 14, 2025
39fd02f
Don't check for workflow output for now
olgabot May 14, 2025
820a23e
Playing around with meta mapping
olgabot May 14, 2025
ef89ee9
Trying to get nf tests to work
olgabot May 14, 2025
2a6579c
Remove interproscan db from input
olgabot May 14, 2025
b1e11b3
Redo splitfasta for functional annotation
olgabot May 14, 2025
2b55966
Fix nf-test for whole workflow
olgabot May 14, 2025
3445301
Channel.of fixes everything, thanks @edmundmiller
olgabot May 14, 2025
2e684a8
Update description for
olgabot May 14, 2025
ddef5bd
Get tests for all of proteinannotator to run
olgabot May 14, 2025
d5613ab
Fix the input types to use a flat fasta and not an array
olgabot May 14, 2025
5f18558
Add .nf-test-* to .gitignore
olgabot May 14, 2025
a3e8064
Add PR link for nf test
olgabot May 14, 2025
90f83a9
Merge pull request #42 from nf-core/olgabot/add-nf-test-config-v2
olgabot May 14, 2025
63c270a
Add heuermh as contributor
heuermh May 15, 2025
a752cfa
Update nf core version
olgabot May 15, 2025
0e650af
Update awsfulltest.yml to latest nf-core version
olgabot May 15, 2025
3aac262
Update jinja template strings
olgabot May 19, 2025
7ade8b3
Merge pull request #49 from nf-core/olgabot/update-nf-core-version
olgabot May 19, 2025
944f8a2
Merge branch 'dev' into olgabot/add-interproscan
olgabot May 25, 2025
5bb831c
Add interproscan
olgabot Mar 24, 2025
f36bd80
Add Interproscan database
olgabot Mar 25, 2025
56a2527
Add interproscan call
olgabot Mar 25, 2025
f473fac
Removing nf-core fastqc module
heuermh Mar 25, 2025
f99bd9b
Add InterProScan to README
olgabot Mar 25, 2025
c6598d1
Add local interproscan module
olgabot Mar 27, 2025
c49c6f5
Removing nf-core fastqc module
heuermh Mar 25, 2025
6689f1f
Update CHANGELOG.md
heuermh Mar 27, 2025
863996c
add interproscan, no fastqc
olgabot Mar 28, 2025
a5b8403
Add local interproscan module
olgabot Mar 27, 2025
191a26d
Run interproscan in functional annotation subworkflow
olgabot Mar 30, 2025
18cc517
Make multifasta for InterProScan to run each sample separately
olgabot Apr 1, 2025
a99f680
Add snap25 test data for full
olgabot Apr 1, 2025
cc743f5
Add interproscan section to nextflow
olgabot Apr 3, 2025
08ecbb9
Make interproscan subworkflow
olgabot Apr 4, 2025
62163ba
Add much more comprehensive output docs for Interproscan
olgabot May 25, 2025
cb3938a
Fixed rogue interproscan module in modules.json
olgabot May 25, 2025
af68f16
ignore igenomes for linting
olgabot May 25, 2025
51d6f4c
remove reference genome options requirement from nextflow schema
olgabot May 25, 2025
6229e11
remove genome, igenome options from nextflow config
olgabot May 25, 2025
be8b0ca
Fix error created by merge conflict
olgabot May 25, 2025
72ac353
Remove duplicate interproscan options
olgabot May 25, 2025
f62f5ad
Move interproscan data for test config into nf-test
olgabot May 25, 2025
2a93e7c
Set defaults for interproscan tar gz
olgabot May 25, 2025
fa318af
Template update for nf-core/tools version 3.3.1
nf-core-bot Jun 3, 2025
6cc4f19
update directory of interproscan database
olgabot Jun 3, 2025
e9c9c8a
Linting
olgabot Jun 3, 2025
0ef6a73
Add stub test for interproscan
olgabot Jun 3, 2025
5b6bdfe
Avoid unused variable warning
olgabot Jun 3, 2025
e528818
feat: Add interproscan_run param
edmundmiller Jun 3, 2025
073e2b8
ci: Add a CI tag for tests
edmundmiller Jun 3, 2025
2dce296
fix: Use nf-schema to check for interproscan parameters to enforce da…
edmundmiller Jun 3, 2025
dbea347
Merge branch 'dev' into nf-core-template-merge-3.3.1
olgabot Jun 3, 2025
9054631
chore: Bump interproscan ftp link
edmundmiller Jun 3, 2025
c04b61e
Update stub test for interproscan
olgabot Jun 3, 2025
943fd16
Add RO crate fix for nf-core pipeline lint
olgabot Jun 3, 2025
78bdb3e
Fix precommit in tests/nextflow.config
olgabot Jun 3, 2025
9c13ff5
Merge pull request #51 from nf-core/nf-core-template-merge-3.3.1
olgabot Jun 3, 2025
29d2754
Run pre-commit
olgabot Jun 3, 2025
738c11f
Run precommit on README
olgabot Jun 3, 2025
28fc05f
Fix some pipeline linting
olgabot Jun 3, 2025
70f58a1
More autofixes for linting
olgabot Jun 3, 2025
695377e
Fix interproscan gz path in schema
olgabot Jun 3, 2025
ccc433a
Add params.pipelines_testdata_base_path to test config
olgabot Jun 3, 2025
deed289
Add "24.04.2" to nf-test.yml
olgabot Jun 3, 2025
f478094
Update nextflow.config for custom profiles for different institutions…
olgabot Jun 3, 2025
62ab267
Merge pull request #52 from nf-core/ci-interproscan
olgabot Jun 3, 2025
5e370ff
Template update for nf-core/tools version 3.3.1
nf-core-bot Jun 3, 2025
10aa074
Add RO crate fix for nf-core pipeline lint
olgabot Jun 3, 2025
327b2e3
Add tomato comment referencing https://buttondown.com/chhopsky
olgabot Jun 4, 2025
152f57b
Rename run_interproscan to skip_interproscan, to match rnaseq-style o…
olgabot Jun 4, 2025
cd2a27b
Fix ro-crate-metadata.json for linting
olgabot Jun 4, 2025
0581e49
Template update for nf-core/tools version 3.3.1
nf-core-bot Jun 3, 2025
3e2bf19
Add RO crate fix for nf-core pipeline lint
olgabot Jun 3, 2025
784967e
Fix precommit in tests/nextflow.config
olgabot Jun 3, 2025
339cd77
Merge branch 'dev' into olgabot/add-interproscan
olgabot Jun 4, 2025
3b55fa8
"nf-core pipelines lint --dir . --fix rocrate_readme_sync" .. again!
olgabot Jun 4, 2025
d586357
Add CI options to stub tests
olgabot Jun 4, 2025
7cb0ccf
Add changes since hackathon to changelog
olgabot Jun 4, 2025
ed3d71b
Add InterProcan, MMseqs2, mTM-Align to citations
olgabot Jun 4, 2025
069226e
Finish the "..." on the README.
olgabot Jun 4, 2025
deb02cb
Update usage
olgabot Jun 4, 2025
f4e7b13
Fix information about InterProScan database input in nextflow schema
olgabot Jun 4, 2025
636cdb9
Why do I have to keep doing "nf-core pipelines lint --dir . --fix ro…
olgabot Jun 4, 2025
4082f50
Delete problematic main.nf.test
olgabot Jun 4, 2025
4e75092
Add magic NFT_DIFF environment variables from @maxulysse https://gith…
olgabot Jun 13, 2025
7484c6b
Add printing file tree to get-shards action
olgabot Jun 24, 2025
e89105c
Double quotes instead of single quotes
olgabot Jun 24, 2025
c28582d
Update contents of interproscan module test
olgabot Jun 24, 2025
886723e
Move printing file tree to nf-test action instead of get-shards action
olgabot Jun 24, 2025
022751f
Increase depth of file tree printing to 6 (default is 5)
olgabot Jun 24, 2025
d9cfdc5
Increase depth to 10 to show EVERYTHING
olgabot Jun 24, 2025
19ee475
Ignore interproscan data fixtures from prettier
olgabot Jun 24, 2025
8cca8ff
Force add interproscan test fixture data
olgabot Jun 24, 2025
395e782
replace date strings in tsv, gff3 output files from interproscan modu…
olgabot Jun 24, 2025
d9b4bf4
Add tags: CI to nf-test.yml for 'run nf-test'
olgabot Jun 24, 2025
1287fc7
Add default outdir of `./results` for test config
olgabot Jun 24, 2025
adf3815
Merge pull request #9 from nf-core/olgabot/add-interproscan
olgabot Jun 24, 2025
a8e9085
Add light/dark mode for metromap
olgabot Jun 24, 2025
041c81f
Add explanation about how to edit the metromaps with excalidraw
olgabot Jun 24, 2025
f6019d1
Remove metromap png from assets/ and only use the one in docs/images …
olgabot Jun 24, 2025
cbe2ad0
Update RO crate metadata
olgabot Jun 24, 2025
6f430ac
Update Olga's information in contributors
olgabot Jun 24, 2025
0b56869
Remove nf-core/interproscan module
olgabot Jun 25, 2025
7e39138
Remove interproscan from modules.json
olgabot Jun 25, 2025
3f47a32
Merge pull request #54 from nf-core/olgabot/remove-old-nf-core-interp…
olgabot Jun 25, 2025
966e941
Template update for nf-core/tools version 3.3.2
nf-core-bot Jul 8, 2025
130617c
Merge pull request #53 from nf-core/olgabot/update-metromap-interpros…
olgabot Jul 23, 2025
4e17fb7
Template update for nf-core/tools version 3.4.1
nf-core-bot Oct 16, 2025
3a42e33
Template update for nf-core/tools version 3.5.1
nf-core-bot Nov 20, 2025
f92525b
Merge branch 'dev' into nf-core-template-merge-3.5.1
vagkaratzas Nov 28, 2025
abfde53
fix linting
vagkaratzas Nov 28, 2025
c9b2018
testing if tags: CI is needed
vagkaratzas Nov 28, 2025
0626ecb
Merge pull request #57 from nf-core/nf-core-template-merge-3.5.1
vagkaratzas Nov 28, 2025
ce0e0bc
samplesheet schema pattern fix, and end-to-end snapshot updated
vagkaratzas Dec 1, 2025
850b37b
Merge pull request #58 from nf-core/bug-fix-shcema-pattern
vagkaratzas Dec 1, 2025
9530966
qc and preprocessing nf-core subworkflow added
vagkaratzas Dec 1, 2025
85de710
changelog updated
vagkaratzas Dec 1, 2025
6386634
citations, output.md and reference bibliography texts updated
vagkaratzas Dec 2, 2025
7d17d6c
Merge pull request #59 from nf-core/qc-subworkflow
vagkaratzas Dec 2, 2025
89f5a13
added s4pred module to pipeline
vagkaratzas Dec 2, 2025
6ba7d55
nf-test and changelog updated
vagkaratzas Dec 2, 2025
0269bdd
use skip_s4pred flag, removed changelog typos
vagkaratzas Dec 2, 2025
00cb1e6
Merge branch 'dev' into add-contributors
heuermh Dec 2, 2025
76e1a3e
Merge pull request #60 from nf-core/add-s4pred
vagkaratzas Dec 2, 2025
a845364
hmmsearch against pfam working
vagkaratzas Dec 2, 2025
15d0729
minimal pfam HMM db for test configs, nf-test updated
vagkaratzas Dec 2, 2025
179b183
output.md, changelog, citations updated
vagkaratzas Dec 2, 2025
352c49a
Update subworkflows/local/utils_nfcore_proteinannotator_pipeline/main.nf
vagkaratzas Dec 3, 2025
9217108
pfam_db format file-path on schema
vagkaratzas Dec 3, 2025
3da49a9
Merge pull request #61 from nf-core/add-hmmsearch
vagkaratzas Dec 3, 2025
d20789c
funfam params added
vagkaratzas Dec 4, 2025
81300f3
funfam minimal test working
vagkaratzas Dec 4, 2025
633c968
output.md updated
vagkaratzas Dec 5, 2025
893c338
meta and nf-test added
vagkaratzas Dec 5, 2025
ab6de78
end to end nf test updated
vagkaratzas Dec 5, 2025
5f8726b
skip and predownloaded nf-test added
vagkaratzas Dec 5, 2025
68a5e00
Merge pull request #62 from nf-core/hmmsearch-funfams
vagkaratzas Dec 5, 2025
b7abe7a
Update nextflow.config
heuermh Dec 8, 2025
33c030b
Merge pull request #48 from heuermh/add-contributors
heuermh Dec 8, 2025
0dfe783
modules update
vagkaratzas Jan 15, 2026
b4bf441
subworkflow update
vagkaratzas Jan 15, 2026
cd6f617
Merge pull request #64 from nf-core/module-updates
vagkaratzas Jan 15, 2026
2082d66
light and dark metromap pngs and svgs added
vagkaratzas Jan 16, 2026
e72cb1b
readme update
vagkaratzas Jan 16, 2026
8203a2f
subworkflows update
vagkaratzas Jan 26, 2026
68d6e37
removing unused mmseqs_search and mtmalign_align for now
vagkaratzas Jan 26, 2026
168adee
strict syntax fixes
vagkaratzas Jan 26, 2026
aa3b926
updating pipeline nf-schema version to fix the strict syntax --help w…
vagkaratzas Jan 26, 2026
b859941
Merge pull request #65 from nf-core/update-metromap
vagkaratzas Jan 26, 2026
c5f1bed
Merge branch 'dev' into strict-syntax
vagkaratzas Jan 26, 2026
fb03c87
updating minimum required Nextflow version
vagkaratzas Jan 26, 2026
90d2213
nextflow version updated throughout
vagkaratzas Jan 26, 2026
cc23a69
Nextflow ver on readme
vagkaratzas Jan 26, 2026
c51c2d1
Merge pull request #66 from nf-core/strict-syntax
vagkaratzas Jan 26, 2026
3b91492
purge current local ips entry, start switching to the nf-core module,…
vagkaratzas Jan 29, 2026
6172ea2
local copy of funcscan interproscan_database module added, modules co…
vagkaratzas Jan 29, 2026
0ddac12
renamed local module properly, preparing whole ips subworkflow
vagkaratzas Jan 29, 2026
4e78998
non-template tags CI removed from nf-test workflow
vagkaratzas Jan 29, 2026
cd99f50
correct inputs, local ips alternative
vagkaratzas Feb 2, 2026
6d3b4e7
append files to previous commit
vagkaratzas Feb 2, 2026
c258db1
ips module update, local ver removed
vagkaratzas Feb 2, 2026
2c25839
metromap updated
vagkaratzas Feb 2, 2026
920faca
unused untar module removed, end-to-end snapshot updated
vagkaratzas Feb 2, 2026
9330e1e
output.md updated
vagkaratzas Feb 2, 2026
2499059
snapshot updated
vagkaratzas Feb 2, 2026
b602514
Update docs/usage.md
vagkaratzas Feb 3, 2026
f8a95ad
fix identation
vagkaratzas Feb 3, 2026
f8fdee9
removed test-related line from output.md
vagkaratzas Feb 3, 2026
9c476b2
aria2 and untar for ips db
vagkaratzas Feb 4, 2026
0cb0ad2
changelog update
vagkaratzas Feb 4, 2026
a407f49
.first() added
vagkaratzas Feb 4, 2026
22f5e2f
Merge pull request #68 from nf-core/ips-db-aria2
vagkaratzas Feb 4, 2026
b4af633
Merge pull request #67 from nf-core/nf-core-interproscan
vagkaratzas Feb 4, 2026
2ff19cd
pipeline descr change
vagkaratzas Feb 4, 2026
a4d3fe5
module updates
vagkaratzas Feb 4, 2026
d0eeb5e
Merge pull request #69 from nf-core/pre-release-small-updates
vagkaratzas Feb 4, 2026
325a549
version bump + fix release lint + github handles for credits
vagkaratzas Feb 4, 2026
3295bde
Merge pull request #70 from vagkaratzas/dev
vagkaratzas Feb 4, 2026
e495e62
release-review-points
vagkaratzas Feb 4, 2026
26f4d3d
Merge pull request #72 from vagkaratzas/dev
vagkaratzas Feb 5, 2026
f76cb33
second reviewer comments resolve
vagkaratzas Feb 9, 2026
b9661af
pipeline description updated
vagkaratzas Feb 9, 2026
903d955
sentence added on usage.md, suggesting to keep interproscan downloade…
vagkaratzas Feb 9, 2026
bf1bee7
Merge pull request #74 from vagkaratzas/changes-second-review
vagkaratzas Feb 9, 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
28 changes: 14 additions & 14 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
{
"name": "nfcore",
"image": "nfcore/gitpod:latest",
"remoteUser": "gitpod",
"runArgs": ["--privileged"],
"image": "nfcore/devcontainer:latest",

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python"
},
"remoteUser": "root",
"privileged": true,

// Add the IDs of extensions you want installed when the container is created.
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
}
"remoteEnv": {
// Workspace path on the host for mounting with docker-outside-of-docker
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
},

"onCreateCommand": "./.devcontainer/setup.sh",

"hostRequirements": {
"cpus": 4,
"memory": "16gb",
"storage": "32gb"
}
}
13 changes: 13 additions & 0 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

# Customise the terminal command prompt
echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc
echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc
export PROMPT_DIRTRIM=2
export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '

# Update Nextflow
nextflow self-update

# Update welcome message
echo "Welcome to the nf-core/proteinannotator devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt
37 changes: 0 additions & 37 deletions .editorconfig

This file was deleted.

2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ If you wish to contribute a new step, please use the following coding standards:
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core pipelines schema build` tool).
6. Add sanity checks and validation for all relevant parameters.
7. Perform local tests to validate that the new code works as expected.
8. If applicable, add a new test command in `.github/workflow/ci.yml`.
8. If applicable, add a new test in the `tests` directory.
9. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.

Expand Down
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/prot
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/proteinannotator/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/proteinannotator _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Ensure the test suite passes (e.g. `nf-test test */local --profile=~test,docker` for all new local tests).
- [ ] Check for unexpected warnings in debug mode (`nf-test test */local --profile=~test,docker,debug`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
Expand Down
69 changes: 69 additions & 0 deletions .github/actions/get-shards/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: "Get number of shards"
description: "Get the number of nf-test shards for the current CI job"
inputs:
max_shards:
description: "Maximum number of shards allowed"
required: true
paths:
description: "Component paths to test"
required: false
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
outputs:
shard:
description: "Array of shard numbers"
value: ${{ steps.shards.outputs.shard }}
total_shards:
description: "Total number of shards"
value: ${{ steps.shards.outputs.total_shards }}
runs:
using: "composite"
steps:
- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: ${{ env.NFT_VER }}
- name: Get number of shards
id: shards
shell: bash
run: |
# Run nf-test with dynamic parameter
nftest_output=$(nf-test test \
--profile +docker \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--dry-run \
--ci \
--changed-since HEAD^) || {
echo "nf-test command failed with exit code $?"
echo "Full output: $nftest_output"
exit 1
}
echo "nf-test dry-run output: $nftest_output"

# Default values for shard and total_shards
shard="[]"
total_shards=0

# Check if there are related tests
if echo "$nftest_output" | grep -q 'No tests to execute'; then
echo "No related tests found."
else
# Extract the number of related tests
number_of_shards=$(echo "$nftest_output" | sed -n 's|.*Executed \([0-9]*\) tests.*|\1|p')
if [[ -n "$number_of_shards" && "$number_of_shards" -gt 0 ]]; then
shards_to_run=$(( $number_of_shards < ${{ inputs.max_shards }} ? $number_of_shards : ${{ inputs.max_shards }} ))
shard=$(seq 1 "$shards_to_run" | jq -R . | jq -c -s .)
total_shards="$shards_to_run"
else
echo "Unexpected output format. Falling back to default values."
fi
fi

# Write to GitHub Actions outputs
echo "shard=$shard" >> $GITHUB_OUTPUT
echo "total_shards=$total_shards" >> $GITHUB_OUTPUT

# Debugging output
echo "Final shard array: $shard"
echo "Total number of shards: $total_shards"
123 changes: 123 additions & 0 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: "nf-test Action"
description: "Runs nf-test with common setup steps"
inputs:
profile:
description: "Profile to use"
required: true
shard:
description: "Shard number for this CI job"
required: true
total_shards:
description: "Total number of test shards(NOT the total number of matrix jobs)"
required: true
paths:
description: "Test paths"
required: true
tags:
description: "Tags to pass as argument for nf-test --tag parameter"
required: false
runs:
using: "composite"
steps:
- name: Print Modules Folder Tree
uses: jaywcjlove/github-action-folder-tree@main
with:
exclude: "node_modules|dist|.git|.husky"
path: ./modules
depth: 10
- name: Print Subworkflows Folder Tree
uses: jaywcjlove/github-action-folder-tree@main
with:
exclude: "node_modules|dist|.git|.husky"
path: ./subworkflows
depth: 10
- name: Setup Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ env.NXF_VERSION }}"

- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
with:
python-version: "3.14"

- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: "${{ env.NFT_VER }}"
install-pdiff: true

- name: Setup apptainer
if: contains(inputs.profile, 'singularity')
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: contains(inputs.profile, 'singularity')
shell: bash
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

- name: Conda setup
if: contains(inputs.profile, 'conda')
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3
with:
auto-update-conda: true
conda-solver: libmamba
channels: conda-forge
channel-priority: strict
conda-remove-defaults: true

- name: Run nf-test
shell: bash
env:
NFT_WORKDIR: ${{ env.NFT_WORKDIR }}
run: |
nf-test test \
--profile=+${{ inputs.profile }} \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--ci \
--changed-since HEAD^ \
--verbose \
--tap=test.tap \
--shard ${{ inputs.shard }}/${{ inputs.total_shards }}

# Save the absolute path of the test.tap file to the output
echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT

- name: Generate test summary
if: always()
shell: bash
run: |
# Add header if it doesn't exist (using a token file to track this)
if [ ! -f ".summary_header" ]; then
echo "# 🚀 nf-test results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Status | Test Name | Profile | Shard |" >> $GITHUB_STEP_SUMMARY
echo "|:------:|-----------|---------|-------|" >> $GITHUB_STEP_SUMMARY
touch .summary_header
fi

if [ -f test.tap ]; then
while IFS= read -r line; do
if [[ $line =~ ^ok ]]; then
test_name="${line#ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ✅ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
elif [[ $line =~ ^not\ ok ]]; then
test_name="${line#not ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ❌ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi
done < test.tap
else
echo "| ⚠️ | No test results found | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi

- name: Clean up
if: always()
shell: bash
run: |
sudo rm -rf /home/ubuntu/tests/
54 changes: 15 additions & 39 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,66 +4,42 @@ name: nf-core AWS full size tests
# It runs the -profile 'test_full' on AWS batch

on:
pull_request:
branches:
- main
- master
workflow_dispatch:
pull_request_review:
types: [submitted]
release:
types: [published]

jobs:
run-platform:
name: Run AWS full tests
# run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered
if: github.repository == 'nf-core/proteinannotator' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
# run only if the PR is approved by at least 2 reviewers and against the master/main branch or manually triggered
if: github.repository == 'nf-core/proteinannotator' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch' || github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- name: Get PR reviews
uses: octokit/request-action@v2.x
if: github.event_name != 'workflow_dispatch'
id: check_approvals
continue-on-error: true
with:
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check for approvals
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
run: |
echo "No review approvals found. At least 2 approvals are required to run this action automatically."
exit 1

- name: Check for enough approvals (>=2)
id: test_variables
if: github.event_name != 'workflow_dispatch'
- name: Set revision variable
id: revision
run: |
JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'
CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
echo "revision={%- raw -%}${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT"

- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@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:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
workspace_id: ${{ vars.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/proteinannotator/work-${{ github.sha }}
compute_env: ${{ vars.TOWER_COMPUTE_ENV }}
revision: ${{ steps.revision.outputs.revision }}
workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/proteinannotator/work-${{ steps.revision.outputs.revision }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/proteinannotator/results-${{ github.sha }}"
"outdir": "s3://${{ vars.AWS_S3_BUCKET }}/proteinannotator/results-${{ steps.revision.outputs.revision }}"
}
profiles: test_full

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: Seqera Platform debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
tower_action_*.log
tower_action_*.json
Loading
Loading