Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 commits
Select commit Hold shift + click to select a range
56e01a0
Update assets/schema_input.json
mahesh-panchal Mar 19, 2024
6c94332
grop instead of project in a single place
alneberg Mar 20, 2024
4779844
Updated test profile input
alneberg Mar 20, 2024
28e0137
Update assets/schema_input.json
alneberg Mar 20, 2024
d169eef
Merge pull request #2 from mahesh-panchal/input_workflow
alneberg Mar 20, 2024
a31040e
Generate reports per lane, group and rundir
Aratz Mar 18, 2024
0da5870
Improve formatting
Aratz Mar 28, 2024
d233d8f
Improve output sorting
Aratz Mar 28, 2024
307e43c
Use `group` instead of `project`
Aratz Apr 8, 2024
627cf94
Fix output channel
Aratz Apr 8, 2024
c9ba028
Fix linting
Aratz Apr 8, 2024
2cfc91d
Give credits back to NGI
Aratz Apr 8, 2024
fbfb02d
Fix file names
Aratz Apr 9, 2024
8a19929
Set up tests
Aratz May 3, 2024
eba628e
point test conf upstream
kedhammar May 3, 2024
23f69d1
project -> group
kedhammar May 3, 2024
1ebf3f1
project -> group
kedhammar May 3, 2024
b0bf471
make lane non-compulsory
kedhammar May 3, 2024
9e0eca3
remove unused file
kedhammar May 3, 2024
98e60bf
revamp nf-test, run once for each sequencing platform
kedhammar May 3, 2024
d95c660
Update modules and subworkflows
Aratz May 6, 2024
e0527cc
Fix multiqc extra files
Aratz May 7, 2024
ba72067
Merge branch 'dev' into nf-core-template-merge-2.14.1
MatthiasZepper May 13, 2024
42159a1
Add test snapshots
Aratz May 14, 2024
ef61f9f
Remove unused module configuration
Aratz May 14, 2024
51b01e9
Update usage docs and restore example samplesheet
Aratz May 14, 2024
7c7f31f
Update output docs
Aratz May 14, 2024
1c4f6e0
Update changelog
Aratz May 14, 2024
211bfaf
Update samplesheet in readme file
Aratz May 14, 2024
e93baf9
Merge pull request #15 from nf-core/nf-core-template-merge-2.14.1
Aratz May 14, 2024
acc82d0
Merge remote-tracking branch 'origin/dev' into multiqc_multireport
Aratz May 14, 2024
df4e9cb
Run prettier
Aratz May 14, 2024
2303db9
Use testdata base path param in tests/MiSeq.main.nf.test
kedhammar May 16, 2024
1ea8ac0
Use testdata base path param in tests/NovaSeq6000.main.nf.test
kedhammar May 16, 2024
048765f
Use testdata base path param in tests/PromethION.main.nf.test
kedhammar May 16, 2024
4329bb9
Make the tests work with 'pipelines_testdata_base_path' parameter.
MatthiasZepper May 17, 2024
3ff8503
update snapshots, add nf-test.log to gitignore
kedhammar May 17, 2024
8ac4d76
visualize example run dir corresponsing to samplesheet
kedhammar May 17, 2024
84c9b3d
naming fixes
kedhammar May 20, 2024
aaf17b6
nf-core sync
kedhammar May 20, 2024
e6dfea9
nf-core fixes
kedhammar May 20, 2024
02affeb
Improve publishDir logic
Aratz May 30, 2024
9cb1d68
Merge pull request #13 from Aratz/multiqc_multireport
Aratz May 30, 2024
8b83f13
Implement tagging system
Aratz Aug 27, 2024
dabccc2
Update changelog
Aratz Aug 27, 2024
8bba888
Try adding regex assertion and error for samplesheet tags
kedhammar Aug 27, 2024
6987e93
Add missing comma
kedhammar Aug 27, 2024
363e782
Change example tags to more neutral ones
Aratz Sep 3, 2024
c1a21de
Check for tag collisions
Aratz Sep 3, 2024
8a43efa
Use columns to separate tags
Aratz Sep 3, 2024
8779909
switch to colon-separated tags
kedhammar Sep 3, 2024
f496b85
use testdata with tags
kedhammar Sep 3, 2024
38e39a9
Make ids unique
Aratz Sep 3, 2024
c96a41c
bump multiqc to prevent gitpod crashing, populate the new process inp…
kedhammar Sep 3, 2024
49484f3
Merge branch 'dev' into dev
kedhammar Sep 3, 2024
1c364d3
Merge pull request #1 from kedhammar/dev
Aratz Sep 3, 2024
2e269ec
Allow for uppercase letters
Aratz Sep 3, 2024
c97a597
Use samplesheet row in id
Aratz Sep 10, 2024
1f33928
Update snapshots
Aratz Sep 10, 2024
5bea1e5
Merge pull request #20 from Aratz/dev
Aratz Sep 17, 2024
7ce086a
nf-core tools 3.0.2 modules update
kedhammar Oct 28, 2024
4918a25
Merge branch 'nf-core-template-merge-3.0.2' into merge-template-3.0.2
kedhammar Oct 28, 2024
a595130
merge fix
kedhammar Oct 28, 2024
0364088
update snapshots
kedhammar Oct 28, 2024
545af04
Update CHANGELOG.md
kedhammar Oct 28, 2024
30f2306
Merge pull request #49 from nf-core/merge-template-3.0.2
kedhammar Oct 28, 2024
88bb65d
add subsampling
nggvs Oct 28, 2024
dbd64bf
add subsampling nf-test
nggvs Oct 28, 2024
44fb554
add snapshots
nggvs Oct 28, 2024
d781db1
better name
nggvs Oct 28, 2024
ab30119
update docs
nggvs Oct 28, 2024
b8befe4
change default to 0
nggvs Oct 28, 2024
b2e7be5
Fran's draft
kedhammar Oct 28, 2024
d833d91
nf-core modules update --> fastqscreen
kedhammar Oct 28, 2024
135d6a3
update snapshot
nggvs Oct 28, 2024
285a4b3
add fastq_screen.conf
kedhammar Oct 28, 2024
36d80d3
prettify docs
nggvs Oct 28, 2024
96dc9f7
update changelog
nggvs Oct 28, 2024
0fd6a95
typo
nggvs Oct 28, 2024
a417ad3
suggestions
nggvs Oct 29, 2024
a081563
hack out some ideas
edmundmiller Oct 29, 2024
801220f
switch to original reads for fastqc
nggvs Oct 29, 2024
e9ae94c
update snapshot
nggvs Oct 29, 2024
7a4dccd
test: Update path for database
edmundmiller Oct 29, 2024
0f7ff12
Add CI config for parallellized and economical nf-test runs, ripped f…
kedhammar Oct 29, 2024
389c50b
Add nf-test config to trigger full test on changes to critical files
kedhammar Oct 29, 2024
38b0e45
prettier lint
kedhammar Oct 29, 2024
b452763
Bump changelog
kedhammar Oct 29, 2024
f0b23a7
Hack ideas
edmundmiller Oct 29, 2024
89ca390
Add modules testdata base path to test config and trim out resource l…
kedhammar Oct 29, 2024
3ea8d8b
Initial datasheet example
edmundmiller Oct 29, 2024
fea850f
refactor: Rework fastqscreen with new ideas
edmundmiller Oct 29, 2024
afb2a61
back to the past
nggvs Oct 29, 2024
600c2fb
chore: Bump fastq-screen
edmundmiller Oct 29, 2024
89e67fa
fix: Give up on fastq_screen writing it's own config
edmundmiller Oct 29, 2024
80e49aa
update README
nggvs Oct 29, 2024
a6565f7
test: Update databases
edmundmiller Oct 29, 2024
4af6dd4
fix: Run every sample and every DB
edmundmiller Oct 29, 2024
3443734
nf-core subworkflows update to apply fix
kedhammar Oct 29, 2024
ee42aa9
simplify CI, always run
kedhammar Oct 29, 2024
4705376
try specifying cwd as arg in nf-test command
kedhammar Oct 29, 2024
3b29496
add module config
nggvs Oct 29, 2024
a5cb4c4
added seqfu stats
ctuni Oct 29, 2024
222a986
harmonize syntax and correct comment
kedhammar Oct 29, 2024
69825df
remove multiqc versions file from snapshot assertion, will fail if te…
kedhammar Oct 29, 2024
dfbb354
citations, usage, output, etc
ctuni Oct 29, 2024
46805e8
fix: Give up on fastq_screen writing it's own config
edmundmiller Oct 29, 2024
4001a50
test: Update databases
edmundmiller Oct 29, 2024
7ebb6c1
fix: Run every sample and every DB
edmundmiller Oct 29, 2024
a2d589f
Merge pull request #51 from kedhammar/ci-nf-test
kedhammar Oct 29, 2024
0445a9e
Update CONTRIBUTION regarding displaying tool results
matrulda Oct 30, 2024
1e05304
Updated Changelog
matrulda Oct 30, 2024
1dadfaa
Ignore files_unchanged for CONTRIBUTION.md
matrulda Oct 30, 2024
bfa26af
Merge branch 'dev' into add-subsampling
nggvs Oct 30, 2024
1ca5e18
Merge pull request #63 from matrulda/update_contribution_guidelines_r…
FranBonath Oct 30, 2024
88fa0dc
fix test
nggvs Oct 30, 2024
5079047
add citation
nggvs Oct 30, 2024
5a0a3e8
fix test
nggvs Oct 30, 2024
5e56fc3
Merge pull request #50 from nggvs/add-subsampling
nggvs Oct 30, 2024
ad3d278
added seqfu config
ctuni Oct 30, 2024
e3117f6
Merge branch 'dev' into feature/seqfu
ctuni Oct 30, 2024
e560181
adding fastqscreen database parameter, updating docs
FranBonath Oct 30, 2024
ac7bb3f
Merge branch 'fastqscreen' into fastqscreen
FranBonath Oct 30, 2024
effa9c9
remove absolute path of fastqscreen config
FranBonath Nov 7, 2024
a2f2dfc
remove "projectDir" from path for fastqscreen config in nextflow.config
FranBonath Nov 7, 2024
c213e90
Merge pull request #64 from FranBonath/fastqscreen
FranBonath Nov 7, 2024
b1ab75b
Merge branch 'dev' into fastqscreen
kedhammar Nov 7, 2024
2c44320
remove conf/fastq_screen.conf and it's references, as the file is bui…
kedhammar Nov 7, 2024
fedeab2
remove diff dump, I don't see why it should be here
kedhammar Nov 7, 2024
588ad1d
spacing
kedhammar Nov 7, 2024
2001ccd
Revert remove diff dump, now I see why it should be here :)
kedhammar Nov 7, 2024
5bb8dfd
fix faulty params var name in test config
kedhammar Nov 7, 2024
3baa7fc
update snapshots for new multiqc citations
kedhammar Nov 7, 2024
843e2c6
module tests of fastqscreen are dependent on non-installed modules, s…
kedhammar Nov 7, 2024
66d08ad
Append changelog entry
kedhammar Nov 7, 2024
9567f47
Check for fastQ Screen files in multiqc report in pipeline tests and …
kedhammar Nov 7, 2024
5248fad
fix indent
kedhammar Nov 7, 2024
46d39d6
Merge pull request #56 from ctuni/feature/seqfu
ctuni Nov 11, 2024
e2a290c
fix: Rename fastqscreen files so they're unique
edmundmiller Nov 14, 2024
a0ef751
Merge branch 'dev' into fastqscreen
edmundmiller Nov 14, 2024
46d1bfd
fix: collectFile fastqscreen rough draft
edmundmiller Nov 14, 2024
b8c363c
chore: Lock down arity in fastqscreen
edmundmiller Nov 14, 2024
d021ed0
feat: Getting close to making the config on the head node
edmundmiller Nov 14, 2024
4b278bf
make functional :')
kedhammar Dec 5, 2024
63ebd67
make input mounting more flexible by separating mounted dir path from…
kedhammar Dec 5, 2024
2608088
successfully use schema validation for fastqscreen reference .csv
kedhammar Dec 5, 2024
4f743e2
remove redundant operator
kedhammar Dec 5, 2024
5aeb8d1
update comment
kedhammar Dec 5, 2024
a31a392
switch to cleaner file and variable names, remove fastqscreen .csv as…
kedhammar Dec 5, 2024
7396d4c
update docs
kedhammar Dec 5, 2024
e3a8862
update snapshots
kedhammar Dec 5, 2024
586ac9b
re-generate module patch
kedhammar Dec 5, 2024
7b6c18b
try gha update
kedhammar Dec 5, 2024
83539bd
Merge pull request #53 from nf-core/fastqscreen
kedhammar Dec 9, 2024
5bdbb5b
Merge remote-tracking branch 'origin/dev' into nf-core-template-merge…
Aratz Dec 13, 2024
c61d90f
Fix pre-commit
Aratz Dec 13, 2024
7a105c5
Fix warning messages
Aratz Dec 13, 2024
9aa2ea0
Fix contributor field
Aratz Dec 13, 2024
0e9db9f
Include conf/modules.config again
Aratz Dec 13, 2024
5e399e9
Patch fastqscreen to handle multiple input FASTQ files
adamrtalbot Dec 17, 2024
25805d7
docs: CHANGELOG
adamrtalbot Dec 17, 2024
126d1e3
Bugfix
kedhammar Dec 18, 2024
bd8735e
Use <meta.id>(_1|2)?_screen filenames and make DRYer
kedhammar Dec 18, 2024
b6d7f0d
bump docs
kedhammar Dec 19, 2024
841ea90
bump module patch
kedhammar Dec 19, 2024
5d9122a
nf-core tools lint autofixes
kedhammar Dec 19, 2024
1574c55
Merge pull request #69 from nf-core/nf-core-template-merge-3.1.0
kedhammar Dec 19, 2024
5baf5d3
Merge branch 'dev' of https://github.com/nf-core/seqinspector into fa…
kedhammar Dec 19, 2024
e2d54ea
remove fq/lint from modules.json, handled in separate PR
kedhammar Dec 19, 2024
1f7dc68
Merge pull request #71 from adamrtalbot/fastqscreen_handles_more_than…
adamrtalbot Dec 19, 2024
4e30ba8
Add skip tools parameter
Aratz Oct 29, 2024
5037949
Add tests for skip_tools
Aratz Nov 22, 2024
e48d5b7
Update docs
Aratz Nov 22, 2024
e75d684
Update CHANGELOG
Aratz Nov 22, 2024
af55550
Fixed linting
Aratz Nov 22, 2024
868f8c2
Improve `skip_tools` regex pattern
Aratz Dec 13, 2024
439d747
Add option to skip fastqscreen and subsampling
Aratz Dec 13, 2024
ad6a2c4
Fix link to nf-core docs
Aratz Dec 13, 2024
4beba7a
Merge remote-tracking branch 'origin/dev' into nf-core-template-merge…
Aratz Jan 15, 2025
e3c10e3
Set nf_core version to 3.1.1
Aratz Jan 15, 2025
2ab4fa0
Remove double include of modules.config
Aratz Jan 15, 2025
78edd60
Update CITATIONS.md
Aratz Jan 17, 2025
5949098
Update README.md
Aratz Jan 17, 2025
0a99588
Update README.md
Aratz Jan 17, 2025
84e15b0
Update docs/output.md
Aratz Jan 17, 2025
4ed43fb
Merge pull request #72 from nf-core/nf-core-template-merge-3.1.2.dev0
Aratz Jan 17, 2025
ec9570d
Merge pull request #68 from Aratz/tool_selector
Aratz Jan 17, 2025
5d4686e
Merge remote-tracking branch 'origin/dev' into nf-core-template-merge…
Aratz Jan 27, 2025
b259a87
Merge branch 'nf-core-template-merge-3.1.2' into nf-core-template-mer…
Aratz Jan 30, 2025
826a811
Merge pull request #74 from nf-core/nf-core-template-merge-3.2.0
Aratz Jan 30, 2025
734a412
Set up nft-utils in tests
Aratz Jan 7, 2025
5053098
Exclude fastqc/*_fastqc.html files
Aratz Feb 4, 2025
0372247
Update changelog
Aratz Feb 4, 2025
80f0095
Merge pull request #75 from Aratz/nft-utils
Aratz Feb 13, 2025
f79897c
use parameter-supplied fastqscreen reference instead of hardcoded exa…
kedhammar Mar 17, 2025
0c6fc55
Merge branch 'dev' into seqinspector-params
kedhammar Mar 17, 2025
4bcca15
typo
kedhammar Mar 17, 2025
0ba1652
add assertions
kedhammar Mar 18, 2025
2fd5f7c
Revert "add assertions"
kedhammar Mar 18, 2025
487f081
Merge pull request #77 from kedhammar/seqinspector-params
kedhammar Mar 20, 2025
a99d0d6
Added missing citations to citation tool
Mar 24, 2025
6c4bcde
TODOs removed
Patricie34 Mar 25, 2025
7ca4053
CHANGELOG.md updated
Patricie34 Mar 25, 2025
cd97466
Merge pull request #96 from Patricie34/dev
Aratz Mar 25, 2025
00470cb
Add test with paired end reads
Aratz Mar 25, 2025
13b2bd5
Fix group reports for paired reads
Aratz Mar 25, 2025
9c34a5b
Update Changelog
Aratz Mar 25, 2025
0156488
add official seqinspector hex logos
FranBonath Mar 25, 2025
e73e1cc
Merge pull request #99 from Aratz/dev
KarNair Mar 25, 2025
9ed4eb2
Configure full-tests
KarNair Mar 25, 2025
e29bbc6
Update changelog
KarNair Mar 25, 2025
48505fd
Merge branch 'dev' of github.com:FranBonath/seqinspector into dev
FranBonath Mar 25, 2025
3685502
improve logos
FranBonath Mar 25, 2025
ae2d549
Merge pull request #103 from KarNair/dev
KarNair Mar 25, 2025
4d8c75b
Put SeqFU-stats section reports together
nkongenelly Mar 26, 2025
d930935
Merge remote-tracking branch 'origin/dev' into multiple-seqfu-reports
Aratz Mar 26, 2025
df1a244
Fix tests
Aratz Mar 26, 2025
0db3b72
Update schema to accept tar file or directory
mahesh-panchal Mar 26, 2025
70e66b8
Update changelog
Aratz Mar 26, 2025
04d8375
Update CHANGELOG.md
mahesh-panchal Mar 26, 2025
bd65741
Lint changelog
Aratz Mar 26, 2025
bab7854
Merge pull request #110 from mahesh-panchal/add_rundir
mahesh-panchal Mar 26, 2025
02005f8
Merge pull request #107 from nkongenelly/multiple-seqfu-reports
Aratz Mar 26, 2025
f9446cd
updates to fit incoming template conventions
kedhammar Mar 26, 2025
90fb609
Making fastq_screen_references value to use baseDir
nkongenelly Mar 26, 2025
250aace
ignore lint for missing ci.yml
kedhammar Mar 26, 2025
53940ea
Merge pull request #112 from nkongenelly/fastq_screen_references-base…
nkongenelly Mar 26, 2025
ef4c3a6
Update MultiQC to 1.28
Aratz Mar 27, 2025
432f769
Update changelog
Aratz Mar 27, 2025
71cd6de
Lint changelog
Aratz Mar 27, 2025
f28a1e1
Update snapshots
Aratz Mar 27, 2025
0058879
Merge pull request #116 from Aratz/dev
Aratz Mar 27, 2025
cf5f9eb
Merge branch 'dev' into ci-nf-test
maxulysse Mar 27, 2025
fda6189
bump changelog
kedhammar Apr 2, 2025
da768fb
Merge pull request #114 from kedhammar/ci-nf-test
kedhammar Apr 7, 2025
35dcc5a
add sequali
pontushojer Oct 22, 2025
d642856
update citations
pontushojer Oct 23, 2025
eb629ea
update changelog
pontushojer Oct 23, 2025
2adc698
run prettier
pontushojer Oct 23, 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
10 changes: 5 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ indent_style = unset
[/assets/email*]
indent_size = unset

# ignore Readme
[README.md]
indent_style = unset

# ignore python
# ignore python and markdown
[*.{py,md}]
indent_style = unset

# ignore ro-crate metadata files
[**/ro-crate-metadata.json]
insert_final_newline = unset
30 changes: 18 additions & 12 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# nf-core/seqinspector: Contributing Guidelines
# `nf-core/seqinspector`: Contributing Guidelines

