Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
032da0d
Prettier
DLBPointon Feb 13, 2025
1b2aa3b
Updates to allow use of FOFN to detail reads for use
DLBPointon Feb 14, 2025
bf88e5b
Updated
DLBPointon Feb 14, 2025
3d8f7e4
Updates to allow for fofn
DLBPointon Feb 14, 2025
dcf7292
Example fofn
DLBPointon Feb 14, 2025
bb88f0d
Merge branch 'dev' into dp24_specified_reads
DLBPointon Feb 14, 2025
61f7d3f
Updating version collection for pretext modules
DLBPointon Feb 20, 2025
ec86aa4
Updating the usage documentation #365
DLBPointon Feb 25, 2025
6f287e2
Linting, once again
DLBPointon Feb 25, 2025
8aceaca
Merge branch 'dev' into dp24_docs_update
DLBPointon Mar 5, 2025
036542f
Update modules.config
DLBPointon Mar 10, 2025
0441732
Merge branch 'dev' into dp24_specified_reads
DLBPointon Mar 10, 2025
c1f7264
Update
DLBPointon Mar 10, 2025
4df9092
Updating log.warn back to error,1 so that the pipeline actually dies …
DLBPointon Mar 17, 2025
5a67bee
Adding the rest of what should have been in the previous input_channe…
DLBPointon Mar 17, 2025
6175f4b
Updating wf again
DLBPointon Mar 17, 2025
8e71d79
Further updates
DLBPointon Mar 17, 2025
3a58a77
Merge branch 'input_fix_2' into dp24_docs_update
DLBPointon Mar 17, 2025
e800797
Merge pull request #366 from sanger-tol/dp24_docs_update
DLBPointon Mar 17, 2025
73eb8be
template update initial commit
weaglesBio Apr 3, 2025
e0871b6
Template update for nf-core/tools version 3.2.0
weaglesBio Apr 3, 2025
cec52fa
Merge with TEMPLATE
weaglesBio Apr 4, 2025
e438bac
Fix merge conflicts
weaglesBio Apr 4, 2025
17f23d8
Fix merge conflicts
weaglesBio Apr 4, 2025
97cd7e3
Remove orphaned paranthesis
weaglesBio Apr 4, 2025
2f84729
Template update for nf-core/tools version 3.2.0
weaglesBio Apr 4, 2025
444966e
Merge TEMPLATE
weaglesBio Apr 4, 2025
b69226c
Fix merge issues
weaglesBio Apr 4, 2025
3f0caa6
Fix merge issues
weaglesBio Apr 4, 2025
bbf7952
Added contributors
weaglesBio Apr 4, 2025
669fa14
Template update for nf-core/tools version 3.2.0
weaglesBio Apr 4, 2025
38378fb
Fix ro-crate
weaglesBio Apr 4, 2025
044473e
Template update for nf-core/tools version 3.2.0
weaglesBio Apr 4, 2025
eb97aff
Added contributors
weaglesBio Apr 4, 2025
209b8a4
Test fixes
weaglesBio Apr 4, 2025
b398278
Update module and subworkflow directories
weaglesBio Apr 4, 2025
410a284
Remove avgcov
weaglesBio Apr 4, 2025
3b981c0
Merge branch 'dev' into schema_update
weaglesBio Apr 7, 2025
497cbc5
Requested changes
weaglesBio Apr 7, 2025
16bcd9d
Fix syntax errors
weaglesBio Apr 7, 2025
4b14ecc
Remove adaptivecard.json
weaglesBio Apr 7, 2025
c189e8e
Fix pretext file path
weaglesBio Apr 7, 2025
8e203b0
Fix trace config
weaglesBio Apr 7, 2025
ddbc071
Rename get_largest_scaffold
weaglesBio Apr 7, 2025
c37defb
Rename get_largest_scaffold
weaglesBio Apr 7, 2025
bff2186
Update module paths
weaglesBio Apr 7, 2025
6ae4d3c
Input schema update
weaglesBio Apr 8, 2025
18813c7
Merge branch 'dp24_specified_reads' into input_fix_2
DLBPointon Apr 8, 2025
8dd43e7
Merge pull request #384 from sanger-tol/input_fix_2
DLBPointon Apr 14, 2025
e161bc7
Merge branch 'dev' into dp24_specified_reads
DLBPointon Apr 14, 2025
4d5c9a0
Add fasta input format
weaglesBio Apr 14, 2025
99f9265
Update telo
weaglesBio Apr 14, 2025
d2a2d09
Merge dev
weaglesBio Apr 14, 2025
c26e7e2
Fix lint
weaglesBio Apr 14, 2025
6b01a4e
Merge with dev
weaglesBio Apr 24, 2025
f044642
Update telofinder module paths
weaglesBio Apr 24, 2025
80bdb49
Update telofinder module paths
weaglesBio Apr 24, 2025
3215ca2
Update entry
weaglesBio Apr 24, 2025
1f276df
Update nextflow version
weaglesBio Apr 24, 2025
5bf4d8d
Update nextflow version
weaglesBio Apr 24, 2025
db1cdb5
Rename entry to mode
weaglesBio Apr 24, 2025
f5b26b7
Update mode default
weaglesBio Apr 28, 2025
d93b5d5
Clear whitespace
weaglesBio Apr 29, 2025
70b3613
Updates yaml_input
DLBPointon Apr 29, 2025
8c3ef03
Rename GET_LARGEST_SCAFFOLD
weaglesBio Apr 29, 2025
38f7b6d
Rename CONCAT_BLOCKS
weaglesBio Apr 29, 2025
f375221
Rename GET_MIN_MAX_PUNCHES
weaglesBio Apr 29, 2025
1e40dc6
Rename GET_MIN_MAX_PUNCHES
weaglesBio Apr 29, 2025
7ef293c
Remove whitespace
weaglesBio Apr 29, 2025
8c0dc40
Rename AVG_COV
weaglesBio Apr 29, 2025
f228b5d
Update versions check
weaglesBio Apr 29, 2025
368d059
Fix CI
weaglesBio Apr 29, 2025
a0a4e64
Remove whitespace
weaglesBio Apr 30, 2025
1c03a15
update paths for modules now we no longer have entry points
DLBPointon Apr 30, 2025
11b8010
Merge branch 'schema_update' of https://github.com/sanger-tol/treeval…
DLBPointon Apr 30, 2025
0ce9727
Fix error in test_github.config
weaglesBio Apr 30, 2025
efc39c0
Revert nf-schema version to avoid known bug
weaglesBio Apr 30, 2025
f3d53ca
Update for the pretextgraph module
DLBPointon May 8, 2025
db80357
LINTING
DLBPointon May 8, 2025
6e1e8f1
Strip the meta from channels
DLBPointon May 9, 2025
d190d9f
forgot to make the change in both places
DLBPointon May 9, 2025
1e1f7d5
making a start on changelog and re-upping nf-schema version
DLBPointon May 9, 2025
8c24cd7
base.config errors
DLBPointon May 9, 2025
32d594d
errors and linting
DLBPointon May 9, 2025
4ae826e
Nextflow plugin is making it hard to see some errors
DLBPointon May 9, 2025
f7299dd
Update main.nf
DLBPointon May 15, 2025
80816dd
Update pretextmap.diff
DLBPointon May 15, 2025
c126b44
Merge pull request #410 from sanger-tol/dp24-pretextmap-container-update
DLBPointon May 15, 2025
f7f4402
Merge pull request #406 from sanger-tol/dp24_pretext_module_update
weaglesBio May 16, 2025
500160c
Update to add run_hires
DLBPointon May 20, 2025
c98f9b1
adding new flag
DLBPointon May 20, 2025
b2e4e9e
merge with dev
DLBPointon May 20, 2025
720c55f
Initial merge
DLBPointon May 20, 2025
322bd61
Initial merge
DLBPointon May 20, 2025
a404554
Change input to array
DLBPointon May 20, 2025
7c92ad3
removing ticket_id code
DLBPointon May 20, 2025
b29d23e
Remove SummaryStats reporting - Temp Change
DLBPointon May 27, 2025
412d3e9
Removing pacbio SummaryStats reporting
DLBPointon May 27, 2025
0de4565
Script crashes due to use of zcat on crai (a text file) rather than cat
DLBPointon May 27, 2025
3521817
Update module to stage files in folder
DLBPointon May 27, 2025
61f4ad9
Added logic for hic specified reads, almost entirely duplicates pacbi…
DLBPointon May 27, 2025
d083d20
Remove remaining report logic
DLBPointon May 27, 2025
9bc2b1e
Remove no longer needed code
DLBPointon May 27, 2025
e26bb8d
updating string to array
DLBPointon May 27, 2025
4ee679d
Updating for array of hic data
DLBPointon May 27, 2025
401222e
remove block of code that just is not needed
DLBPointon May 27, 2025
1c2750b
remove comments
DLBPointon May 27, 2025
190db44
Remove unnecessary grabfiles
DLBPointon May 28, 2025
f56620f
updated
DLBPointon May 28, 2025
c7f930e
version update
DLBPointon May 28, 2025
ab2f463
updating testing
DLBPointon May 28, 2025
a167704
Updating testing
DLBPointon May 28, 2025
212e569
Modules.json was broken in merge conflict for schema
DLBPointon May 28, 2025
c3e5998
Fix GAWK
DLBPointon May 28, 2025
d8ab0ac
Update subworkflow
DLBPointon May 28, 2025
cda2653
Update
DLBPointon May 28, 2025
c41ff71
Removing 4 modules and replacing with GAWK
DLBPointon May 28, 2025
8a3f67b
adding configs for new modules
DLBPointon May 28, 2025
eef7743
Fix reference
DLBPointon May 28, 2025
f50f047
Corrections
DLBPointon May 28, 2025
5b7a10a
Corrections
DLBPointon May 28, 2025
47ca85f
replacing with GAWK
DLBPointon May 28, 2025
056cdb2
Replace another module with GAWK
DLBPointon May 28, 2025
93096bc
Tabs to spaces to satisfy Black linter
DLBPointon May 28, 2025
4e4c8a5
Update treeval asfile code
mahesh-panchal May 26, 2025
b8c645c
Fix autocorrect change
DLBPointon May 28, 2025
5a25c15
Remove null injection
mahesh-panchal May 26, 2025
a8a38b9
Move yaml package name
mahesh-panchal May 26, 2025
b8135db
Convert String paths to Path, and annotate rest
mahesh-panchal May 26, 2025
7314d90
Fix read_ch logic
mahesh-panchal May 26, 2025
2ee517b
Refactor YAML_INPUT to not separate everything in channels
mahesh-panchal May 26, 2025
57b845f
Amend Synteny wf
mahesh-panchal May 26, 2025
7a1a621
Replace Grabfiles
mahesh-panchal May 26, 2025
999b4b2
Remove redundant line
mahesh-panchal May 26, 2025
eca33c0
Fix map syntax
mahesh-panchal May 26, 2025
8cce1d1
Update gene alignment wf
mahesh-panchal May 27, 2025
28e107f
Fix object type in gene alignment wf
mahesh-panchal May 27, 2025
8e66472
Remove redundant line
mahesh-panchal May 27, 2025
d85a139
Update reading in cram and fastq
mahesh-panchal May 28, 2025
a1dd22d
Remove additional workflows from rebase
mahesh-panchal May 28, 2025
9c91666
Convert string to channel
mahesh-panchal May 28, 2025
c61f12a
Rename channels
mahesh-panchal May 28, 2025
bb5af0a
Revert rebase variable name change
mahesh-panchal May 28, 2025
8aab202
Add TODO for warning
mahesh-panchal May 28, 2025
49bf4c9
Revert changes from rebase
mahesh-panchal May 28, 2025
e88b13b
Merge branch 'dp24_specified_reads' into nbis_patches
DLBPointon May 28, 2025
590d178
Merge pull request #361 from sanger-tol/dp24_specified_reads
weaglesBio May 29, 2025
bd9a711
Update CHANGELOG.md
DLBPointon May 30, 2025
8736b26
Fix variable spelling
mahesh-panchal Jun 2, 2025
9dee005
Move genome mode parameter
mahesh-panchal Jun 2, 2025
7bd6ab1
Propogate busco full table
mahesh-panchal Jun 2, 2025
dc949ca
Fix PRETEXT_INGEST_HIRES inputs
mahesh-panchal Jun 2, 2025
72d1ced
Merge pull request #412 from mahesh-panchal/nbis_patches
DLBPointon Jun 3, 2025
6a7c1d0
Update CHANGELOG.md
DLBPointon Jun 3, 2025
0eb39ad
Added function for fofn reading and merging with other items in array
DLBPointon Jun 4, 2025
3476596
Update changelog
DLBPointon Jun 4, 2025
dbac740
Update schema in assets to better enforce inputs
DLBPointon Jun 4, 2025
97b036e
Updated for array ar hic
DLBPointon Jun 4, 2025
7a750f8
Update to remove unnecessary line
DLBPointon Jun 4, 2025
37d630a
Managed to make a typo
DLBPointon Jun 4, 2025
3fd8ff5
missed a comma
DLBPointon Jun 4, 2025
b0f0ee8
Update to remove AVGCOV
DLBPointon Jun 4, 2025
f6658ce
updated for linting
DLBPointon Jun 4, 2025
f4df563
Update syntax
DLBPointon Jun 4, 2025
fe68257
More linting
DLBPointon Jun 4, 2025
b9698dc
Correct linting
DLBPointon Jun 4, 2025
9f4e17a
Correct linting
DLBPointon Jun 4, 2025
214e285
Working update
DLBPointon Jun 9, 2025
4ed95f2
Remove the avg stuff
DLBPointon Jun 9, 2025
ec52ab8
Update mainly for gawk error
DLBPointon Jun 9, 2025
2861543
renaming test files to better represent the data in use
DLBPointon Jun 9, 2025
9f7ab12
Merge branch 'schema_update' into dp24_fofn_function
DLBPointon Jun 9, 2025
3809726
update GAWK commands
DLBPointon Jun 9, 2025
ab90df9
More GAWK fixes
DLBPointon Jun 9, 2025
4451f7c
Had to write a custom awk funciton
DLBPointon Jun 9, 2025
b2a1722
Update to print statements
DLBPointon Jun 9, 2025
4de8bdd
remove try-except
DLBPointon Jun 9, 2025
2a49079
Updates based on comments
DLBPointon Jun 16, 2025
fd2719e
Adding awk code to awk files where appropriate
DLBPointon Jun 17, 2025
4efe7ee
updates
DLBPointon Jun 17, 2025
d740046
Updates
DLBPointon Jun 19, 2025
be1dfc6
Prettier
weaglesBio Jun 20, 2025
6a73f51
Revert telo gawk changes
weaglesBio Jun 20, 2025
a49fcf8
Merge pull request #415 from sanger-tol/dp24_fofn_function
weaglesBio Jun 20, 2025
6fd0b0f
Resource update
weaglesBio Jun 20, 2025
0e749b4
Merge pull request #390 from sanger-tol/schema_update
DLBPointon Jun 20, 2025
c44e88b
Template update for nf-core/tools version 3.2.1
weaglesBio Jun 20, 2025
bdc424c
Template update for nf-core/tools version 3.3.1
weaglesBio Jun 20, 2025
0e41b4c
Template update - nf-core_3.3
weaglesBio Jun 20, 2025
a3ef4cc
Change merqury output to remove .ref.
weaglesBio Jun 23, 2025
df00b5c
Merge pull request #419 from sanger-tol/fix_merqury_output
weaglesBio Jun 27, 2025
756e11d
changed assem_id type
yumisims Jul 1, 2025
453260f
add new pattern
yumisims Jul 1, 2025
068dc56
accept anything
yumisims Jul 1, 2025
669287e
add synteney validation
yumisims Jul 1, 2025
ae4a2f5
fixed syn
yumisims Jul 1, 2025
25def88
testing
yumisims Jul 1, 2025
d7a21d3
test
yumisims Jul 2, 2025
a9a6299
Merge pull request #421 from sanger-tol/schema_update
weaglesBio Jul 2, 2025
8afa3e7
Test update
weaglesBio Jul 14, 2025
7308ac0
Generate missing .crai
weaglesBio Jul 14, 2025
1ca0a36
Update test name
weaglesBio Jul 14, 2025
8eb2cb5
Update .gitignore
weaglesBio Jul 14, 2025
6c0f816
Remove run files
weaglesBio Jul 14, 2025
e23f907
Lint fix
weaglesBio Jul 14, 2025
0ced954
rocrate lint
weaglesBio Jul 14, 2025
f8d0af0
Update test
weaglesBio Jul 14, 2025
b207a76
Fix errors
weaglesBio Jul 15, 2025
bbe9618
Fix test
weaglesBio Jul 15, 2025
796c2dd
Update synteny
weaglesBio Jul 15, 2025
c15a855
Template update for nf-core/tools version 3.3.1
weaglesBio Jul 15, 2025
ec059e6
Template update for nf-core/tools version 3.3.1
weaglesBio Jul 15, 2025
98bc216
Template update for nf-core/tools version 3.3.1
weaglesBio Jul 15, 2025
f187fa8
Remove ci.yml
weaglesBio Jul 17, 2025
20e1dbb
Update snapshot
weaglesBio Jul 17, 2025
46f6f91
Update snapshot
weaglesBio Jul 18, 2025
6a2d799
Update snapshot
weaglesBio Jul 22, 2025
c8139e2
Template update for nf-core/tools version 3.3.1
weaglesBio Jul 22, 2025
64d4985
Merge branch 'TEMPLATE' into nfcore_update
weaglesBio Jul 22, 2025
1f82ba0
Fix rocrate
weaglesBio Jul 22, 2025
32fc506
Update nextflow version
weaglesBio Jul 22, 2025
525eb87
Remove tmp
weaglesBio Jul 22, 2025
e76a599
Update version numbers
weaglesBio Jul 22, 2025
cff7480
Revert gitpod
weaglesBio Jul 22, 2025
da461c2
Simplified Test
weaglesBio Jul 22, 2025
a24a8ae
simplified yaml
weaglesBio Jul 22, 2025
1a4c27b
simplified yaml
weaglesBio Jul 22, 2025
22ae012
Add to .nftignore
weaglesBio Jul 22, 2025
dced7e5
Fix lint/Set nf-test diff
weaglesBio Jul 22, 2025
12c2fec
Update rocrate
weaglesBio Jul 22, 2025
c9ef6f9
Updated test
weaglesBio Jul 23, 2025
2bea158
Update snapshot
weaglesBio Jul 23, 2025
5352c24
Lint
weaglesBio Jul 23, 2025
da723a3
Clean up old tests
weaglesBio Jul 23, 2025
a985fb8
Add output
weaglesBio Jul 23, 2025
e1813f8
Remove whitespace
weaglesBio Jul 23, 2025
f88b79f
Merge pull request #423 from sanger-tol/nftest_update
DLBPointon Jul 23, 2025
95fd79c
Remove conda profile from nf-test
weaglesBio Jul 24, 2025
3c5d72f
Merge pull request #425 from sanger-tol/remove_conda
DLBPointon Jul 24, 2025
27d26dd
Re-add inputs
weaglesBio Jul 24, 2025
ab77968
Remove outdir
weaglesBio Jul 25, 2025
96fd03e
Merge pull request #426 from sanger-tol/fix_tests
DLBPointon Jul 25, 2025
0c4dafb
Fix_tests
weaglesBio Jul 25, 2025
37454d5
Fix whitespace
weaglesBio Jul 25, 2025
e8b74e7
Update comments
weaglesBio Jul 25, 2025
ce87c36
Merge pull request #427 from sanger-tol/fix_tests
DLBPointon Jul 25, 2025
03b297e
Simplify download test
weaglesBio Jul 28, 2025
039fa17
Merge pull request #428 from sanger-tol/fix_tests
DLBPointon Jul 28, 2025
565511d
Update CHANGELOG.md
DLBPointon Jul 28, 2025
09a1976
Merge pull request #429 from sanger-tol/DLBPointon-patch-1
gq1 Jul 29, 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
27 changes: 0 additions & 27 deletions .devcontainer/devcontainer.json

