diff --git a/CHANGELOG.md b/CHANGELOG.md index 3683b8f50..318d31234 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,7 +54,7 @@ **Highlights** -- Pipeline commands are renamed from `nf-core ` to `nf-core pipelines ` to follow the same command structure as modules and subworkflows commands. +- Pipeline commands are renamed from `nf-core ` to `nf-core pipelines ` to follow the same command structure as modules and subworkflows commands. - More customisation for pipeline templates. The template has been divided into features which can be skipped, e.g. you can create a new pipeline without any traces of FastQC in it. - A new Text User Interface app when running `nf-core pipelines create` to help us guide you through the process better (no worries, you can still use the cli if you give all values as parameters) - We replaced nf-validation with nf-schema in the pipeline template @@ -207,7 +207,7 @@ ### Download -- Replace `--tower` with `--platform`. The former will remain for backwards compatability for now but will be removed in a future release. ([#2853](https://github.com/nf-core/tools/pull/2853)) +- Replace `--tower` with `--platform`. The former will remain for backwards compatibility for now but will be removed in a future release. ([#2853](https://github.com/nf-core/tools/pull/2853)) - Better error message when GITHUB_TOKEN exists but is wrong/outdated - New `--tag` argument to add custom tags during a pipeline download ([#2938](https://github.com/nf-core/tools/pull/2938)) @@ -516,7 +516,7 @@ - Refactored the CLI parameters related to container images. Although downloading other images than those of the Singularity/Apptainer container system is not supported for the time being, a generic name for the parameters seemed preferable. So the new parameter `--singularity-cache-index` introduced in [#2247](https://github.com/nf-core/tools/pull/2247) has been renamed to `--container-cache-index` prior to release ([#2336](https://github.com/nf-core/tools/pull/2336)). - To address issue [#2311](https://github.com/nf-core/tools/issues/2311), a new parameter `--container-library` was created allowing to specify the container library (registry) from which container images in OCI format (Docker) should be pulled ([#2336](https://github.com/nf-core/tools/pull/2336)). - Container detection in configs was improved. This allows for DSL2-like container definitions inside the container parameter value provided to process scopes [#2346](https://github.com/nf-core/tools/pull/2346). -- Add apptainer to the list of false positve container strings ([#2353](https://github.com/nf-core/tools/pull/2353)). +- Add apptainer to the list of false positive container strings ([#2353](https://github.com/nf-core/tools/pull/2353)). #### Updated CLI parameters @@ -550,7 +550,7 @@ _In addition, `-r` / `--revision` has been changed to a parameter that can be pr - GitPod base image: Always self-update to the latest version of Nextflow. Add [pre-commit](https://pre-commit.com/) dependency. - GitPod configs: Update Nextflow as an init task, init pre-commit in pipeline config. - Refgenie: Create `nxf_home/nf-core/refgenie_genomes.config` path if it doesn't exist ([#2312](https://github.com/nf-core/tools/pull/2312)) -- Add CI tests to test running a pipeline whe it's created from a template skipping different areas +- Add CI tests to test running a pipeline when it's created from a template skipping different areas ## [v2.8 - Ruthenium Monkey](https://github.com/nf-core/tools/releases/tag/2.8) - [2023-04-27] @@ -586,7 +586,7 @@ _In addition, `-r` / `--revision` has been changed to a parameter that can be pr - Add an `--empty-template` option to create a module without TODO statements or examples ([#2175](https://github.com/nf-core/tools/pull/2175) & [#2177](https://github.com/nf-core/tools/pull/2177)) - Removed the `nf-core modules mulled` command and all its code dependencies ([2199](https://github.com/nf-core/tools/pull/2199)). -- Take into accout the provided `--git_remote` URL when linting all modules ([2243](https://github.com/nf-core/tools/pull/2243)). +- Take into account the provided `--git_remote` URL when linting all modules ([2243](https://github.com/nf-core/tools/pull/2243)). ### Subworkflows @@ -995,7 +995,7 @@ Please note that there are many excellent integrations for Prettier available, f - `input:` / `output:` not being specified in module - Allow for containers from other biocontainers resource as defined [here](https://github.com/nf-core/modules/blob/cde237e7cec07798e5754b72aeca44efe89fc6db/modules/cat/fastq/main.nf#L7-L8) - Fixed traceback when using `stageAs` syntax as defined [here](https://github.com/nf-core/modules/blob/cde237e7cec07798e5754b72aeca44efe89fc6db/modules/cat/fastq/main.nf#L11) -- Added `nf-core schema docs` command to output pipline parameter documentation in Markdown format for inclusion in GitHub and other documentation systems ([#741](https://github.com/nf-core/tools/issues/741)) +- Added `nf-core schema docs` command to output pipeline parameter documentation in Markdown format for inclusion in GitHub and other documentation systems ([#741](https://github.com/nf-core/tools/issues/741)) - Allow conditional process execution from the configuration file ([#1393](https://github.com/nf-core/tools/pull/1393)) - Add linting for when condition([#1397](https://github.com/nf-core/tools/pull/1397)) - Added modules ignored table to `nf-core modules bump-versions`. ([#1234](https://github.com/nf-core/tools/issues/1234)) @@ -1014,7 +1014,7 @@ Please note that there are many excellent integrations for Prettier available, f - Update repo logos to utilize [GitHub's `#gh-light/dark-mode-only`](https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#specifying-the-theme-an-image-is-shown-to), to switch between logos optimized for light or dark themes. The old repo logos have to be removed (in `docs/images` and `assets/`). - Deal with authentication with private repositories -- Bump minimun Nextflow version to 21.10.3 +- Bump minimum Nextflow version to 21.10.3 - Convert pipeline template to updated Nextflow DSL2 syntax - Solve circular import when importing `nf_core.modules.lint` - Disable cache in `nf_core.utils.fetch_wf_config` while performing `test_wf_use_local_configs`. @@ -1036,15 +1036,15 @@ Please note that there are many excellent integrations for Prettier available, f - Defaults in `nextflow.config` must now match the variable _type_ specified in the schema - If you want the parameter to not have a default value, use `null` - Strings set to `false` or an empty string in `nextflow.config` will now fail linting -- Bump minimun Nextflow version to 21.10.3 -- Changed `questionary` `ask()` to `unsafe_ask()` to not catch `KeyboardInterupts` ([#1237](https://github.com/nf-core/tools/issues/1237)) +- Bump minimum Nextflow version to 21.10.3 +- Changed `questionary` `ask()` to `unsafe_ask()` to not catch `KeyboardInterrupts` ([#1237](https://github.com/nf-core/tools/issues/1237)) - Fixed bug in `nf-core launch` due to revisions specified with `-r` not being added to nextflow command. ([#1246](https://github.com/nf-core/tools/issues/1246)) - Update regex in `readme` test of `nf-core lint` to agree with the pipeline template ([#1260](https://github.com/nf-core/tools/issues/1260)) - Update 'fix' message in `nf-core lint` to conform to the current command line options. ([#1259](https://github.com/nf-core/tools/issues/1259)) - Fixed bug in `nf-core list` when `NXF_HOME` is set - Run CI test used to create and lint/run the pipeline template with minimum and latest edge release of NF ([#1304](https://github.com/nf-core/tools/issues/1304)) - New YAML issue templates for tools bug reports and feature requests, with a much richer interface ([#1165](https://github.com/nf-core/tools/pull/1165)) -- Handle synax errors in Nextflow config nicely when running `nf-core schema build` ([#1267](https://github.com/nf-core/tools/pull/1267)) +- Handle syntax errors in Nextflow config nicely when running `nf-core schema build` ([#1267](https://github.com/nf-core/tools/pull/1267)) - Erase temporary files and folders while performing Python tests (pytest) - Remove base `Dockerfile` used for DSL1 pipeline container builds - Run tests with Python 3.10 @@ -1150,7 +1150,7 @@ This marks the first Nextflow DSL2-centric release of `tools` which means that s - Updated `nf-core modules install` and `modules.json` to work with new directory structure ([#1159](https://github.com/nf-core/tools/issues/1159)) - Updated `nf-core modules remove` to work with new directory structure [[#1159](https://github.com/nf-core/tools/issues/1159)] - Restructured code and removed old table style in `nf-core modules list` -- Fixed bug causing `modules.json` creation to loop indefinitly +- Fixed bug causing `modules.json` creation to loop indefinitely - Added `--all` flag to `nf-core modules install` - Added `remote` and `local` subcommands to `nf-core modules list` - Fix bug due to restructuring in modules template @@ -1231,7 +1231,7 @@ This marks the first Nextflow DSL2-centric release of `tools` which means that s ## [v1.13.2 - Copper Crocodile CPR :crocodile: :face_with_head_bandage:](https://github.com/nf-core/tools/releases/tag/1.13.2) - [2021-03-23] - Make module template pass the EC linter [[#953](https://github.com/nf-core/tools/pull/953)] -- Added better logging message if a user doesn't specificy the directory correctly with `nf-core modules` commands [[#942](https://github.com/nf-core/tools/pull/942)] +- Added better logging message if a user doesn't specify the directory correctly with `nf-core modules` commands [[#942](https://github.com/nf-core/tools/pull/942)] - Fixed parameter validation bug caused by JSONObject [[#937](https://github.com/nf-core/tools/issues/937)] - Fixed template creation error regarding file permissions [[#932](https://github.com/nf-core/tools/issues/932)] - Split the `create-lint-wf` tests up into separate steps in GitHub Actions to make the CI results easier to read @@ -1471,7 +1471,7 @@ making a pull-request. See [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md) ### Linting - Refactored PR branch tests to be a little clearer. -- Linting error docs explain how to add an additional branch protecton rule to the `branch.yml` GitHub Actions workflow. +- Linting error docs explain how to add an additional branch protection rule to the `branch.yml` GitHub 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 diff --git a/CITATION.cff b/CITATION.cff index 017666c01..d1246b69d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -24,7 +24,7 @@ version: 2.4.1 doi: 10.1038/s41587-020-0439-x date-released: 2022-05-16 url: https://github.com/nf-core/tools -prefered-citation: +preferred-citation: type: article authors: - family-names: Ewels diff --git a/docs/api/_src/api/index.md b/docs/api/_src/api/index.md index 035a89688..f25e166a9 100644 --- a/docs/api/_src/api/index.md +++ b/docs/api/_src/api/index.md @@ -8,4 +8,4 @@ This API documentation is for the [`nf-core/tools`](https://github.com/nf-core/t - [Module commands](./module_lint_tests/) (run by `nf-core modules lint`) - [Subworkflow commands](./subworkflow_lint_tests/) (run by `nf-core subworkflows lint`) - [nf-core/tools Python package API reference](./api/) - - [nf-core/tools pipeline commands API referece](./api/pipelines/) + - [nf-core/tools pipeline commands API reference](./api/pipelines/) diff --git a/nf_core/__main__.py b/nf_core/__main__.py index 08589fc24..94c15521c 100644 --- a/nf_core/__main__.py +++ b/nf_core/__main__.py @@ -1590,7 +1590,7 @@ def command_subworkflows_remove(ctx, directory, subworkflow): "limit_output", is_flag=True, default=False, - help="Limit ouput to only the difference in main.nf", + help="Limit output to only the difference in main.nf", ) @click.option( "-a", diff --git a/nf_core/components/update.py b/nf_core/components/update.py index 3e4694adc..bf176fb6d 100644 --- a/nf_core/components/update.py +++ b/nf_core/components/update.py @@ -55,7 +55,7 @@ def __init__( self.branch = branch def _parameter_checks(self): - """Checks the compatibilty of the supplied parameters. + """Checks the compatibility of the supplied parameters. Raises: UserWarning: if any checks fail. diff --git a/nf_core/modules/lint/main_nf.py b/nf_core/modules/lint/main_nf.py index 54a69b113..df5a48d5b 100644 --- a/nf_core/modules/lint/main_nf.py +++ b/nf_core/modules/lint/main_nf.py @@ -269,7 +269,7 @@ def check_process_section(self, lines, registry, fix_version, progress_bar): url = None line = raw_line.strip(" \n'\"}:") - # Catch preceeding "container " + # Catch preceding "container " if line.startswith("container"): line = line.replace("container", "").strip(" \n'\"}:") diff --git a/nf_core/pipeline-template/conf/base.config b/nf_core/pipeline-template/conf/base.config index fa292339e..16a4fe6cd 100644 --- a/nf_core/pipeline-template/conf/base.config +++ b/nf_core/pipeline-template/conf/base.config @@ -20,7 +20,7 @@ process { maxErrors = '-1' // Process-specific resource requirements - // NOTE - Please try and re-use the labels below as much as possible. + // NOTE - Please try and reuse the labels below as much as possible. // These labels are used and recognised by default in DSL2 files hosted on nf-core/modules. // If possible, it would be nice to keep the same label naming convention when // adding in your local modules too. diff --git a/nf_core/pipeline-template/docs/usage.md b/nf_core/pipeline-template/docs/usage.md index ae2761797..67fda7865 100644 --- a/nf_core/pipeline-template/docs/usage.md +++ b/nf_core/pipeline-template/docs/usage.md @@ -116,7 +116,7 @@ First, go to the [{{ name }} releases page](https://github.com/{{ name }}/releas This version number will be logged in reports when you run the pipeline, so that you'll know what you used when you look back in the future. {% if multiqc %}For example, at the bottom of the MultiQC reports.{% endif %} -To further assist in reproducbility, you can use share and re-use [parameter files](#running-the-pipeline) to repeat pipeline runs with the same settings without having to write out a command with every single parameter. +To further assist in reproducibility, you can use share and reuse [parameter files](#running-the-pipeline) to repeat pipeline runs with the same settings without having to write out a command with every single parameter. :::tip If you wish to share such profile (such as upload as supplementary material for academic publications), make sure to NOT include cluster specific paths to files, nor institutional specific profiles. @@ -146,7 +146,7 @@ The pipeline also dynamically loads configurations from [https://github.com/nf-c Note that multiple profiles can be loaded, for example: `-profile test,docker` - the order of arguments is important! They are loaded in sequence, so later profiles can overwrite earlier profiles. -If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer enviroment. +If `-profile` is not specified, the pipeline will run locally and expect all software to be installed and available on the `PATH`. This is _not_ recommended, since it can lead to different results on different machines dependent on the computer environment. {%- if test_config %} diff --git a/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf b/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf index 78fed1fcf..263eca55d 100644 --- a/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf +++ b/nf_core/pipeline-template/subworkflows/local/utils_nfcore_pipeline_pipeline/main.nf @@ -258,7 +258,7 @@ def toolBibliographyText() { } def methodsDescriptionText(mqc_methods_yaml) { - // Convert to a named map so can be used as with familar NXF ${workflow} variable syntax in the MultiQC YML file + // Convert to a named map so can be used as with familiar NXF ${workflow} variable syntax in the MultiQC YML file def meta = [:] meta.workflow = workflow.toMap() meta["manifest_map"] = workflow.manifest.toMap() diff --git a/nf_core/pipelines/create/basicdetails.py b/nf_core/pipelines/create/basicdetails.py index 09484fa2e..2bd2ea1c7 100644 --- a/nf_core/pipelines/create/basicdetails.py +++ b/nf_core/pipelines/create/basicdetails.py @@ -69,7 +69,7 @@ def compose(self) -> ComposeResult: @on(Input.Submitted) def show_exists_warn(self): """Check if the pipeline exists on every input change or submitted. - If the pipeline exists, show warning message saying that it will be overriden.""" + If the pipeline exists, show warning message saying that it will be overridden.""" config = {} for text_input in self.query("TextInput"): this_input = text_input.query_one(Input) diff --git a/nf_core/pipelines/create/finaldetails.py b/nf_core/pipelines/create/finaldetails.py index bd15cf9dd..dad81689a 100644 --- a/nf_core/pipelines/create/finaldetails.py +++ b/nf_core/pipelines/create/finaldetails.py @@ -85,7 +85,7 @@ def on_button_pressed(self, event: Button.Pressed) -> None: @on(Input.Submitted) def show_exists_warn(self): """Check if the pipeline exists on every input change or submitted. - If the pipeline exists, show warning message saying that it will be overriden.""" + If the pipeline exists, show warning message saying that it will be overridden.""" outdir = "" for text_input in self.query("TextInput"): this_input = text_input.query_one(Input) diff --git a/nf_core/pipelines/create/githubrepo.py b/nf_core/pipelines/create/githubrepo.py index 99e7b09ab..b37dfb617 100644 --- a/nf_core/pipelines/create/githubrepo.py +++ b/nf_core/pipelines/create/githubrepo.py @@ -67,7 +67,7 @@ def compose(self) -> ComposeResult: yield TextInput( "repo_org", "Organisation name", - "The name of the organisation where the GitHub repo will be cretaed", + "The name of the organisation where the GitHub repo will be created", default=self.parent.TEMPLATE_CONFIG.org, classes="column", ) diff --git a/nf_core/pipelines/create/template_features.yml b/nf_core/pipelines/create/template_features.yml index 3eb654726..0a3180286 100644 --- a/nf_core/pipelines/create/template_features.yml +++ b/nf_core/pipelines/create/template_features.yml @@ -101,7 +101,7 @@ github_badges: nf_core_configs: skippable_paths: False short_description: "Add configuration files" - description: "The pipeline will include configuration profiles containing custom parameters requried to run nf-core pipelines at different institutions" + description: "The pipeline will include configuration profiles containing custom parameters required to run nf-core pipelines at different institutions" help_text: | Nf-core has a repository with a collection of configuration profiles. diff --git a/nf_core/pipelines/download.py b/nf_core/pipelines/download.py index b9028d4b3..917665ff3 100644 --- a/nf_core/pipelines/download.py +++ b/nf_core/pipelines/download.py @@ -1692,7 +1692,7 @@ def tidy_tags_and_branches(self): self.repo.create_head("latest", "latest") # create a new head for latest self.checkout("latest") else: - # desired revisions may contain arbitrary branch names that do not correspond to valid sematic versioning patterns. + # desired revisions may contain arbitrary branch names that do not correspond to valid semantic versioning patterns. valid_versions = [ Version(v) for v in desired_revisions if re.match(r"\d+\.\d+(?:\.\d+)*(?:[\w\-_])*", v) ] diff --git a/nf_core/pipelines/launch.py b/nf_core/pipelines/launch.py index a80639ea9..aab0ec428 100644 --- a/nf_core/pipelines/launch.py +++ b/nf_core/pipelines/launch.py @@ -276,7 +276,7 @@ def merge_nxf_flag_schema(self): self.schema_obj.schema["definitions"] = {} self.schema_obj.schema["definitions"].update(self.nxf_flag_schema) self.schema_obj.schema["allOf"].insert(0, {"$ref": "#/definitions/coreNextflow"}) - # Add the new defintion to the allOf key so that it's included in validation + # Add the new definition to the allOf key so that it's included in validation # Put it at the start of the list so that it comes first def prompt_web_gui(self): @@ -316,7 +316,7 @@ def launch_web_gui(self): raise AssertionError('"api_url" not in web_response') if "web_url" not in web_response: raise AssertionError('"web_url" not in web_response') - # DO NOT FIX THIS TYPO. Needs to stay in sync with the website. Maintaining for backwards compatability. + # DO NOT FIX THIS TYPO. Needs to stay in sync with the website. Maintaining for backwards compatibility. if web_response["status"] != "recieved": raise AssertionError( f'web_response["status"] should be "recieved", but it is "{web_response["status"]}"' @@ -434,7 +434,7 @@ def prompt_param(self, param_id, param_obj, is_required, answers): question = self.single_param_to_questionary(param_id, param_obj, answers) answer = questionary.unsafe_prompt([question], style=nf_core.utils.nfcore_question_style) - # If required and got an empty reponse, ask again + # If required and got an empty response, ask again while isinstance(answer[param_id], str) and answer[param_id].strip() == "" and is_required: log.error(f"'--{param_id}' is required") answer = questionary.unsafe_prompt([question], style=nf_core.utils.nfcore_question_style) @@ -457,7 +457,7 @@ def prompt_group(self, group_id, group_obj): Prompt for edits to a group of parameters (subschema in 'definitions') Args: - group_id: Paramater ID (string) + group_id: Parameter ID (string) group_obj: JSON Schema keys (dict) Returns: diff --git a/nf_core/pipelines/refgenie.py b/nf_core/pipelines/refgenie.py index 426ca5eb7..46197e9cc 100644 --- a/nf_core/pipelines/refgenie.py +++ b/nf_core/pipelines/refgenie.py @@ -144,14 +144,14 @@ def update_config(rgc): This function is executed after running 'refgenie pull /' The refgenie config file is transformed into a nextflow.config file, which is used to - overwrited the 'refgenie_genomes.config' file. + overwrite the 'refgenie_genomes.config' file. The path to the target config file is inferred from the following options, in order: - the 'nextflow_config' attribute in the refgenie config file - the NXF_REFGENIE_PATH environment variable - otherwise defaults to: $NXF_HOME/nf-core/refgenie_genomes.config - Additionaly, an 'includeConfig' statement is added to the file $NXF_HOME/config + Additionally, an 'includeConfig' statement is added to the file $NXF_HOME/config """ # Compile nextflow refgenie_genomes.config from refgenie config diff --git a/nf_core/pipelines/schema.py b/nf_core/pipelines/schema.py index 127aa123d..2c1eb397f 100644 --- a/nf_core/pipelines/schema.py +++ b/nf_core/pipelines/schema.py @@ -51,7 +51,7 @@ def __init__(self): self.defs_notation = None self.ignored_params = [] - # Update the validation plugin code everytime the schema gets changed + # Update the validation plugin code every time the schema gets changed def set_schema_filename(self, schema: str) -> None: self._schema_filename = schema self._update_validation_plugin_from_config() @@ -969,7 +969,7 @@ def launch_web_builder(self): raise AssertionError('"api_url" not in web_response') if "web_url" not in web_response: raise AssertionError('"web_url" not in web_response') - # DO NOT FIX THIS TYPO. Needs to stay in sync with the website. Maintaining for backwards compatability. + # DO NOT FIX THIS TYPO. Needs to stay in sync with the website. Maintaining for backwards compatibility. if web_response["status"] != "recieved": raise AssertionError( f'web_response["status"] should be "recieved", but it is "{web_response["status"]}"' diff --git a/nf_core/utils.py b/nf_core/utils.py index 87dd307e7..0b3c53f3a 100644 --- a/nf_core/utils.py +++ b/nf_core/utils.py @@ -414,7 +414,7 @@ def wait_cli_function(poll_func: Callable[[], bool], refresh_per_second: int = 2 refresh_per_second (int): Refresh this many times per second. Default: 20. Returns: - None. Just sits in an infite loop until the function returns True. + None. Just sits in an infinite loop until the function returns True. """ try: spinner = Spinner("dots2", "Use ctrl+c to stop waiting and force exit.") @@ -433,7 +433,7 @@ def poll_nfcore_web_api(api_url: str, post_data: Optional[Dict] = None) -> Dict: Takes argument api_url for URL - Expects API reponse to be valid JSON and contain a top-level 'status' key. + Expects API response to be valid JSON and contain a top-level 'status' key. """ # Run without requests_cache so that we get the updated statuses with requests_cache.disabled(): @@ -607,11 +607,11 @@ def request_retry(self, url, post_data=None): while True: # GET request if post_data is None: - log.debug(f"Seding GET request to {url}") + log.debug(f"Sending GET request to {url}") r = self.get(url=url) # POST request else: - log.debug(f"Seding POST request to {url}") + log.debug(f"Sending POST request to {url}") r = self.post(url=url, json=post_data) # Failed but expected - try again @@ -717,12 +717,12 @@ def parse_anaconda_licence(anaconda_response, version=None): license = re.sub(r"GNU GENERAL PUBLIC LICENSE", "GPL", license, flags=re.IGNORECASE) license = license.replace("GPL-", "GPLv") license = re.sub(r"GPL\s*([\d\.]+)", r"GPL v\1", license) # Add v prefix to GPL version if none found - license = re.sub(r"GPL\s*v(\d).0", r"GPL v\1", license) # Remove superflous .0 from GPL version + license = re.sub(r"GPL\s*v(\d).0", r"GPL v\1", license) # Remove superfluous .0 from GPL version license = re.sub(r"GPL \(([^\)]+)\)", r"GPL \1", license) license = re.sub(r"GPL\s*v", "GPL v", license) # Normalise whitespace to one space between GPL and v license = re.sub(r"\s*(>=?)\s*(\d)", r" \1\2", license) # Normalise whitespace around >= GPL versions - license = license.replace("Clause", "clause") # BSD capitilisation - license = re.sub(r"-only$", "", license) # Remove superflous GPL "only" version suffixes + license = license.replace("Clause", "clause") # BSD capitalisation + license = re.sub(r"-only$", "", license) # Remove superfluous GPL "only" version suffixes clean_licences.append(license) return clean_licences diff --git a/tests/pipelines/__snapshots__/test_create_app/test_github_details.svg b/tests/pipelines/__snapshots__/test_create_app/test_github_details.svg index 77a293fb7..03eeaab0d 100644 --- a/tests/pipelines/__snapshots__/test_create_app/test_github_details.svg +++ b/tests/pipelines/__snapshots__/test_create_app/test_github_details.svg @@ -19,258 +19,258 @@ font-weight: 700; } - .terminal-661775892-matrix { + .terminal-660530708-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-661775892-title { + .terminal-660530708-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-661775892-r1 { fill: #c5c8c6 } -.terminal-661775892-r2 { fill: #e3e3e3 } -.terminal-661775892-r3 { fill: #989898 } -.terminal-661775892-r4 { fill: #e1e1e1 } -.terminal-661775892-r5 { fill: #4ebf71;font-weight: bold } -.terminal-661775892-r6 { fill: #a5a5a5;font-style: italic; } -.terminal-661775892-r7 { fill: #454a50 } -.terminal-661775892-r8 { fill: #e2e3e3;font-weight: bold } -.terminal-661775892-r9 { fill: #1e1e1e } -.terminal-661775892-r10 { fill: #008139 } -.terminal-661775892-r11 { fill: #000000 } -.terminal-661775892-r12 { fill: #e2e2e2 } -.terminal-661775892-r13 { fill: #18954b } -.terminal-661775892-r14 { fill: #e2e2e2;font-weight: bold } -.terminal-661775892-r15 { fill: #969696;font-weight: bold } -.terminal-661775892-r16 { fill: #808080 } -.terminal-661775892-r17 { fill: #7ae998 } -.terminal-661775892-r18 { fill: #507bb3 } -.terminal-661775892-r19 { fill: #0a180e;font-weight: bold } -.terminal-661775892-r20 { fill: #dde6ed;font-weight: bold } -.terminal-661775892-r21 { fill: #001541 } -.terminal-661775892-r22 { fill: #fea62b;font-weight: bold } -.terminal-661775892-r23 { fill: #a7a9ab } -.terminal-661775892-r24 { fill: #e2e3e3 } + .terminal-660530708-r1 { fill: #c5c8c6 } +.terminal-660530708-r2 { fill: #e3e3e3 } +.terminal-660530708-r3 { fill: #989898 } +.terminal-660530708-r4 { fill: #e1e1e1 } +.terminal-660530708-r5 { fill: #4ebf71;font-weight: bold } +.terminal-660530708-r6 { fill: #a5a5a5;font-style: italic; } +.terminal-660530708-r7 { fill: #454a50 } +.terminal-660530708-r8 { fill: #e2e3e3;font-weight: bold } +.terminal-660530708-r9 { fill: #1e1e1e } +.terminal-660530708-r10 { fill: #008139 } +.terminal-660530708-r11 { fill: #000000 } +.terminal-660530708-r12 { fill: #e2e2e2 } +.terminal-660530708-r13 { fill: #18954b } +.terminal-660530708-r14 { fill: #e2e2e2;font-weight: bold } +.terminal-660530708-r15 { fill: #969696;font-weight: bold } +.terminal-660530708-r16 { fill: #808080 } +.terminal-660530708-r17 { fill: #7ae998 } +.terminal-660530708-r18 { fill: #507bb3 } +.terminal-660530708-r19 { fill: #0a180e;font-weight: bold } +.terminal-660530708-r20 { fill: #dde6ed;font-weight: bold } +.terminal-660530708-r21 { fill: #001541 } +.terminal-660530708-r22 { fill: #fea62b;font-weight: bold } +.terminal-660530708-r23 { fill: #a7a9ab } +.terminal-660530708-r24 { fill: #e2e3e3 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - nf-core pipelines create + nf-core pipelines create - + - - nf-core pipelines create — Create a new pipeline with the nf-core pipeline templa… - - -Create GitHub repository - -  Now that we have created a new pipeline locally, we can create a new GitHub repository and push    -  the code to it. - - - - -Your GitHub usernameYour GitHub personal access token▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -for login. Show  -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -GitHub username••••••••••••                   -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - -The name of the organisation where the The name of the new GitHub repository -GitHub repo will be cretaed -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -nf-core                               mypipeline                             -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - -⚠️ You can't create a repository directly in the nf-core organisation. -Please create the pipeline repo to an organisation where you have access or use your user  -account. A core-team member will be able to transfer the repo to nf-core once the development -has started. - -💡 Your GitHub user account will be used by default if nf-core is given as the org name. - - -▔▔▔▔▔▔▔▔Private -Select to make the new GitHub repo private. -▁▁▁▁▁▁▁▁ -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Back  Create GitHub repo  Finish without creating a repo  -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - - - - - - - d Toggle dark mode  q Quit  a Toggle all  + + nf-core pipelines create — Create a new pipeline with the nf-core pipeline templa… + + +Create GitHub repository + +  Now that we have created a new pipeline locally, we can create a new GitHub repository and push    +  the code to it. + + + + +Your GitHub usernameYour GitHub personal access token▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +for login. Show  +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +GitHub username••••••••••••                   +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + +The name of the organisation where the The name of the new GitHub repository +GitHub repo will be created +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +nf-core                               mypipeline                             +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + +⚠️ You can't create a repository directly in the nf-core organisation. +Please create the pipeline repo to an organisation where you have access or use your user  +account. A core-team member will be able to transfer the repo to nf-core once the development +has started. + +💡 Your GitHub user account will be used by default if nf-core is given as the org name. + + +▔▔▔▔▔▔▔▔Private +Select to make the new GitHub repo private. +▁▁▁▁▁▁▁▁ +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Back  Create GitHub repo  Finish without creating a repo  +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + + + + + + + d Toggle dark mode  q Quit  a Toggle all  diff --git a/tests/pipelines/__snapshots__/test_create_app/test_type_custom.svg b/tests/pipelines/__snapshots__/test_create_app/test_type_custom.svg index cff030915..cc34c9253 100644 --- a/tests/pipelines/__snapshots__/test_create_app/test_type_custom.svg +++ b/tests/pipelines/__snapshots__/test_create_app/test_type_custom.svg @@ -19,256 +19,256 @@ font-weight: 700; } - .terminal-829842075-matrix { + .terminal-829252251-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-829842075-title { + .terminal-829252251-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-829842075-r1 { fill: #c5c8c6 } -.terminal-829842075-r2 { fill: #e3e3e3 } -.terminal-829842075-r3 { fill: #989898 } -.terminal-829842075-r4 { fill: #e1e1e1 } -.terminal-829842075-r5 { fill: #4ebf71;font-weight: bold } -.terminal-829842075-r6 { fill: #1e1e1e } -.terminal-829842075-r7 { fill: #0178d4 } -.terminal-829842075-r8 { fill: #e2e2e2 } -.terminal-829842075-r9 { fill: #507bb3 } -.terminal-829842075-r10 { fill: #808080 } -.terminal-829842075-r11 { fill: #dde6ed;font-weight: bold } -.terminal-829842075-r12 { fill: #001541 } -.terminal-829842075-r13 { fill: #14191f } -.terminal-829842075-r14 { fill: #454a50 } -.terminal-829842075-r15 { fill: #7ae998 } -.terminal-829842075-r16 { fill: #e2e3e3;font-weight: bold } -.terminal-829842075-r17 { fill: #0a180e;font-weight: bold } -.terminal-829842075-r18 { fill: #000000 } -.terminal-829842075-r19 { fill: #008139 } -.terminal-829842075-r20 { fill: #fea62b;font-weight: bold } -.terminal-829842075-r21 { fill: #a7a9ab } -.terminal-829842075-r22 { fill: #e2e3e3 } + .terminal-829252251-r1 { fill: #c5c8c6 } +.terminal-829252251-r2 { fill: #e3e3e3 } +.terminal-829252251-r3 { fill: #989898 } +.terminal-829252251-r4 { fill: #e1e1e1 } +.terminal-829252251-r5 { fill: #4ebf71;font-weight: bold } +.terminal-829252251-r6 { fill: #1e1e1e } +.terminal-829252251-r7 { fill: #0178d4 } +.terminal-829252251-r8 { fill: #e2e2e2 } +.terminal-829252251-r9 { fill: #507bb3 } +.terminal-829252251-r10 { fill: #808080 } +.terminal-829252251-r11 { fill: #dde6ed;font-weight: bold } +.terminal-829252251-r12 { fill: #001541 } +.terminal-829252251-r13 { fill: #14191f } +.terminal-829252251-r14 { fill: #454a50 } +.terminal-829252251-r15 { fill: #7ae998 } +.terminal-829252251-r16 { fill: #e2e3e3;font-weight: bold } +.terminal-829252251-r17 { fill: #0a180e;font-weight: bold } +.terminal-829252251-r18 { fill: #000000 } +.terminal-829252251-r19 { fill: #008139 } +.terminal-829252251-r20 { fill: #fea62b;font-weight: bold } +.terminal-829252251-r21 { fill: #a7a9ab } +.terminal-829252251-r22 { fill: #e2e3e3 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - nf-core pipelines create + nf-core pipelines create - + - - nf-core pipelines create — Create a new pipeline with the nf-core pipeline templa… - - -Template features - - -▔▔▔▔▔▔▔▔ -        Toggle all features -▁▁▁▁▁▁▁▁ -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Use a GitHub Create a GitHub  Show help  -▁▁▁▁▁▁▁▁        repository.repository for the ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -pipeline. - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Add Github CI testsThe pipeline will  Show help  -▁▁▁▁▁▁▁▁include several GitHub▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -actions for Continuous -Integration (CI) ▁▁ -testing - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Use reference genomesThe pipeline will be  Show help  -▁▁▁▁▁▁▁▁configured to use a ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -copy of the most  -common reference  -genome files from  -iGenomes - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Add Github badgesThe README.md file of  Show help  -▁▁▁▁▁▁▁▁the pipeline will ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -include GitHub badges - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Add configuration The pipeline will  Show help  -▁▁▁▁▁▁▁▁        filesinclude configuration ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ -profiles containing  -custom parameters  -requried to run  -nf-core pipelines at  -different institutions - -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -        Use code lintersThe pipeline will  Show help  -▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Back  Continue  -▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - d Toggle dark mode  q Quit  a Toggle all  + + nf-core pipelines create — Create a new pipeline with the nf-core pipeline templa… + + +Template features + + +▔▔▔▔▔▔▔▔ +        Toggle all features +▁▁▁▁▁▁▁▁ +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Use a GitHub Create a GitHub  Show help  +▁▁▁▁▁▁▁▁        repository.repository for the ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +pipeline. + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Add Github CI testsThe pipeline will  Show help  +▁▁▁▁▁▁▁▁include several GitHub▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +actions for Continuous +Integration (CI) ▁▁ +testing + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Use reference genomesThe pipeline will be  Show help  +▁▁▁▁▁▁▁▁configured to use a ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +copy of the most  +common reference  +genome files from  +iGenomes + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Add Github badgesThe README.md file of  Show help  +▁▁▁▁▁▁▁▁the pipeline will ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +include GitHub badges + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Add configuration The pipeline will  Show help  +▁▁▁▁▁▁▁▁        filesinclude configuration ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ +profiles containing  +custom parameters  +required to run  +nf-core pipelines at  +different institutions + +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +        Use code lintersThe pipeline will  Show help  +▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Back  Continue  +▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + d Toggle dark mode  q Quit  a Toggle all  diff --git a/tests/pipelines/test_download.py b/tests/pipelines/test_download.py index a898d37b7..e55258252 100644 --- a/tests/pipelines/test_download.py +++ b/tests/pipelines/test_download.py @@ -516,7 +516,7 @@ def test_singularity_image_filenames(self, tmp_path): result = download_obj.singularity_image_filenames("nf-core/ubuntu:20.04") assert result[0].endswith("/cachedir/nf-core-ubuntu-20.04.img") - ## Test phase III: Container wil lbe cached but also copied to out_path + ## Test phase III: Container will be cached but also copied to out_path # out_path: str, Path to cache # cache_path: str, Path to cache download_obj.container_cache_utilisation = "copy" diff --git a/tests/pipelines/test_launch.py b/tests/pipelines/test_launch.py index 5e230528a..ed23872f6 100644 --- a/tests/pipelines/test_launch.py +++ b/tests/pipelines/test_launch.py @@ -298,7 +298,7 @@ def test_strip_default_params(self): assert self.launcher.schema_obj.input_params == {"input": "custom_input"} def test_build_command_empty(self): - """Test the functionality to build a nextflow command - nothing customsied""" + """Test the functionality to build a nextflow command - nothing customised""" self.launcher.get_pipeline_schema() self.launcher.merge_nxf_flag_schema() self.launcher.build_command() diff --git a/tests/pipelines/test_schema.py b/tests/pipelines/test_schema.py index 2abaf07bd..ab543d8b9 100644 --- a/tests/pipelines/test_schema.py +++ b/tests/pipelines/test_schema.py @@ -49,7 +49,7 @@ def test_load_lint_schema(self): self.schema_obj.load_lint_schema() def test_load_lint_schema_nofile(self): - """Check that linting raises properly if a non-existant file is given""" + """Check that linting raises properly if a non-existent file is given""" with pytest.raises(RuntimeError): self.schema_obj.get_schema_path("fake_file") diff --git a/tests/test_utils.py b/tests/test_utils.py index bde561d95..b13c8eb37 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -113,7 +113,7 @@ def test_pip_package_pass(self): @mock.patch("requests.get") def test_pip_package_timeout(self, mock_get): """Tests the PyPi connection and simulates a request timeout, which should - return in an addiional warning in the linting""" + return in an additional warning in the linting""" # Define the behaviour of the request get mock mock_get.side_effect = requests.exceptions.Timeout() # Now do the test