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

v1.0.0 #66

Open
wants to merge 625 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
625 commits
Select commit Hold shift + click to select a range
3be2733
Update comment
nictru Aug 1, 2024
eb025f6
Merge pull request #165 from nf-core/find_circ_bug
nictru Aug 1, 2024
a66fcd3
Add error message for empty intersections
nictru Jul 12, 2024
02a19f2
Add docs for GTF required attributes
nictru Jul 12, 2024
2e3d667
Add check for presence of attributes in annotation intersection
nictru Jul 12, 2024
3a8e88c
Fix bug in missing attribute check
nictru Jul 12, 2024
b008653
Implement Segemehl grouping
nictru Aug 1, 2024
9d79972
Add bedtools groupby
nictru Aug 1, 2024
50a1817
Fix segemehl grouping
nictru Aug 1, 2024
9fc67a1
Implement ordering of segemehl results
nictru Aug 1, 2024
08d56cc
Implement check for duplicates in tool results
nictru Aug 1, 2024
7d470e6
Implement custom BSJome generation
nictru Aug 2, 2024
8719a3f
Extract annotation from discovery
nictru Aug 2, 2024
8509cb0
Fix bug in tool filtering
nictru Aug 2, 2024
d26712e
Fix saveAs conditions
nictru Aug 2, 2024
b45cea8
Fix some output definitions
nictru Aug 2, 2024
11892e2
Add per-sample and combined output directories for discovery
nictru Aug 2, 2024
a0f3e73
Add tools subdirectory to discovery outdir
nictru Aug 2, 2024
ea4ef34
Implement separate processes for FASTA extraction
nictru Aug 2, 2024
8e7e441
Add fastas to discovery output
nictru Aug 2, 2024
4e9f4ab
Add output directory for statistical tests
nictru Aug 2, 2024
4e2ce6c
Handle output of circtest_prepare
nictru Aug 2, 2024
ca5e4b6
Improve QC output directory structure
nictru Aug 2, 2024
f78404e
Unify discovery tool output directories
nictru Aug 2, 2024
654caa5
Improve quantification outdir structure
nictru Aug 2, 2024
395febd
Improve quantification outdir structure
nictru Aug 2, 2024
45cfd02
Make some more outdir optimizations
nictru Aug 2, 2024
dd682fb
Remove tool reference in mirna outdir
nictru Aug 2, 2024
baf6d37
Add annotation back to discovery
nictru Aug 2, 2024
2ff430e
Improve annotation output formatting
nictru Aug 2, 2024
c8fc5c3
Remove unnecessary outputs from circrna_discovery
nictru Aug 2, 2024
b19813a
Fix bug in tool filtering
nictru Aug 2, 2024
1f00d9f
Prevent pipeline from failing if no circRNAs are found
nictru Aug 2, 2024
35ef315
Improve annotation output format
nictru Aug 3, 2024
d153402
Remove traces of old merging functionality
nictru Aug 3, 2024
eeb1895
Make sure pipeline fails in an ordered way if no circRNAs are found
nictru Aug 3, 2024
9bf0609
Improve error message for no circRNAs found
nictru Aug 3, 2024
ccd0bda
Linting
nictru Aug 3, 2024
ddbd2f5
Update first section of introduction
nictru Aug 3, 2024
f8ce1a6
Update credits
nictru Aug 3, 2024
17c692d
Restructure usage docs
nictru Aug 3, 2024
1982098
Add plans for future implementations to README
nictru Aug 3, 2024
9e9fdd9
Rename CIRCRNA_DISCOVERY to BSJ_DETECTION
nictru Aug 3, 2024
532c956
Rename params.tool to params.tools
nictru Aug 3, 2024
ac23046
Remove unused species_id parameter
nictru Aug 3, 2024
fde46d0
Apply parameter changes to test configs
nictru Aug 3, 2024
a808527
Change some default values
nictru Aug 3, 2024
9f6a709
Finish updating usage docs
nictru Aug 3, 2024
b0f797b
Add output directory structure documentation
nictru Aug 3, 2024
5bdd08b
Add documentation for references output
nictru Aug 3, 2024
bd08029
Improve STAR output documentation
nictru Aug 3, 2024
a311c4a
Improve output docs for various detection tools
nictru Aug 3, 2024
7314a42
Finalize BSJ detection output docs
nictru Aug 3, 2024
c38f066
Update output docs for mirna prediction and quantification
nictru Aug 3, 2024
cd5c1d4
Prettier
nictru Aug 3, 2024
3d25e2d
Update README.md
nictru Aug 6, 2024
ffd92e3
Update README.md
nictru Aug 6, 2024
fd16ccc
Update docs/output.md
nictru Aug 6, 2024
7535170
Update docs/output.md
nictru Aug 6, 2024
0ffaf30
Update nextflow_schema.json
nictru Aug 6, 2024
6549757
Update nextflow_schema.json
nictru Aug 6, 2024
636330d
Update docs/output.md
nictru Aug 6, 2024
f3b9880
Update docs/output.md
nictru Aug 6, 2024
96a20d5
Update docs/usage.md
nictru Aug 6, 2024
6c45fa8
Update docs/usage.md
nictru Aug 6, 2024
2209284
Update docs/output.md
nictru Aug 6, 2024
ff1d11a
Update docs/output.md
nictru Aug 6, 2024
e3844bb
Update docs/output.md
nictru Aug 6, 2024
cce50cb
Update docs/output.md
nictru Aug 6, 2024
af15e96
Fix syntax error in nextflow_schema.json
nictru Aug 6, 2024
237bf49
Write pipeline name in standard formatting in output docs
nictru Aug 6, 2024
90172a0
Update bsj_reads help text
nictru Aug 6, 2024
4062690
Merge pull request #159 from nf-core/150-problems-with-empty-annotati…
nictru Aug 6, 2024
9a4ece6
Adding mirna_expression param to subworkflow mirna_prediction
mweyrich28 Apr 26, 2024
ea567a3
Adding mirna_expression param to config
mweyrich28 Apr 26, 2024
b800bdb
Adding mirna_expression param to nextflow_schema.json
mweyrich28 Apr 26, 2024
0aa5c0f
adding process DESEQ2_NORMALIZATION
Apr 29, 2024
4a90115
Adding deseq2 module and mirna normalization module (including params)
May 10, 2024
3617290
Adding formatting of mirna prediction output
May 10, 2024
e7a8f73
embedding mirna filtering and output formatting in mirna_prediction s…
May 10, 2024
3596c5f
extending miranda output formatting to ignore unwanted prefix
May 11, 2024
2715dfa
implementing concatenation of mirna predictions, work in progress
May 15, 2024
60fe2a8
preparing majority vote
May 17, 2024
8a7772d
fixing channel structure of predictions for cat cat
May 17, 2024
c7a82da
Embedding majority vote for mirna predictions
mweyrich28 May 18, 2024
bb5d520
updating miranda to majority gawk
mweyrich28 Jun 1, 2024
d9dea25
adding compute correlations module
mweyrich28 Jun 1, 2024
f51de26
todos
mweyrich28 Jun 1, 2024
c31d3d9
Replace tabs with spaces
nictru Jun 1, 2024
eb03b02
Implement MIRNA_BINDINGSITES subworkflow
nictru Jun 1, 2024
a812857
Add versions capture for MIRNA_BINDINGSITES
nictru Jun 1, 2024
d0360e2
Use full transcriptome in miRNA binding site detection
nictru Jun 1, 2024
282ddc6
Use BIOAWK for ADD_BACKSPLICE
nictru Jun 1, 2024
91436e3
Pass correct count info to mirna_prediction
nictru Jun 1, 2024
05f588f
Implement transcriptome batch splitting in MIRNA_BINDINGSITES
nictru Jun 1, 2024
7a097fe
Improve targetscan input preparation
nictru Jun 1, 2024
4683f79
Improve majority vote script
nictru Jun 1, 2024
5852fe9
Improve styling
nictru Jun 1, 2024
8d2c151
Add majority targets output
nictru Jun 1, 2024
56007a7
Transpose binding site output
nictru Jun 1, 2024
825f0d1
Start refactoring correlation
nictru Jun 1, 2024
4317c98
Implement first draft of correlation analysis
nictru Jun 1, 2024
2bdabcc
Save correlation results
nictru Jun 1, 2024
bb0a858
Switch correlation output to TSV
nictru Jun 1, 2024
8c2ae55
Handle correlation output channels
nictru Jun 1, 2024
9e97abb
fixing MIRNA_TARGETS
mweyrich28 Jun 7, 2024
2be8d5e
Filtering mature based on filtered mirnas
mweyrich28 Jun 17, 2024
0f6313d
Adding missing .collect() to MIRANDA process
mweyrich28 Jun 21, 2024
3d8b9ef
fixing filtering of mature
mweyrich28 Jun 22, 2024
d9619dc
Cleaning up
mweyrich28 Jun 22, 2024
d87def8
Adding param to switch between spearman and pearson correlation
mweyrich28 Jun 22, 2024
bd5345e
More resources for MAJORITY_VOTE
mweyrich28 Jun 23, 2024
fbc094a
removing todo comment
mweyrich28 Jun 23, 2024
b5adea2
removing TODO comment
mweyrich28 Jun 25, 2024
ff1edcf
correlations output set to optional
mweyrich28 Jun 25, 2024
1e8b04f
Fix major rebase problems
nictru Aug 4, 2024
cdb265e
Fix small bug with backsplice junction adding
nictru Aug 4, 2024
abac8e2
Improve mirna prediction formatting
nictru Aug 4, 2024
f3a6233
Improve output structure for mirna prediction
nictru Aug 4, 2024
2b28c80
fixing formatting in modules
mweyrich28 Aug 6, 2024
86c7958
adjusting mirna_min_reads to match nextflow_schema
mweyrich28 Aug 6, 2024
3ddfe3e
fixing formatting and adding missing allOf field for mirna_processing…
mweyrich28 Aug 6, 2024
45dd407
removing non used configs in modules.config
mweyrich28 Aug 6, 2024
4cbb345
updating nf-core modules
mweyrich28 Aug 6, 2024
8027686
Revert "updating nf-core modules"
mweyrich28 Aug 6, 2024
b3c1ffd
only updating necessary modules
mweyrich28 Aug 6, 2024
35ebe75
fixing pattern for input file of mirna_expression
mweyrich28 Aug 6, 2024
399a16d
Adding missing html tag in output.md
mweyrich28 Aug 7, 2024
e550ec2
updating output.md in docs
mweyrich28 Aug 7, 2024
8fef0f7
capitalizing 'tsv' to TSV
mweyrich28 Aug 7, 2024
740cc43
updating usage.md
mweyrich28 Aug 7, 2024
5f9a7f9
updating README.md
mweyrich28 Aug 7, 2024
596df45
making mirna_expression parameter optional
mweyrich28 Aug 7, 2024
6479a53
Apply suggestions from code review
mweyrich28 Aug 7, 2024
e52e401
renaming mirna_vote to mirna_tool_filter
mweyrich28 Aug 7, 2024
e49b947
applying prettier
mweyrich28 Aug 8, 2024
edafce4
renaming mirna_tools in nextflow.config
mweyrich28 Aug 8, 2024
4d514b4
fixing indent
mweyrich28 Aug 8, 2024
737da80
deleting redundant file
mweyrich28 Aug 8, 2024
b112f0c
rewording usage
mweyrich28 Aug 8, 2024
bd7cd36
rewording usage
mweyrich28 Aug 8, 2024
7f165ba
reformatting compute correlations
mweyrich28 Aug 8, 2024
5708f75
reformatting normalization
mweyrich28 Aug 8, 2024
3b7074d
reformatting majority vote
mweyrich28 Aug 8, 2024
6ac49fd
reformatting majority vote py
mweyrich28 Aug 8, 2024
26e7599
reformatting mirna filtering R
mweyrich28 Aug 8, 2024
050bb4d
reformatting mirna bindingsites
mweyrich28 Aug 8, 2024
1cd2841
reformatting mirna prediction
mweyrich28 Aug 8, 2024
80edcc5
fixing param mirna_tool_filter
mweyrich28 Aug 8, 2024
0106c3a
checking if mirna_expression is null before passing it to file()
mweyrich28 Aug 8, 2024
2be53ee
Apply suggestions from code review
mweyrich28 Aug 8, 2024
e0afb0a
applying correct format to mirna_tools
mweyrich28 Aug 8, 2024
5082d4f
updating default format of mirna_tools
mweyrich28 Aug 8, 2024
b233bb8
Merge pull request #166 from nf-core/sponging
mweyrich28 Aug 8, 2024
6f69c93
Add credits for mweyrich
nictru Aug 8, 2024
3e1ce6f
Merge pull request #167 from nf-core/credits-mweyrich
nictru Aug 8, 2024
2977ef0
Implement count extraction
nictru Aug 8, 2024
16695da
Implement per-tool count combination across samples
nictru Aug 8, 2024
38c2e49
Restructure BSJ detection workflow
nictru Aug 8, 2024
a1acac7
Update docs
nictru Aug 8, 2024
d0f7cfe
Perform outer join on counts
nictru Aug 8, 2024
7ac747e
Imporve BSJ_DETECTION order
nictru Aug 8, 2024
c9a5eb7
Merge pull request #168 from nf-core/per-tool-quantification
nictru Aug 9, 2024
49ffa9b
Simplify ciriquant config creation
nictru Aug 23, 2024
75c7220
Implement support for single-stranded libraries
nictru Aug 23, 2024
e2f459c
Add support for bed files in ciriquant
nictru Aug 23, 2024
ad6a32d
Add support for multiple quantification methods
nictru Aug 23, 2024
44c8e63
Implement first bit of global ciriquant quantification
nictru Aug 23, 2024
71408b2
Enable ciriquant gene quantification
nictru Aug 23, 2024
38930d9
Implement ciriquant circ count extraction
nictru Aug 24, 2024
6276055
Generalize gffread module
nictru Aug 24, 2024
5a77dd4
Further generalize gffread
nictru Aug 24, 2024
8036e87
Improve gffread fasta creation
nictru Aug 24, 2024
d7ef965
Use nf-core gffread module and add pygtftk
nictru Aug 24, 2024
f4b1925
Implement gene expression extraction
nictru Aug 24, 2024
6f8771c
Implement ciriquant expression column naming
nictru Aug 24, 2024
73d7348
Implement ciriquant expression joining
nictru Aug 24, 2024
4af0de5
Improve ciriquant handling
nictru Aug 24, 2024
4b76177
Implement channel handling for ciriquant DEA
nictru Aug 24, 2024
6c7d2b6
Implement ciriquant_dea samplesheet creation
nictru Aug 24, 2024
3510258
Implement ciriquant DEA preprocessing
nictru Aug 24, 2024
b5298d9
Implement capturing of stringtie results from ciriquant
nictru Aug 24, 2024
e775670
Implement basic stringtie_prepde
nictru Aug 24, 2024
285c24c
Switch back to official ciriquant image to prevent stringtie compatib…
nictru Aug 24, 2024
f622e21
Rename ciriquant DE preparation module
nictru Aug 24, 2024
aa2ba68
Implement ciriquant de analysis
nictru Aug 24, 2024
d34e2fc
Improve ciriquant de output structure
nictru Aug 24, 2024
c57e807
Add ciriquant dockerfile
nictru Aug 24, 2024
328393b
Update ciriquant docker image
nictru Aug 24, 2024
084d3b5
Change ciriquant de output format to csv
nictru Aug 24, 2024
7c24732
Fix ciriquant de caching problems
nictru Aug 24, 2024
43eeb8f
Fix ciriquant de version capture problems
nictru Aug 24, 2024
ca318b4
Make sure ciriquant de is only executed once per pairing
nictru Aug 24, 2024
d7cd7a4
Add proper handling of ciriquant RDS
nictru Aug 24, 2024
d753d55
Update ciriquant image
nictru Aug 25, 2024
57d440c
Add retries to some memory intensive processes
nictru Aug 26, 2024
96eaaaf
Increase annotation resource label
nictru Aug 26, 2024
9315d69
Update ciriquant image
nictru Aug 26, 2024
293f6c8
Improve ciriquant output directory definition
nictru Aug 27, 2024
18ec77f
Tweak ciriquant publishdir definitions
nictru Aug 27, 2024
18d960a
Switch miRNA majority vote to polars
nictru Aug 27, 2024
0c93829
Fix some problems with updated mirna majority vote
nictru Aug 27, 2024
748dc0d
Further improve mirna majority vote performance
nictru Aug 27, 2024
70f8533
Implement custom sample joining script
nictru Aug 27, 2024
fa254bc
Fix minor bug in new sample joining module
nictru Aug 27, 2024
3cb98b1
Add default value for mature parameter
nictru Sep 24, 2024
288f06a
Fix null value in publishDir
nictru Sep 24, 2024
1e6b98d
Add quantification_tools to nextflow_schema.json
nictru Sep 24, 2024
a90fd39
Fix editorconfig
nictru Sep 25, 2024
b993d16
Move save_intermediates to less prominent spot in docs
nictru Sep 25, 2024
fdc4f3c
Simplify parameter docs structure
nictru Sep 25, 2024
ddaed0a
Fix schema error
nictru Sep 25, 2024
a628a06
Move bootstrap samples parameter documentation to more suitable spot
nictru Sep 25, 2024
761cc09
Change parameter order in nextflow.config
nictru Sep 25, 2024
d25d267
Remove trailing whitespace
nictru Sep 25, 2024
5577eaf
Add max_shift parameter
nictru Sep 25, 2024
047c4e2
Fix gtftk tabulate bug
nictru Sep 25, 2024
ae4d3d5
Add custom bed merging
nictru Sep 25, 2024
224b4b9
Fix some custom combine bugs
nictru Sep 25, 2024
a4619e9
Unify param names and improve max_shift implementation
nictru Sep 26, 2024
7f291d6
Fix outdir definition
nictru Sep 26, 2024
edced9e
Merge pull request #172 from nf-core/ciriquant
nictru Sep 26, 2024
866b525
Merge upset plotting with sample combine_beds
nictru Sep 26, 2024
ceb8211
Change the way combine_bed is parametrized
nictru Sep 26, 2024
2dfdb09
Fix empty checks
nictru Sep 26, 2024
0b3529c
Improve error message on empty
nictru Sep 26, 2024
df4966c
Prettier
nictru Sep 26, 2024
3311825
Editorconfig
nictru Sep 26, 2024
0586ec2
Remove upset process configs
nictru Sep 26, 2024
44caaf3
Make combine_beds plot outputs optional
nictru Sep 26, 2024
f96729c
Merge pull request #173 from nf-core/microshifts
nictru Sep 26, 2024
dc2edf1
Fix version numbering
nictru Oct 16, 2024
f0ab465
Add nico as an author
nictru Oct 16, 2024
50dc307
Init changelog
nictru Oct 16, 2024
a634d32
Fill "added" field in Changelog
nictru Oct 16, 2024
cc6bff6
Fix http json schema URLs
nictru Oct 16, 2024
7b3dd3a
Prettier
nictru Oct 16, 2024
050d0b2
Merge pull request #174 from nf-core/versioning
mashehu Oct 16, 2024
8f1c8f8
Template update for nf-core/tools version 3.0.2
nf-core-bot Oct 16, 2024
da8077c
Merge branch 'dev' into nf-core-template-merge-3.0.2
nictru Oct 16, 2024
9cf7487
Remove nf-validation trace
nictru Oct 16, 2024
1df9e74
Update nextflow required version badge
nictru Oct 16, 2024
fb2b920
Restructure some param locations to comply with latest schema
nictru Oct 16, 2024
f01f1b2
Update testdata base path references
nictru Oct 16, 2024
b9c3868
Fix test dataset base path usage
nictru Oct 16, 2024
3d2f46a
Update json schema
nictru Oct 16, 2024
f92eabb
Fix multiQC call
nictru Oct 16, 2024
1b6028c
Fix channel structure bug
Oct 16, 2024
aa4a104
Remove old way of specifying resource limits
Oct 16, 2024
849da6a
Merge pull request #175 from nf-core/nf-core-template-merge-3.0.2
mweyrich28 Oct 18, 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
  •  
  •  
  •  