This file was deleted.

14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,20 @@ insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset
indent_size = unset
[/subworkflows/nf-core/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset

[/assets/email*]
indent_size = unset

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

# ignore ro-crate metadata files
[**/ro-crate-metadata.json]
insert_final_newline = unset
46 changes: 14 additions & 32 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# sanger-tol/treeval: Contributing Guidelines
# `sanger-tol/treeval`: Contributing Guidelines

Hi there!
Many thanks for taking an interest in improving sanger-tol/treeval.
Expand All @@ -16,7 +16,7 @@ If you'd like to write some code for sanger-tol/treeval, the standard workflow i
1. Check that there isn't already an issue about your idea in the [sanger-tol/treeval issues](https://github.com/sanger-tol/treeval/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 [sanger-tol/treeval repository](https://github.com/sanger-tol/treeval) 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 @@ -31,7 +31,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 @@ -46,40 +46,38 @@ 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.

## Pipeline contribution conventions

To make the sanger-tol/treeval 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 `sanger-tol/treeval` 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`.
8. If applicable, add a new test in the `tests` directory.

### 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.cpu}` and `${task.memory}` variables in the `script:` block.
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.

### Naming schemes

Expand All @@ -90,24 +88,8 @@ 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

For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).

## GitHub Codespaces

This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.

