nf-core/tools: 1.10 - Copper Camel
Authors/Creators
- Phil Ewels1
- Sven F.2
- Harshil Patel3
- Alexander Peltzer4
- Gisela Gabernet5
- Maxime Garcia6
- James A. Fellows Yates7
- FriederikeHanssen
- Patrick Hüther8
- Martin Proks
- mashehu
- Olga Botvinnik9
- Stephen Kelly
- Raghu Kamat (RK)
- Anders Jemt
- Maxime Borry10
- Lukas Heumos5
- Hadrien Gourlé11
- Sabrina Krakau5
- Chris Cheshire3
- Remi-Andre Olsen
- Mingda Jin12
- Anthony Underwood
- jpfeuffer
- Denis Yuen13
- Johan Viklund14
- Lorena Pantano15
- Nurlan Kerimov
- Senthilkumar Panneerselvam16
- Sofia Haglund6
- 1. Science for Life Laboratory
- 2. QBiC @qbicsoftware
- 3. The Francis Crick Institute
- 4. Boehringer Ingelheim
- 5. @qbicsoftware
- 6. @SciLifeLab | Karolinska Institutet
- 7. Max Planck Institute for the Science of Human History
- 8. @Gregor-Mendel-Institute
- 9. @czbiohub
- 10. Max Planck institute for the Science of Human Evolution
- 11. @SGBC
- 12. Zymo Research Corp.
- 13. @OICR_news
- 14. @NBISweden
- 15. Harvard Chan School of Public Health
- 16. @ScilifelabDataCentre
Description
This release of nf-core/tools introduces a major change / new feature: pipeline schema.
These are JSON Schema files that describe all of the parameters for a given
pipeline with their ID, a description, a longer help text, an optional default value, a variable type
(eg. string or boolean) and more.
The files will be used in a number of places:
- Automatic validation of supplied parameters when running pipelines
- Pipeline execution can be immediately stopped if a required
paramis missing, or does not conform to the patterns / allowed values in the schema.
- Pipeline execution can be immediately stopped if a required
- Generation of pipeline command-line help
- Running
nextflow run <pipeline> --helpwill use the schema to generate a help text automatically
- Running
- Building online documentation on the nf-core website
- Integration with 3rd party graphical user interfaces
To support these new schema files, nf-core/tools now comes with a new set of commands: nf-core schema.
- Pipeline schema can be generated or updated using
nf-core schema build- this takes the parameters from the pipeline config file and prompts the developer for any mismatch between schema and pipeline.- Once a skeleton Schema file has been built, the command makes use of a new nf-core website tool to provide a user friendly graphical interface for developers to add content to their schema: https://nf-co.re/pipeline_schema_builder
- Pipelines will be automatically tested for valid schema that describe all pipeline parameters using the
nf-core schema lintcommand (also included as part of the mainnf-core lintcommand). - Users can validate their set of pipeline inputs using the
nf-core schema validatecommand.
In addition to the new schema commands, the nf-core launch command has been completely rewritten from
scratch to make use of the new pipeline schema. This command can use either an interactive command-line
prompt or a rich web interface to help users set parameters for a pipeline run.
The parameter descriptions and help text are fully used and embedded into the launch interfaces to make this process as user-friendly as possible. We hope that it's particularly well suited to those new to nf-core.
Whilst we appreciate that this new feature will add a little work for pipeline developers, we're excited at
the possibilities that it brings. If you have any feedback or suggestions, please let us know either here on
GitHub or on the nf-core #json-schema Slack channel.
We have adopted the use of the Black Python code formatter.
This ensures a harmonised code formatting style throughout the package, from all contributors.
If you are editing any Python code in nf-core/tools you must now pass the files through Black when
making a pull-request. See .github/CONTRIBUTING.md for details.
- Add
--publish_dir_modeparameter #585 - Isolate R library paths to those in container #541
- Added new style of pipeline parameters JSON schema to pipeline template
- Add ability to attach MultiQC reports to completion emails when using
mail - Update
output.mdand add in 'Pipeline information' section describing standard NF and pipeline reporting. - Build Docker image using GitHub Actions, then push to Docker Hub (instead of building on Docker Hub)
- Add Slack channel badge in pipeline README
- Allow multiple container tags in
ci.ymlif performing multiple tests in parallel - Add AWS CI tests and full tests GitHub Actions workflows
- Update AWS CI tests and full tests secrets names
- Added
macs_gsizefor danRer10, based on this post - Add information about config files used for workflow execution (
workflow.configFiles) to summary - Fix
markdown_to_html.pyto work with Python 2 and 3. - Change
params.reads->params.input - Change
params.readPaths->params.input_paths - Added a
.github/.dockstore.ymlconfig file for automatic workflow registration with dockstore.org
- Refactored PR branch tests to be a little clearer.
- Linting error docs explain how to add an additional branch protecton rule to the
branch.ymlGitHub Actions workflow. - Adapted linting docs to the new PR branch tests.
- Failure for missing the readme bioconda badge is now a warn, in case this badge is not relevant
- Added test for template
{{ cookiecutter.var }}placeholders - Fix failure when providing version along with build id for Conda packages
- New
--jsonand--markdownoptions to print lint results to JSON / markdown files - Linting code now automatically posts warning / failing results to GitHub PRs as a comment if it can
- Added AWS GitHub Actions workflows linting
- Fail if
params.inputisn't defined. - Beautiful new progress bar to look at whilst linting is running and awesome new formatted output on the command line :heart_eyes:
- All made using the excellent
richpython library - check it out!
- All made using the excellent
- Tests looking for
TODOstrings should now ignore editor backup files. #477
- Added CI test to check for PRs against
masterin tools repo - CI PR branch tests fixed & now automatically add a comment on the PR if failing, explaining what is wrong
- Move some of the issue and PR templates into HTML
<!-- comments -->so that they don't show in issues / PRs
- Describe alternative installation method via conda with
conda env create - nf-core/tools version number now printed underneath header artwork
- Bumped Conda version shipped with nfcore/base to 4.8.2
- Added log message when creating new pipelines that people should talk to the community about their plans
- Fixed 'on completion' emails sent using the
mailcommand not containing body text. - Improved command-line help text for nf-core/tools
nf-core listnow hides archived pipelines unless--show_archivedflag is set- Command line tools now checks if there is a new version of nf-core/tools available
- Disable this by setting the environment variable
NFCORE_NO_VERSION_CHECK, eg.export NFCORE_NO_VERSION_CHECK=1
- Disable this by setting the environment variable
- Better command-line output formatting of nearly all
nf-corecommands usingrich
Files
nf-core/tools-1.10.zip
Files
(347.3 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:ba671aba44a93866299715ded0546084
|
347.3 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/nf-core/tools/tree/1.10 (URL)