11 changes: 2 additions & 9 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,15 @@
"name": "nfcore",
"image": "nfcore/gitpod:latest",
"remoteUser": "gitpod",
"runArgs": ["--privileged"],

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
"python.linting.flake8Path": "/opt/conda/bin/flake8",
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
"python.linting.pylintPath": "/opt/conda/bin/pylint"
"python.defaultInterpreterPath": "/opt/conda/bin/python"
},

// Add the IDs of extensions you want installed when the container is created.
Expand Down
13 changes: 11 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ trim_trailing_whitespace = true
indent_size = 4
indent_style = space

[*.{md,yml,yaml,html,css,scss,js,cff}]
[*.{md,yml,yaml,html,css,scss,js}]
indent_size = 2

# These files are edited and tested upstream in nf-core/modules
Expand All @@ -18,7 +18,16 @@ end_of_line = unset
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
22 changes: 14 additions & 8 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Please use the pre-filled template to save time.
However, don't be put off by this template - other more general issues and suggestions are welcome!
Contributions to the code are even more welcome ;)

> [!NOTE]
> If you need help using or modifying nf-core/circrna then the best place to ask is on the nf-core Slack [#circrna](https://nfcore.slack.com/channels/circrna) channel ([join our Slack here](https://nf-co.re/join/slack)).

## Contribution workflow
Expand All @@ -18,13 +19,19 @@ If you'd like to write some code for nf-core/circrna, the standard workflow is a
1. Check that there isn't already an issue about your idea in the [nf-core/circrna issues](https://github.com/nf-core/circrna/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/circrna repository](https://github.com/nf-core/circrna) 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/).

## Tests

You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:

```bash
nf-test test --profile debug,test,docker --verbose
```

When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.

Expand All @@ -33,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 @@ -68,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 @@ -79,13 +86,13 @@ 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.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 @@ -96,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 All @@ -116,4 +123,3 @@ To get started:
Devcontainer specs:

- [DevContainer config](.devcontainer/devcontainer.json)
- [Dockerfile](.devcontainer/Dockerfile)
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ body:
attributes:
label: System information
description: |
* Nextflow version _(eg. 22.10.1)_
* 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 or Charliecloud)_
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
* Version of nf-core/circrna _(eg. 1.1, 1.5, 1.8.2)_
6 changes: 4 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/circ