To get started:

- Open the repo in [Codespaces](https://github.com/sanger-tol/treeval/codespaces)
- Tools installed
- nf-core
- Nextflow

Devcontainer specs:

- [DevContainer config](.devcontainer/devcontainer.json)
- [Dockerfile](.devcontainer/Dockerfile)
32 changes: 10 additions & 22 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,46 +9,34 @@ body:
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: command_used
attributes:
label: Command used and terminal output
description: Steps to reproduce the behaviour. Please paste the command you used
to launch the pipeline and the output from your terminal.
description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal.
render: console
placeholder: "$ nextflow run ...

placeholder: |
$ nextflow run ...

Some output where something broke

"
- type: textarea
id: files
attributes:
label: Relevant files
description: "Please drag and drop the relevant files here. Create a `.zip` archive
if the extension is not allowed.

Your verbose log file `.nextflow.log` is often useful _(this is a hidden file
in the directory where you launched the pipeline)_ as well as custom Nextflow
configuration files.
description: |
Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed.
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files.

"
- type: textarea
id: system
attributes:
label: System information
description: "* Nextflow version _(eg. 22.10.1)_

description: |
* Nextflow version _(eg. 23.04.0)_
* Hardware _(eg. HPC, Desktop, Cloud)_

* Executor _(eg. slurm, local, awsbatch)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud,
or Apptainer)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
* OS _(eg. CentOS Linux, macOS, Linux Mint)_

* Version of sanger-tol/treeval _(eg. 1.1, 1.5, 1.8.2)_

"
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/sanger-tol/t
- [ ] This comment contains a description of changes (with reason).
- [ ] 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/sanger-tol/treeval/tree/master/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] 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.
- [ ] `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"
111 changes: 111 additions & 0 deletions .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
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@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.13"

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

# 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_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/
Loading