Hi there!
Many thanks for taking an interest in improving nf-core/seqinspector.
Expand All @@ -19,7 +19,7 @@ If you'd like to write some code for nf-core/seqinspector, the standard workflow
1. Check that there isn't already an issue about your idea in the [nf-core/seqinspector issues](https://github.com/nf-core/seqinspector/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/seqinspector repository](https://github.com/nf-core/seqinspector) to your GitHub account
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
4. Use `nf-core pipelines schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged

If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/).
Expand All @@ -40,7 +40,7 @@ There are typically two types of tests that run:
### Lint tests

`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core lint <pipeline-directory>` command.
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core pipelines lint <pipeline-directory>` command.

If any failures or warnings are encountered, please follow the listed URL for more documentation.

Expand All @@ -55,42 +55,48 @@ These tests are run both with the latest available version of `Nextflow` and als

:warning: Only in the unlikely and regretful event of a release happening with a bug.

- On your own fork, make a new branch `patch` based on `upstream/master`.
- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`.
- Fix the bug, and bump version (X.Y.Z+1).
- A PR should be made on `master` from patch to directly this particular bug.
- Open a pull-request from `patch` to `main`/`master` with the changes.

## Getting help

For further information/help, please consult the [nf-core/seqinspector documentation](https://nf-co.re/seqinspector/usage) and don't hesitate to get in touch on the nf-core Slack [#seqinspector](https://nfcore.slack.com/channels/seqinspector) channel ([join our Slack here](https://nf-co.re/join/slack)).

## Pipeline contribution conventions

To make the nf-core/seqinspector code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
To make the `nf-core/seqinspector` code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.

### Adding a new step

If you wish to contribute a new step, please use the following coding standards:

1. Define the corresponding input channel into your new process from the expected previous process channel
1. Define the corresponding input channel into your new process from the expected previous process channel.
2. Write the process block (see below).
3. Define the output channel if needed (see below).
4. Add any new parameters to `nextflow.config` with a default (see below).
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core schema build` tool).
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`.
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`.