- [ ] 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/nf-core/circrna/tree/master/.github/CONTRIBUTING.md)- [ ] If necessary, also make a PR on the nf-core/circrna _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/circrna/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/circrna _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] Make sure your code lints (`nf-core pipelines lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
- [ ] Output Documentation in `docs/output.md` is updated.
- [ ] `CHANGELOG.md` is updated.
Expand Down
44 changes: 33 additions & 11 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,56 @@
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-tower:
run-platform:
name: Run AWS full tests
if: github.repository == 'nf-core/circrna'
# 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/circrna' && 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
uses: nf-core/tower-action@v3
- uses: octokit/request-action@v2.x
id: check_approvals
with:
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews
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 }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/circrna/work-${{ github.sha }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/circrna/results-${{ github.sha }}"
}
profiles: test_full,aws_tower
- uses: actions/upload-artifact@v3
profiles: test_full

- uses: actions/upload-artifact@v4
with:
name: Tower debug log file
path: tower_action_*.log
name: Seqera Platform debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
20 changes: 12 additions & 8 deletions .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,29 @@ name: nf-core AWS test
on:
workflow_dispatch:
jobs:
run-tower:
run-platform:
name: Run AWS tests
if: github.repository == 'nf-core/circrna'
runs-on: ubuntu-latest
steps:
# Launch workflow using Tower CLI tool action
- name: Launch workflow via tower
uses: nf-core/tower-action@v3
# Launch workflow using Seqera Platform CLI tool action
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/circrna/work-${{ github.sha }}
parameters: |
{
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/circrna/results-test-${{ github.sha }}"
}
profiles: test,aws_tower
- uses: actions/upload-artifact@v3
profiles: test

- uses: actions/upload-artifact@v4
with:
name: Tower debug log file
path: tower_action_*.log
name: Seqera Platform debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
4 changes: 2 additions & 2 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ jobs:
- name: Check PRs
if: github.repository == 'nf-core/circrna'
run: |
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/circrna ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/circrna ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]

# If the above check failed, post a comment on the PR explaining the failure
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
- name: Post PR comment
if: failure()
uses: mshick/add-pr-comment@v1
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `master` branch :x:
Expand Down
57 changes: 50 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,79 @@ on:
pull_request:
release:
types: [published]
workflow_dispatch:

env:
NXF_ANSI_LOG: false
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity

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_name }} | ${{ 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/circrna') }}"
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "22.10.1"
- "24.04.2"
- "latest-everything"
profile:
- "conda"
- "docker"
- "singularity"
test_name:
- "test"
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@v3
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4

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

- name: Run pipeline with test data
- 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 ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
run: |
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.profile }},docker --outdir ./results
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results
24 changes: 24 additions & 0 deletions .github/workflows/clean-up.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Close user-tagged issues and PRs"
on:
schedule:
- cron: "0 0 * * 0" # Once a week

jobs:
clean-up:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
with:
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor and then staled for 20 days with no activity."
days-before-stale: 30
days-before-close: 20
days-before-pr-close: -1
any-of-labels: "awaiting-changes,awaiting-feedback"
exempt-issue-labels: "WIP"
exempt-pr-labels: "WIP"
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Loading
Loading