Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Do not merge!] Pseudo PR for first release #155

Open
wants to merge 1,020 commits into
base: TEMPLATE
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1020 commits
Select commit Hold shift + click to select a range
ed7fc91
Change to used input_region
Jun 8, 2024
f30cfaa
Simplify channels creations
Jun 8, 2024
1c8bf4c
correct typo which raised error
atrigila Jun 7, 2024
e5a4eb0
allow external chunks in glimpse1
atrigila Jun 7, 2024
a58c194
emit final prepared vcf
atrigila Jun 7, 2024
3e70142
run test from external params
atrigila Jun 7, 2024
129de0a
accept external chunks in glimpse2
atrigila Jun 7, 2024
fbbc87e
remove posfile not used in glimpse2
atrigila Jun 7, 2024
ec44ae8
make meta.id uniform across all schemas
atrigila Jun 7, 2024
a676f34
use input panel from panelprep
atrigila Jun 8, 2024
247951c
change chunks to those from specific region
atrigila Jun 8, 2024
b4dd4cf
update changelog
atrigila Jun 8, 2024
5705fb3
update snapshot
atrigila Jun 8, 2024
723cb0d
move channel haplegend from panel to posfile
atrigila Jun 9, 2024
b2aac1a
remove haplegend check in panel
atrigila Jun 9, 2024
7c3a2ff
update docs
atrigila Jun 9, 2024
df6cb37
update docs
atrigila Jun 9, 2024
46ca0a1
Update multiqc report
Jun 9, 2024
10a5c70
Merge branch 'dev' into bcftools_convert
atrigila Jun 9, 2024
051cf7d
correctly define ch_posfile
atrigila Jun 9, 2024
f44f857
update changelog
atrigila Jun 9, 2024
d66c16c
Merge branch 'bcftools_convert' of https://github.com/atrigila/phasei…
atrigila Jun 9, 2024
9250154
add tags to print id and chr when running
atrigila Jun 9, 2024
e302127
correct samtools depth tag
atrigila Jun 9, 2024
edc0e08
Merge branch 'dev' into multiqc
LouisLeNezet Jun 11, 2024
af47ed5
Update changelog
LouisLeNezet Jun 11, 2024
3ffdcda
Fix linting
LouisLeNezet Jun 11, 2024
535bc0e
Add patch for bcftools pluginsplit
LouisLeNezet Jun 11, 2024
2c99026
Fix linting
LouisLeNezet Jun 11, 2024
5b02a2c
Update snapshot
LouisLeNezet Jun 11, 2024
8c4ab24
Update conf/steps/validation.config
atrigila Jun 11, 2024
1fa75a9
Update conf/steps/simulation.config
atrigila Jun 11, 2024
2d7f589
add haplegend for chr21
atrigila Jun 11, 2024
150cb9e
Merge pull request #86 from atrigila/bcftools_convert
atrigila Jun 11, 2024
7f36c8c
move bcftools_convert to vcf_sites_extract
atrigila Jun 8, 2024
581240f
move channel definition to panelprep
atrigila Jun 8, 2024
f3beb18
move channel haplegend from panel to posfile
atrigila Jun 9, 2024
5dcd43e
remove haplegend check in panel
atrigila Jun 9, 2024
7a2fe37
update docs
atrigila Jun 9, 2024
0566d6d
update docs
atrigila Jun 9, 2024
0a295be
correctly define ch_posfile
atrigila Jun 9, 2024
51a5eb7
add tags to print id and chr when running
atrigila Jun 9, 2024
a29ae28
correct samtools depth tag
atrigila Jun 9, 2024
1d3574a
Update conf/steps/validation.config
atrigila Jun 11, 2024
5ca6ea3
Update conf/steps/simulation.config
atrigila Jun 11, 2024
cbefc66
add haplegend for chr21
atrigila Jun 11, 2024
ea8e489
Add stats to multiqc
Jun 7, 2024
15ea394
Add parameter sim_by_chr and dinamically publish downsampled file
Jun 7, 2024
d63350e
Add description and change parameter name
Jun 7, 2024
ebac4b2
Change to used input_region
Jun 8, 2024
0436807
Simplify channels creations
Jun 8, 2024
eb7a42e
emit final prepared vcf
atrigila Jun 7, 2024
5d8cc46
accept external chunks in glimpse2
atrigila Jun 7, 2024
f8755eb
use input panel from panelprep
atrigila Jun 8, 2024
0a369f1
Update multiqc report
Jun 9, 2024
7c92b3c
Change names for multiqc
Jun 12, 2024
50dd78a
Move to bcf for glimpse2
Jun 12, 2024
bb8e183
Fix indent
Jun 12, 2024
71e655d
Update snap with stats
Jun 12, 2024
06abcb9
Update stitch samples id to correctly assess it from filename
Jun 12, 2024
762b791
Remove versions.yml from output
Jun 12, 2024
1138ee9
Add indent
Jun 12, 2024
acc9294
Add chunks for chr 21
Jun 12, 2024
32df3c7
Fix main script
Jun 12, 2024
428b819
Update nf-test
Jun 12, 2024
77a7a00
Merge branch 'dev' into multiqc
LouisLeNezet Jun 12, 2024
61c5a8b
Update test
Jun 12, 2024
ed5fae9
Update test and align params
Jun 12, 2024
6351deb
Move to dot
LouisLeNezet Jun 13, 2024
ab8b036
Remove dot from panel
LouisLeNezet Jun 13, 2024
8b04ba6
Update multiqc config
LouisLeNezet Jun 13, 2024
636107c
Fix csv
LouisLeNezet Jun 13, 2024
d109b0b
Order tools
LouisLeNezet Jun 13, 2024
8684f31
Add check for all imputation tools
LouisLeNezet Jun 13, 2024
b81c002
Update snapshot
LouisLeNezet Jun 13, 2024
8964fe2
Set yml to 2 indent
LouisLeNezet Jun 13, 2024
20956e6
Merge pull request #88 from LouisLeNezet/multiqc
LouisLeNezet Jun 17, 2024
ad09829
Add header to samtools coverage stub
Jun 7, 2024
0127933
Add script and update metromap
Jun 7, 2024
1c0d5b2
Add freq parameter and fix phasing
LouisLeNezet Jun 5, 2024
f820a43
Add patch shapeit5
Jun 5, 2024
1a367f5
Fix linting
Jun 5, 2024
028773f
Fix chunk generation
Jun 5, 2024
a6c1f91
Update main.nf
LouisLeNezet Jun 6, 2024
277cee5
Reverse modification
LouisLeNezet Jun 6, 2024
3e3b140
Add panelprep to metromap
Jun 7, 2024
29d6450
Reverse change
Jun 7, 2024
4b154d2
Update documentation
Jun 7, 2024
b996e7e
Add freq parameter and fix phasing
LouisLeNezet Jun 5, 2024
f68f8ef
Add patch shapeit5
Jun 5, 2024
c27c6f2
Fix linting
Jun 5, 2024
57e06a6
Fix chunk generation
Jun 5, 2024
c843cb8
Add parameter sim_by_chr and dinamically publish downsampled file
Jun 7, 2024
53d0a1f
Simplify channels creations
Jun 8, 2024
fef294e
Add freq parameter and fix phasing
LouisLeNezet Jun 5, 2024
870fa07
Add patch shapeit5
Jun 5, 2024
5d281ac
Update metro map
Jun 12, 2024
25116be
Update metro map
LouisLeNezet Jun 13, 2024
0602cf9
Update image and README
Jun 14, 2024
537840e
Update README
Jun 14, 2024
4888c17
Update metro map
LouisLeNezet Jun 17, 2024
5679f7f
Lint modules.json
LouisLeNezet Jun 17, 2024
aadc7b8
Fix merge error
LouisLeNezet Jun 17, 2024
2e46cfa
Ignore more rules for draw io file
LouisLeNezet Jun 17, 2024
78a8c5c
Update Changelog
LouisLeNezet Jun 17, 2024
fc0d8a0
Update nextflow_schema.json
maxulysse Jun 17, 2024
045430a
Merge pull request #91 from LouisLeNezet/doc
LouisLeNezet Jun 17, 2024
55a8d5b
Merge pull request #92 from nf-core/maxulysse-patch-1
LouisLeNezet Jun 17, 2024
f1f6449
add dog config to test panelprep
atrigila Jul 9, 2024
5ddfc92
update changelog
atrigila Jul 9, 2024
59a0da2
Merge pull request #97 from atrigila/add_dog_dataset
atrigila Jul 9, 2024
a342791
Add support for CRAM, check contigs name (#93)
LouisLeNezet Jul 10, 2024
41e311a
Simplify CSV export and posfile usage (#96)
LouisLeNezet Jul 11, 2024
48eb141
Change compute_freq default to false (#101)
LouisLeNezet Jul 11, 2024
930c996
Update all nf-core modules (#100)
LouisLeNezet Jul 12, 2024
4dde6eb
remove unused subworkflow (#105)
atrigila Jul 16, 2024
a05575c
Fix chr name errors (#102)
LouisLeNezet Jul 16, 2024
fa4f103
Update glimpse2_phase gunzip & multiqc (#103)
LouisLeNezet Jul 16, 2024
8632ed3
Update sample sim full (#109)
LouisLeNezet Jul 18, 2024
95d932f
Update path to full sample (#110)
LouisLeNezet Jul 18, 2024
9ac8ddf
change output directory
atrigila Aug 11, 2024
0dae2e3
update docs and changelog
atrigila Aug 17, 2024
8096826
test imputation in dog
atrigila Aug 18, 2024
c9322a0
Nf test for everyone ! (#111)
LouisLeNezet Aug 23, 2024
1128a80
Merge branch 'dev' into add_docs_customization
atrigila Aug 23, 2024
f2823b0
Merge pull request #118 from atrigila/add_docs_customization
atrigila Aug 24, 2024
6c730f7
update dog config tests
atrigila Aug 24, 2024
762d484
add dog test to ci
atrigila Aug 24, 2024
2fbc45c
update changelog
atrigila Aug 24, 2024
f4e9c47
Merge branch 'dev' into test_dog
atrigila Aug 24, 2024
7702b0f
Update conf/test_dog.config
atrigila Aug 31, 2024
f348eda
fix csv
atrigila Aug 31, 2024
e7d34a4
Merge pull request #119 from atrigila/test_dog
atrigila Aug 31, 2024
c836b09
update changelog
atrigila Aug 31, 2024
0832ad1
add pdiff to nf-test
atrigila Aug 31, 2024
04dc761
Merge branch 'dev' into issue_114
atrigila Aug 31, 2024
ddaea17
update nextflow version in ci
atrigila Aug 31, 2024
36037bd
fix linting
atrigila Aug 31, 2024
a2653ed
Merge pull request #117 from atrigila/issue_114
atrigila Oct 10, 2024
c007e41
Nf core template merge 3.0.1 (#128)
LouisLeNezet Oct 11, 2024
87f537c
Important! Template update for nf-core/tools v3.0.2 (#129)
nf-core-bot Oct 11, 2024
0a25c1c
Normalization as optional and publishing improvment (#131)
LouisLeNezet Oct 15, 2024
a746a17
Add animated metro map (#134)
LouisLeNezet Oct 17, 2024
a4f6618
Add batch support (#135)
LouisLeNezet Oct 28, 2024
8fb7bf0
Update all nf-core modules (#139)
LouisLeNezet Oct 28, 2024
252d63a
Update workflows
LouisLeNezet Oct 28, 2024
d2fa7f8
Simplify chromosome number checking
LouisLeNezet Oct 28, 2024
9c1006a
Add error if contigs intersection is empty
LouisLeNezet Oct 28, 2024
a0a673c
Add parameter for max number of chromosomes showed
LouisLeNezet Oct 28, 2024
e9984d1
Add log info
LouisLeNezet Oct 28, 2024
feecec1
Improve logging information
LouisLeNezet Oct 29, 2024
af3d541
Update changelog
LouisLeNezet Oct 29, 2024
35a98f7
Fix error
LouisLeNezet Oct 29, 2024
abd697f
Fix conda environment
LouisLeNezet Oct 29, 2024
e351bb3
Check guidelines for release and add corrections (#132)
atrigila Oct 29, 2024
262290e
Merge pull request #143 from LouisLeNezet/fix_checkchr
atrigila Oct 29, 2024
679f50e
Conda check removed and seed parameters added for QUILT (#146)
LouisLeNezet Oct 29, 2024
a790ca1
Documentation updates (#144)
hemanoel Oct 29, 2024
a9b0824
Update usage.md (#147)
hemanoel Oct 29, 2024
cf6d3a8
Fix workflow dispatch (#148)
LouisLeNezet Oct 30, 2024
0eff9c2
Remove map
LouisLeNezet Oct 30, 2024
116a042
Remove map (#149)
LouisLeNezet Oct 30, 2024
610993e
Fix gstring error
LouisLeNezet Oct 30, 2024
d7ce7bd
Update Changelog
LouisLeNezet Oct 30, 2024
8ae7179
Update Changelog
LouisLeNezet Oct 30, 2024
10985a2
Fix Gstring interpolation in getFileExtension (#151)
LouisLeNezet Oct 30, 2024
70e24ec
Fix URLs and simplify citation (#152)
LouisLeNezet Oct 30, 2024
22559e7
Simplify getFileExtension
LouisLeNezet Oct 31, 2024
94befe0
Deactivate features in fulltest
LouisLeNezet Oct 31, 2024
849c055
Merge branch 'simplify_filename' into fulltest
LouisLeNezet Oct 31, 2024
33375b3
Fix nf-test of stitch sbwf
LouisLeNezet Oct 31, 2024
92dc6fd
Change nf-test
LouisLeNezet Oct 31, 2024
640d11a
Fix snapshot
LouisLeNezet Oct 31, 2024
b45b139
Fix linting
LouisLeNezet Oct 31, 2024
fe2213c
use correct image link
mashehu Nov 5, 2024
1134498
update nf-test version
atrigila Nov 5, 2024
f28ccb2
Fix link in usage.md
LouisLeNezet Nov 5, 2024
def5bef
Change main figure in table to figure+caption
atrigila Nov 5, 2024
7a4d516
add file titles
atrigila Nov 5, 2024
07bd474
replace table with figures for ordered list
atrigila Nov 5, 2024
13237e3
Order tools alphabetically based on the tool name
atrigila Nov 5, 2024
3e104a8
add useful info from development.md to CONTRIBUTING.md
atrigila Nov 5, 2024
2b3651a
remove logo.svg not used
atrigila Nov 5, 2024
4037e8e
fix typo
atrigila Nov 5, 2024
213ffbf
Fix typos
atrigila Nov 5, 2024
d8d6dff
add tree structure
atrigila Nov 5, 2024
11b0cd3
one line per sentence in markdown
atrigila Nov 5, 2024
ad0eda4
consistent VCF vs. vcf
atrigila Nov 5, 2024
dde1285
add dots to sentences
atrigila Nov 5, 2024
6daae70
remove duplicate
atrigila Nov 5, 2024
fbfa9d0
show example for 3 files
atrigila Nov 5, 2024
13f7611
improve description
atrigila Nov 5, 2024
8779a19
improve usage.md
atrigila Nov 5, 2024
d3844b3
Update language server
Nov 6, 2024
d8ee2b7
Remove input from input initialisation
Nov 6, 2024
eb5ef67
Update changelog
Nov 6, 2024
98dba2a
Fix numbering batch
Nov 6, 2024
1dd253a
Update nf-test modules
Nov 6, 2024
d12bca6
Fix fulltest
Nov 6, 2024
85f3753
Update nf-test
Nov 6, 2024
c2a59ff
Update nf-test
Nov 6, 2024
01a51d0
Update nf-test
Nov 6, 2024
0d20965
Remove .view()
Nov 6, 2024
bbc99d7
Set resourceLimits
Nov 6, 2024
ebf7f9e
Fix region processed with subset
Nov 6, 2024
c7af9b8
Set resourceLimits
Nov 6, 2024
5f86447
Update nf-test
Nov 6, 2024
ed26114
change how to install nf-test
atrigila Nov 6, 2024
af00b5c
remove tsv that is not produced anymore
atrigila Nov 6, 2024
d9cce4a
remove repeated information
atrigila Nov 6, 2024
69eb8bb
give higher level heading to tools, fix grammar
atrigila Nov 6, 2024
17c4817
add groovylang
atrigila Nov 6, 2024
93f51ca
delete tags.yml
atrigila Nov 6, 2024
13d2a2d
align
atrigila Nov 6, 2024
b65f85b
fix patterns in schema
atrigila Nov 6, 2024
c159855
revert setup nf-test
atrigila Nov 6, 2024
e5e4818
test sharding strategy in ci
atrigila Nov 6, 2024
6654bc1
Revert "test sharding strategy in ci"
atrigila Nov 6, 2024
9923c93
make contributing.md same as template
atrigila Nov 6, 2024
a1cd930
fix typo in chrX chr39
atrigila Nov 6, 2024
9f814d8
Update nf-test
LouisLeNezet Nov 7, 2024
9400b16
Fix function validateInputBatchTools
LouisLeNezet Nov 7, 2024
55dc003
Add null return
LouisLeNezet Nov 7, 2024
1527591
Remove println
Nov 7, 2024
ca6c5a5
Update CHANGELOG
Nov 7, 2024
e92e2da
pattern checking for comma separated list
atrigila Nov 8, 2024
b806079
reorganize diagrams in usage section
atrigila Nov 8, 2024
2228cc3
replace for quick working example
atrigila Nov 8, 2024
0c5cdf2
remove txt2image
atrigila Nov 8, 2024
2ba8c89
Set params.chunk_model
LouisLeNezet Nov 8, 2024
0722f8b
Fix linting
LouisLeNezet Nov 8, 2024
7d242be
Update Changelog
Nov 8, 2024
53a7173
Set back fulltest to glimpse1
Nov 8, 2024
25cfc4c
Merge branch 'dev' into chunk_model
LouisLeNezet Nov 8, 2024
80c9d35
Set chunk window size to 4mb
Nov 8, 2024
4f9da30
update image with white background
atrigila Nov 10, 2024
969af5e
improve introduction flow
atrigila Nov 10, 2024
f722171
use setup nf-test
atrigila Nov 10, 2024
857772d
Change chunk model initialisation
Nov 10, 2024
05397b4
Update nextflow_schema.json
atrigila Nov 10, 2024
e34c5a2
Add nf-test for chunk model
Nov 10, 2024
ee27981
Reduce spec of PR
Nov 10, 2024
06d6b60
Merge pull request #157 from LouisLeNezet/chunk_model
LouisLeNezet Nov 10, 2024
4f4d034
remove spaces
atrigila Nov 10, 2024
4e7255e
Merge branch 'adress_review_comments' of https://github.com/atrigila/…
atrigila Nov 10, 2024
3f52128
Merge branch 'dev' into fulltest
LouisLeNezet Nov 10, 2024
200176a
modify diagram
atrigila Nov 10, 2024
10a1dda
Merge pull request #153 from LouisLeNezet/fulltest
LouisLeNezet Nov 11, 2024
0662a58
update diagram
atrigila Nov 17, 2024
da2d16b
Merge pull request #156 from atrigila/adress_review_comments
atrigila Nov 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,12 @@ indent_size = unset
# ignore python and markdown
[*.{py,md}]
indent_style = unset

[/docs/*.xml*]
indent_style = unset
insert_final_newline = unset

[/docs/images/metro/*.xml*]
indent_style = unset
insert_final_newline = unset
end_of_line = unset
12 changes: 6 additions & 6 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ If you'd like to write some code for nf-core/phaseimpute, the standard workflow
1. Check that there isn't already an issue about your idea in the [nf-core/phaseimpute issues](https://github.com/nf-core/phaseimpute/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/phaseimpute repository](https://github.com/nf-core/phaseimpute) 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 Down Expand Up @@ -75,7 +75,7 @@ If you wish to contribute a new step, please use the following coding standards:
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`.
Expand All @@ -86,11 +86,11 @@ If you wish to contribute a new step, please use the following coding standards:

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

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 +103,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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/phas
- [ ] 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/phaseimpute/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/phaseimpute _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] 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.
Expand Down
29 changes: 22 additions & 7 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,38 @@
name: nf-core AWS full size tests
# This workflow is triggered on published releases.
# This workflow is triggered on PRs opened against the 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:
- master
workflow_dispatch:
pull_request_review:
types: [submitted]

jobs:
run-platform:
name: Run AWS full tests
if: github.repository == 'nf-core/phaseimpute'
# 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/phaseimpute' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: octokit/[email protected]
if: github.event_name != 'workflow_dispatch'
id: check_approvals
with:
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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 Down
79 changes: 70 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,107 @@
name: nf-core CI
# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors

on:
push:
branches:
- dev
- master
pull_request:
branches:
- dev
- master
release:
types: [published]
workflow_dispatch:

env:
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity
NFTEST_VER: "0.9.0"
atrigila marked this conversation as resolved.
Show resolved Hide resolved
NFT_WORKDIR: "~"
NFT_DIFF: "pdiff"
NFT_DIFF_ARGS: "--line-numbers --expand-tabs=2"

concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true

jobs:
test:
name: Run pipeline with test data
name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.TEST_PROFILE }} | ${{ matrix.profile }})"
# Only run on push if this is the nf-core dev branch (merged PRs)
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/phaseimpute') }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
NXF_VER:
- "23.04.0"
- "24.04.2"
- "latest-everything"
profile:
- "docker"
- "singularity"
TEST_PROFILE:
- "test_all"
- "test_validate"
- "test_stitch"
- "test_dog"
isMaster:
- ${{ github.base_ref == 'master' }}
# Exclude conda and singularity on dev
exclude:
- isMaster: false
profile: "conda"
- isMaster: false
profile: "singularity"
steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4

- name: Install Nextflow
- name: Set up Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ matrix.NXF_VER }}"

- name: Disk space cleanup
- name: Set up Apptainer
if: matrix.profile == 'singularity'
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: matrix.profile == 'singularity'
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

- name: Set up Miniconda
if: matrix.profile == 'conda'
uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3
with:
miniconda-version: "latest"
auto-update-conda: true
conda-solver: libmamba
channels: conda-forge,bioconda

- name: Set up Conda
if: matrix.profile == 'conda'
run: |
echo $(realpath $CONDA)/condabin >> $GITHUB_PATH
echo $(realpath python) >> $GITHUB_PATH

- name: Clean up Disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: Run pipeline with test data
# TODO nf-core: You can customise CI pipeline run tests as required
# For example: adding multiple test runs with different parameters
# Remember that you can parallelise this by using strategy.matrix
- name: Install pdiff to see diff between nf-test snapshots
run: |
python -m pip install --upgrade pip
pip install pdiff

- name: Install nf-test
run: |
wget -qO- https://code.askimed.com/install/nf-test | bash -s $NFTEST_VER
sudo mv nf-test /usr/local/bin/
atrigila marked this conversation as resolved.
Show resolved Hide resolved

- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.TEST_PROFILE }} | ${{ matrix.profile }}"
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
nf-test test --tag "${{ matrix.TEST_PROFILE }}" --profile ${{ matrix.profile }} --verbose
53 changes: 43 additions & 10 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Test successful pipeline download with 'nf-core download'
name: Test successful pipeline download with 'nf-core pipelines download'

# Run the workflow when:
# - dispatched manually
Expand All @@ -8,7 +8,7 @@ on:
workflow_dispatch:
inputs:
testbranch:
description: "The specific branch you wish to utilize for the test execution of nf-core download."
description: "The specific branch you wish to utilize for the test execution of nf-core pipelines download."
required: true
default: "dev"
pull_request:
Expand Down Expand Up @@ -39,9 +39,11 @@ jobs:
with:
python-version: "3.12"
architecture: "x64"
- uses: eWaterCycle/setup-singularity@931d4e31109e875b13309ae1d07c70ca8fbc8537 # v7

- name: Setup Apptainer
uses: eWaterCycle/setup-apptainer@4bb22c52d4f63406c49e94c804632975787312b3 # v2.0.0
with:
singularity-version: 3.8.3
apptainer-version: 1.3.4

- name: Install dependencies
run: |
Expand All @@ -54,33 +56,64 @@ jobs:
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}

- name: Make a cache directory for the container images
run: |
mkdir -p ./singularity_container_images

- name: Download the pipeline
env:
NXF_SINGULARITY_CACHEDIR: ./
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
run: |
nf-core download ${{ env.REPO_LOWERCASE }} \
nf-core pipelines download ${{ env.REPO_LOWERCASE }} \
--revision ${{ env.REPO_BRANCH }} \
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
--compress "none" \
--container-system 'singularity' \
--container-library "quay.io" -l "docker.io" -l "ghcr.io" \
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io" \
--container-cache-utilisation 'amend' \
--download-configuration
--download-configuration 'yes'

- name: Inspect download
run: tree ./${{ env.REPOTITLE_LOWERCASE }}

- name: Count the downloaded number of container images
id: count_initial
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Initial container image count: $image_count"
echo "IMAGE_COUNT_INITIAL=$image_count" >> ${GITHUB_ENV}

- name: Run the downloaded pipeline (stub)
id: stub_run_pipeline
continue-on-error: true
env:
NXF_SINGULARITY_CACHEDIR: ./
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
- name: Run the downloaded pipeline (stub run not supported)
id: run_pipeline
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
env:
NXF_SINGULARITY_CACHEDIR: ./
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results

- name: Count the downloaded number of container images
id: count_afterwards
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Post-pipeline run container image count: $image_count"
echo "IMAGE_COUNT_AFTER=$image_count" >> ${GITHUB_ENV}

- name: Compare container image counts
run: |
if [ "${{ env.IMAGE_COUNT_INITIAL }}" -ne "${{ env.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ env.IMAGE_COUNT_INITIAL }}
final_count=${{ env.IMAGE_COUNT_AFTER }}
difference=$((final_count - initial_count))
echo "$difference additional container images were \n downloaded at runtime . The pipeline has no support for offline runs!"
tree ./singularity_container_images
exit 1
else
echo "The pipeline can be downloaded successfully!"
fi
23 changes: 19 additions & 4 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: nf-core linting
# This workflow is triggered on pushes and PRs to the repository.
# It runs the `nf-core lint` and markdown lint tests to ensure
# It runs the `nf-core pipelines lint` and markdown lint tests to ensure
# that the code meets the nf-core guidelines.
on:
push:
Expand Down Expand Up @@ -41,17 +41,32 @@ jobs:
python-version: "3.12"
architecture: "x64"

- name: read .nf-core.yml
uses: pietrobolcato/[email protected]
id: read_yml
with:
config: ${{ github.workspace }}/.nf-core.yml

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install nf-core
pip install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }}

- name: Run nf-core pipelines lint
if: ${{ github.base_ref != 'master' }}
env:
GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }}
run: nf-core -l lint_log.txt pipelines lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md

- name: Run nf-core lint
- name: Run nf-core pipelines lint --release
if: ${{ github.base_ref == 'master' }}
env:
GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }}
run: nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md
run: nf-core -l lint_log.txt pipelines lint --release --dir ${GITHUB_WORKSPACE} --markdown lint_results.md

- name: Save PR number
if: ${{ always() }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download lint results
uses: dawidd6/action-download-artifact@09f2f74827fd3a8607589e5ad7f9398816f540fe # v3
uses: dawidd6/action-download-artifact@bf251b5aa9c2f7eeb574a96ee720e24f801b7c11 # v6
with:
workflow: linting.yml
workflow_conclusion: completed
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-announcements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- name: get topics and convert to hashtags
id: get_topics
run: |
echo "topics=$(curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .topics[]' | awk '{print "#"$0}' | tr '\n' ' ')" >> $GITHUB_OUTPUT
echo "topics=$(curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .topics[]' | awk '{print "#"$0}' | tr '\n' ' ')" | sed 's/-//g' >> $GITHUB_OUTPUT
- uses: rzr/fediverse-action@master
with:
Expand Down
Loading
Loading