### Things to consider regarding displaying results for a new tool

- If a MultiQC module exist for the tool, use the standard settings for it to start with.
- If no Multiqc module exists, the results of the tool should be made available in the results directory.
- If a tool doesn’t produce output files, the stdout should be channeled into a output file that can be accessible from the outdir of the pipeline.

### Default values

Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.
Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`.

Once there, use `nf-core schema build` to add to `nextflow_schema.json`.
Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`.

### Default processes resource requirements

Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/main/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.

The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.

Expand All @@ -103,7 +109,7 @@ Please use the following naming schemes, to make it easy to understand what is g

### Nextflow version bumping

If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core bump-version --nextflow . [min-nf-version]`
If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core pipelines bump-version --nextflow . [min-nf-version]`

### Images and figures

Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ body:

- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
- [nf-core/seqinspector pipeline documentation](https://nf-co.re/seqinspector/usage)

- type: textarea
id: description
attributes:
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 @@ -17,8 +17,8 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/seqi
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/seqinspector/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/seqinspector _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] Ensure the test suite passes (`nf-test test main.nf.test -profile test,docker`).
- [ ] 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>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.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"
117 changes: 117 additions & 0 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
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: Setup Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ env.NXF_VERSION }}"

- name: Set up Python
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
with:
python-version: "3.11"

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

- 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
conda-remove-defaults: true

- name: Install pdiff
shell: bash
run: |
python -m pip install pdiff

# TODO Skip failing conda tests and document their failures
# https://github.com/nf-core/modules/issues/7017
- name: Run nf-test
shell: bash
env:
NFT_DIFF: ${{ env.NFT_DIFF }}
NFT_DIFF_ARGS: ${{ env.NFT_DIFF_ARGS }}
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/
51 changes: 39 additions & 12 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,50 @@
name: nf-core AWS full size tests
# This workflow is triggered on published releases.
# This workflow is triggered on PRs opened against the main/master branch.
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
# It runs the -profile 'test_full' on AWS batch

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

jobs:
run-tower:
run-platform:
name: Run AWS full tests
if: github.repository == 'nf-core/seqinspector'
# 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/seqinspector' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Launch workflow via tower
- 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'
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

- 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 }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
Expand All @@ -33,7 +60,7 @@ jobs:

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