nf-core 2.9__tar.gz → 2.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. {nf-core-2.9/nf_core.egg-info → nf-core-2.11}/PKG-INFO +87 -44
  2. {nf-core-2.9 → nf-core-2.11}/README.md +66 -43
  3. {nf-core-2.9 → nf-core-2.11}/nf_core/__main__.py +219 -135
  4. {nf-core-2.9 → nf-core-2.11}/nf_core/bump_version.py +67 -16
  5. {nf-core-2.9 → nf-core-2.11}/nf_core/components/components_command.py +31 -19
  6. nf-core-2.11/nf_core/components/components_test.py +248 -0
  7. {nf-core-2.9 → nf-core-2.11}/nf_core/components/components_utils.py +24 -18
  8. {nf-core-2.9 → nf-core-2.11}/nf_core/components/create.py +156 -106
  9. {nf-core-2.9 → nf-core-2.11}/nf_core/components/install.py +2 -0
  10. nf-core-2.11/nf_core/components/lint/__init__.py +313 -0
  11. {nf-core-2.9 → nf-core-2.11}/nf_core/components/list.py +47 -32
  12. nf-core-2.11/nf_core/components/nfcore_component.py +193 -0
  13. nf-core-2.11/nf_core/components/patch.py +224 -0
  14. {nf-core-2.9 → nf-core-2.11}/nf_core/components/remove.py +1 -1
  15. {nf-core-2.9 → nf-core-2.11}/nf_core/components/update.py +19 -14
  16. {nf-core-2.9 → nf-core-2.11}/nf_core/create.py +30 -14
  17. {nf-core-2.9 → nf-core-2.11}/nf_core/download.py +160 -98
  18. {nf-core-2.9 → nf-core-2.11}/nf_core/launch.py +1 -1
  19. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/__init__.py +42 -34
  20. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/actions_ci.py +3 -3
  21. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/files_exist.py +2 -0
  22. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/multiqc_config.py +39 -21
  23. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/nextflow_config.py +35 -0
  24. {nf-core-2.9 → nf-core-2.11}/nf_core/list.py +21 -16
  25. nf-core-2.11/nf_core/module-template/environment.yml +9 -0
  26. {nf-core-2.9/nf_core/module-template/modules → nf-core-2.11/nf_core/module-template}/main.nf +3 -3
  27. {nf-core-2.9/nf_core/module-template/modules → nf-core-2.11/nf_core/module-template}/meta.yml +6 -4
  28. nf-core-2.11/nf_core/module-template/tests/main.nf.test +82 -0
  29. nf-core-2.11/nf_core/module-template/tests/tags.yml +2 -0
  30. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/__init__.py +0 -2
  31. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/bump_versions.py +85 -56
  32. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/create.py +2 -0
  33. nf-core-2.11/nf_core/modules/lint/__init__.py +231 -0
  34. nf-core-2.11/nf_core/modules/lint/environment_yml.py +113 -0
  35. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/main_nf.py +85 -34
  36. nf-core-2.11/nf_core/modules/lint/meta_yml.py +182 -0
  37. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/module_changes.py +13 -7
  38. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/module_deprecations.py +3 -3
  39. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/module_patch.py +6 -6
  40. nf-core-2.11/nf_core/modules/lint/module_tests.py +208 -0
  41. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/module_todos.py +2 -9
  42. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/lint/module_version.py +6 -6
  43. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/modules_json.py +22 -6
  44. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/modules_utils.py +27 -19
  45. nf-core-2.11/nf_core/modules/patch.py +10 -0
  46. nf-core-2.11/nf_core/params_file.py +278 -0
  47. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.devcontainer/devcontainer.json +1 -0
  48. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/CONTRIBUTING.md +6 -1
  49. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  50. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/ci.yml +1 -1
  51. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/fix-linting.yml +2 -2
  52. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/linting.yml +7 -7
  53. nf-core-2.11/nf_core/pipeline-template/.github/workflows/release-announcments.yml +68 -0
  54. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.gitpod.yml +3 -1
  55. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/CITATIONS.md +1 -1
  56. nf-core-2.11/nf_core/pipeline-template/CODE_OF_CONDUCT.md +182 -0
  57. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/README.md +6 -9
  58. nf-core-2.11/nf_core/pipeline-template/assets/multiqc_config.yml +19 -0
  59. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/slackreport.json +1 -1
  60. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/conf/modules.config +9 -0
  61. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/output.md +4 -1
  62. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/usage.md +14 -6
  63. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/lib/NfcoreTemplate.groovy +27 -7
  64. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/lib/WorkflowPipeline.groovy +1 -1
  65. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/main.nf +3 -0
  66. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/environment.yml +7 -0
  67. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/main.nf +3 -3
  68. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/meta.yml +4 -3
  69. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/tests/main.nf.test +38 -0
  70. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/tests/main.nf.test.snap +27 -0
  71. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/tests/tags.yml +2 -0
  72. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/fastqc/environment.yml +7 -0
  73. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/fastqc/main.nf +10 -6
  74. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/fastqc/meta.yml +5 -0
  75. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/fastqc/tests/main.nf.test +109 -0
  76. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/fastqc/tests/main.nf.test.snap +10 -0
  77. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/fastqc/tests/tags.yml +2 -0
  78. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/multiqc/environment.yml +7 -0
  79. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/multiqc/main.nf +5 -3
  80. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/multiqc/meta.yml +7 -4
  81. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/multiqc/tests/main.nf.test +63 -0
  82. nf-core-2.11/nf_core/pipeline-template/modules/nf-core/multiqc/tests/tags.yml +2 -0
  83. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules.json +3 -3
  84. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/nextflow.config +11 -6
  85. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/nextflow_schema.json +0 -15
  86. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/workflows/pipeline.nf +1 -0
  87. {nf-core-2.9 → nf-core-2.11}/nf_core/schema.py +52 -14
  88. {nf-core-2.9/nf_core/subworkflow-template/subworkflows → nf-core-2.11/nf_core/subworkflow-template}/main.nf +1 -1
  89. nf-core-2.11/nf_core/subworkflow-template/meta.yml +51 -0
  90. nf-core-2.11/nf_core/subworkflow-template/tests/main.nf.test +43 -0
  91. nf-core-2.11/nf_core/subworkflow-template/tests/tags.yml +2 -0
  92. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/__init__.py +1 -2
  93. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/create.py +2 -0
  94. nf-core-2.11/nf_core/subworkflows/lint/__init__.py +222 -0
  95. nf-core-2.11/nf_core/subworkflows/lint/main_nf.py +236 -0
  96. nf-core-2.11/nf_core/subworkflows/lint/meta_yml.py +132 -0
  97. nf-core-2.11/nf_core/subworkflows/lint/subworkflow_changes.py +46 -0
  98. nf-core-2.11/nf_core/subworkflows/lint/subworkflow_tests.py +212 -0
  99. nf-core-2.11/nf_core/subworkflows/lint/subworkflow_todos.py +40 -0
  100. nf-core-2.11/nf_core/subworkflows/lint/subworkflow_version.py +53 -0
  101. {nf-core-2.9 → nf-core-2.11}/nf_core/sync.py +31 -16
  102. {nf-core-2.9 → nf-core-2.11}/nf_core/synced_repo.py +12 -12
  103. {nf-core-2.9 → nf-core-2.11}/nf_core/utils.py +96 -26
  104. {nf-core-2.9 → nf-core-2.11/nf_core.egg-info}/PKG-INFO +87 -44
  105. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/SOURCES.txt +37 -19
  106. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/requires.txt +1 -0
  107. {nf-core-2.9 → nf-core-2.11}/requirements.txt +1 -0
  108. {nf-core-2.9 → nf-core-2.11}/setup.py +1 -1
  109. nf-core-2.11/tests/lint/multiqc_config.py +106 -0
  110. {nf-core-2.9 → nf-core-2.11}/tests/lint/nextflow_config.py +20 -0
  111. {nf-core-2.9 → nf-core-2.11}/tests/modules/bump_versions.py +7 -6
  112. nf-core-2.11/tests/modules/create.py +141 -0
  113. nf-core-2.11/tests/modules/lint.py +646 -0
  114. nf-core-2.11/tests/subworkflows/create.py +111 -0
  115. nf-core-2.11/tests/subworkflows/lint.py +106 -0
  116. {nf-core-2.9 → nf-core-2.11}/tests/test_cli.py +5 -7
  117. nf-core-2.11/tests/test_components.py +52 -0
  118. {nf-core-2.9 → nf-core-2.11}/tests/test_create.py +24 -15
  119. {nf-core-2.9 → nf-core-2.11}/tests/test_download.py +99 -28
  120. {nf-core-2.9 → nf-core-2.11}/tests/test_launch.py +15 -20
  121. {nf-core-2.9 → nf-core-2.11}/tests/test_lint.py +20 -10
  122. {nf-core-2.9 → nf-core-2.11}/tests/test_list.py +1 -1
  123. {nf-core-2.9 → nf-core-2.11}/tests/test_modules.py +70 -48
  124. nf-core-2.11/tests/test_params_file.py +79 -0
  125. {nf-core-2.9 → nf-core-2.11}/tests/test_schema.py +1 -1
  126. {nf-core-2.9 → nf-core-2.11}/tests/test_subworkflows.py +34 -41
  127. {nf-core-2.9 → nf-core-2.11}/tests/test_test_utils.py +1 -18
  128. {nf-core-2.9 → nf-core-2.11}/tests/test_utils.py +33 -2
  129. {nf-core-2.9 → nf-core-2.11}/tests/utils.py +27 -25
  130. nf-core-2.9/nf_core/components/components_test.py +0 -200
  131. nf-core-2.9/nf_core/module-template/tests/main.nf +0 -18
  132. nf-core-2.9/nf_core/module-template/tests/nextflow.config +0 -5
  133. nf-core-2.9/nf_core/module-template/tests/test.yml +0 -18
  134. nf-core-2.9/nf_core/modules/lint/__init__.py +0 -465
  135. nf-core-2.9/nf_core/modules/lint/meta_yml.py +0 -96
  136. nf-core-2.9/nf_core/modules/lint/module_tests.py +0 -88
  137. nf-core-2.9/nf_core/modules/modules_test.py +0 -30
  138. nf-core-2.9/nf_core/modules/nfcore_module.py +0 -66
  139. nf-core-2.9/nf_core/modules/patch.py +0 -209
  140. nf-core-2.9/nf_core/modules/test_yml_builder.py +0 -373
  141. nf-core-2.9/nf_core/pipeline-template/CODE_OF_CONDUCT.md +0 -111
  142. nf-core-2.9/nf_core/pipeline-template/assets/multiqc_config.yml +0 -13
  143. nf-core-2.9/nf_core/subworkflow-template/subworkflows/meta.yml +0 -49
  144. nf-core-2.9/nf_core/subworkflow-template/tests/main.nf +0 -18
  145. nf-core-2.9/nf_core/subworkflow-template/tests/nextflow.config +0 -5
  146. nf-core-2.9/nf_core/subworkflow-template/tests/test.yml +0 -12
  147. nf-core-2.9/nf_core/subworkflows/subworkflows_test.py +0 -31
  148. nf-core-2.9/nf_core/subworkflows/test_yml_builder.py +0 -391
  149. nf-core-2.9/tests/modules/create.py +0 -65
  150. nf-core-2.9/tests/modules/create_test_yml.py +0 -60
  151. nf-core-2.9/tests/modules/lint.py +0 -233
  152. nf-core-2.9/tests/modules/modules_test.py +0 -41
  153. nf-core-2.9/tests/subworkflows/create.py +0 -37
  154. nf-core-2.9/tests/subworkflows/create_test_yml.py +0 -96
  155. nf-core-2.9/tests/subworkflows/subworkflows_test.py +0 -41
  156. {nf-core-2.9 → nf-core-2.11}/LICENSE +0 -0
  157. {nf-core-2.9 → nf-core-2.11}/MANIFEST.in +0 -0
  158. {nf-core-2.9 → nf-core-2.11}/nf_core/.pre-commit-prettier-config.yaml +0 -0
  159. {nf-core-2.9 → nf-core-2.11}/nf_core/__init__.py +0 -0
  160. {nf-core-2.9 → nf-core-2.11}/nf_core/components/__init__.py +0 -0
  161. {nf-core-2.9 → nf-core-2.11}/nf_core/components/info.py +0 -0
  162. {nf-core-2.9 → nf-core-2.11}/nf_core/licences.py +0 -0
  163. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/actions_awsfulltest.py +0 -0
  164. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/actions_awstest.py +0 -0
  165. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/actions_schema_validation.py +0 -0
  166. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/files_unchanged.py +0 -0
  167. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/merge_markers.py +0 -0
  168. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/modules_json.py +0 -0
  169. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/modules_structure.py +0 -0
  170. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/pipeline_name_conventions.py +0 -0
  171. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/pipeline_todos.py +0 -0
  172. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/readme.py +0 -0
  173. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/schema_description.py +0 -0
  174. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/schema_lint.py +0 -0
  175. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/schema_params.py +0 -0
  176. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/system_exit.py +0 -0
  177. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/template_strings.py +0 -0
  178. {nf-core-2.9 → nf-core-2.11}/nf_core/lint/version_consistency.py +0 -0
  179. {nf-core-2.9 → nf-core-2.11}/nf_core/lint_utils.py +0 -0
  180. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/info.py +0 -0
  181. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/install.py +0 -0
  182. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/list.py +0 -0
  183. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/modules_differ.py +0 -0
  184. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/modules_repo.py +0 -0
  185. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/remove.py +0 -0
  186. {nf-core-2.9 → nf-core-2.11}/nf_core/modules/update.py +0 -0
  187. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.editorconfig +0 -0
  188. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.gitattributes +0 -0
  189. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/.dockstore.yml +0 -0
  190. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  191. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/config.yml +0 -0
  192. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  193. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/awsfulltest.yml +0 -0
  194. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/awstest.yml +0 -0
  195. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/branch.yml +0 -0
  196. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/clean-up.yml +0 -0
  197. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.github/workflows/linting_comment.yml +0 -0
  198. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.gitignore +0 -0
  199. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.nf-core.yml +0 -0
  200. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.pre-commit-config.yaml +0 -0
  201. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.prettierignore +0 -0
  202. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/.prettierrc.yml +0 -0
  203. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/CHANGELOG.md +0 -0
  204. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/LICENSE +0 -0
  205. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/adaptivecard.json +0 -0
  206. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/email_template.html +0 -0
  207. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/email_template.txt +0 -0
  208. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/methods_description_template.yml +0 -0
  209. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/samplesheet.csv +0 -0
  210. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/schema_input.json +0 -0
  211. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/assets/sendmail_template.txt +0 -0
  212. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/bin/check_samplesheet.py +0 -0
  213. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/conf/base.config +0 -0
  214. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/conf/igenomes.config +0 -0
  215. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/conf/test.config +0 -0
  216. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/conf/test_full.config +0 -0
  217. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/README.md +0 -0
  218. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/images/mqc_fastqc_adapter.png +0 -0
  219. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/images/mqc_fastqc_counts.png +0 -0
  220. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/docs/images/mqc_fastqc_quality.png +0 -0
  221. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/lib/Utils.groovy +0 -0
  222. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/lib/WorkflowMain.groovy +0 -0
  223. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/lib/nfcore_external_java_deps.jar +0 -0
  224. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/local/samplesheet_check.nf +0 -0
  225. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/modules/nf-core/custom/dumpsoftwareversions/templates/dumpsoftwareversions.py +0 -0
  226. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/pyproject.toml +0 -0
  227. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/subworkflows/local/input_check.nf +0 -0
  228. {nf-core-2.9 → nf-core-2.11}/nf_core/pipeline-template/tower.yml +0 -0
  229. {nf-core-2.9 → nf-core-2.11}/nf_core/refgenie.py +0 -0
  230. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/info.py +0 -0
  231. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/install.py +0 -0
  232. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/list.py +0 -0
  233. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/remove.py +0 -0
  234. {nf-core-2.9 → nf-core-2.11}/nf_core/subworkflows/update.py +0 -0
  235. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/dependency_links.txt +0 -0
  236. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/entry_points.txt +0 -0
  237. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/not-zip-safe +0 -0
  238. {nf-core-2.9 → nf-core-2.11}/nf_core.egg-info/top_level.txt +0 -0
  239. {nf-core-2.9 → nf-core-2.11}/pyproject.toml +0 -0
  240. {nf-core-2.9 → nf-core-2.11}/setup.cfg +0 -0
  241. {nf-core-2.9 → nf-core-2.11}/tests/__init__.py +0 -0
  242. {nf-core-2.9 → nf-core-2.11}/tests/lint/__init__.py +0 -0
  243. {nf-core-2.9 → nf-core-2.11}/tests/lint/actions_awsfulltest.py +0 -0
  244. {nf-core-2.9 → nf-core-2.11}/tests/lint/actions_awstest.py +0 -0
  245. {nf-core-2.9 → nf-core-2.11}/tests/lint/actions_ci.py +0 -0
  246. {nf-core-2.9 → nf-core-2.11}/tests/lint/actions_schema_validation.py +0 -0
  247. {nf-core-2.9 → nf-core-2.11}/tests/lint/files_exist.py +0 -0
  248. {nf-core-2.9 → nf-core-2.11}/tests/lint/files_unchanged.py +0 -0
  249. {nf-core-2.9 → nf-core-2.11}/tests/lint/merge_markers.py +0 -0
  250. {nf-core-2.9 → nf-core-2.11}/tests/lint/modules_json.py +0 -0
  251. {nf-core-2.9 → nf-core-2.11}/tests/lint/version_consistency.py +0 -0
  252. {nf-core-2.9 → nf-core-2.11}/tests/modules/__init__.py +0 -0
  253. {nf-core-2.9 → nf-core-2.11}/tests/modules/info.py +0 -0
  254. {nf-core-2.9 → nf-core-2.11}/tests/modules/install.py +0 -0
  255. {nf-core-2.9 → nf-core-2.11}/tests/modules/list.py +0 -0
  256. {nf-core-2.9 → nf-core-2.11}/tests/modules/modules_json.py +0 -0
  257. {nf-core-2.9 → nf-core-2.11}/tests/modules/patch.py +0 -0
  258. {nf-core-2.9 → nf-core-2.11}/tests/modules/remove.py +0 -0
  259. {nf-core-2.9 → nf-core-2.11}/tests/modules/update.py +0 -0
  260. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/__init__.py +0 -0
  261. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/info.py +0 -0
  262. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/install.py +0 -0
  263. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/list.py +0 -0
  264. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/remove.py +0 -0
  265. {nf-core-2.9 → nf-core-2.11}/tests/subworkflows/update.py +0 -0
  266. {nf-core-2.9 → nf-core-2.11}/tests/test_bump_version.py +0 -0
  267. {nf-core-2.9 → nf-core-2.11}/tests/test_licenses.py +0 -0
  268. {nf-core-2.9 → nf-core-2.11}/tests/test_lint_utils.py +0 -0
  269. {nf-core-2.9 → nf-core-2.11}/tests/test_refgenie.py +0 -0
  270. {nf-core-2.9 → nf-core-2.11}/tests/test_sync.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nf-core
3
- Version: 2.9
3
+ Version: 2.11
4
4
  Summary: Helper tools for use with nf-core Nextflow pipelines.
5
5
  Home-page: https://github.com/nf-core/tools
6
6
  Author: Phil Ewels
@@ -10,6 +10,26 @@ Keywords: nf-core,nextflow,bioinformatics,workflow,pipeline,biology,sequencing,N
10
10
  Requires-Python: >=3.8, <4
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
+ Requires-Dist: click
14
+ Requires-Dist: filetype
15
+ Requires-Dist: GitPython
16
+ Requires-Dist: jinja2
17
+ Requires-Dist: jsonschema>=3.0
18
+ Requires-Dist: markdown>=3.3
19
+ Requires-Dist: packaging
20
+ Requires-Dist: pre-commit
21
+ Requires-Dist: prompt_toolkit>=3.0.3
22
+ Requires-Dist: pytest>=7.0.0
23
+ Requires-Dist: pytest-workflow>=1.6.0
24
+ Requires-Dist: pyyaml
25
+ Requires-Dist: questionary>=1.8.0
26
+ Requires-Dist: refgenie
27
+ Requires-Dist: requests
28
+ Requires-Dist: requests_cache
29
+ Requires-Dist: rich-click>=1.6.1
30
+ Requires-Dist: rich>=13.3.1
31
+ Requires-Dist: tabulate
32
+ Requires-Dist: pdiff
13
33
 
14
34
  # ![nf-core/tools](docs/images/nfcore-tools_logo_light.png#gh-light-mode-only) ![nf-core/tools](docs/images/nfcore-tools_logo_dark.png#gh-dark-mode-only) <!-- omit in toc -->
15
35
 
@@ -33,6 +53,7 @@ A python package with helper tools for the nf-core community.
33
53
  - [`nf-core` tools update](#update-tools)
34
54
  - [`nf-core list` - List available pipelines](#listing-pipelines)
35
55
  - [`nf-core launch` - Run a pipeline with interactive parameter prompts](#launch-a-pipeline)
56
+ - [`nf-core create-params-file` - Create a parameter file](#create-a-parameter-file)
36
57
  - [`nf-core download` - Download a pipeline for offline use](#downloading-pipelines-for-offline-use)
37
58
  - [`nf-core licences` - List software licences in a pipeline](#pipeline-software-licences)
38
59
  - [`nf-core create` - Create a new pipeline with the nf-core template](#creating-a-new-pipeline)
@@ -51,7 +72,6 @@ A python package with helper tools for the nf-core community.
51
72
  - [`modules remove` - Remove a module from a pipeline](#remove-a-module-from-a-pipeline)
52
73
  - [`modules patch` - Create a patch file for a module](#create-a-patch-file-for-a-module)
53
74
  - [`modules create` - Create a module from the template](#create-a-new-module)
54
- - [`modules create-test-yml` - Create the `test.yml` file for a module](#create-a-module-test-config-file)
55
75
  - [`modules lint` - Check a module against nf-core guidelines](#check-a-module-against-nf-core-guidelines)
56
76
  - [`modules test` - Run the tests for a module](#run-the-tests-for-a-module-using-pytest)
57
77
  - [`modules bump-versions` - Bump software versions of modules](#bump-bioconda-and-container-versions-of-modules-in)
@@ -65,12 +85,12 @@ A python package with helper tools for the nf-core community.
65
85
  - [`subworkflows update` - Update subworkflows in a pipeline](#update-subworkflows-in-a-pipeline)
66
86
  - [`subworkflows remove` - Remove a subworkflow from a pipeline](#remove-a-subworkflow-from-a-pipeline)
67
87
  - [`subworkflows create` - Create a subworkflow from the template](#create-a-new-subworkflow)
68
- - [`subworkflows create-test-yml` - Create the `test.yml` file for a subworkflow](#create-a-subworkflow-test-config-file)
88
+ - [`subworkflows lint` - Check a subworkflow against nf-core guidelines](#check-a-subworkflow-against-nf-core-guidelines)
69
89
  - [`subworkflows test` - Run the tests for a subworkflow](#run-the-tests-for-a-subworkflow-using-pytest)
70
90
  - [Citation](#citation)
71
91
 
72
92
  The nf-core tools package is written in Python and can be imported and used within other packages.
73
- For documentation of the internal Python functions, please refer to the [Tools Python API docs](https://nf-co.re/tools-docs/).
93
+ For documentation of the internal Python functions, please refer to the [Tools Python API docs](https://nf-co.re/tools/docs/).
74
94
 
75
95
  ## Installation
76
96
 
@@ -89,7 +109,7 @@ conda install nf-core
89
109
  Alternatively, you can create a new environment with both nf-core/tools and nextflow:
90
110
 
91
111
  ```bash
92
- conda create --name nf-core python=3.8 nf-core nextflow
112
+ conda create --name nf-core python=3.11 nf-core nextflow
93
113
  conda activate nf-core
94
114
  ```
95
115
 
@@ -199,7 +219,7 @@ for wf in wfs.remote_workflows:
199
219
  print(wf.full_name)
200
220
  ```
201
221
 
202
- Please see [https://nf-co.re/tools-docs/](https://nf-co.re/tools-docs/) for the function documentation.
222
+ Please see [https://nf-co.re/tools/docs/](https://nf-co.re/tools/docs/) for the function documentation.
203
223
 
204
224
  ### Automatic version check
205
225
 
@@ -238,10 +258,12 @@ Auto-completion for the `nf-core` command is available for bash, zsh and fish. T
238
258
 
239
259
  After a restart of the shell session you should have auto-completion for the `nf-core` command and all its sub-commands and options.
240
260
 
241
- > **NB:** The added line will run the command `nf-core` (which will also slow down startup time of your shell). You should therefore either have the nf-core/tools installed globally.
261
+ > [!NOTE]
262
+ > The added line will run the command `nf-core` (which will also slow down startup time of your shell). You should therefore either have the nf-core/tools installed globally.
242
263
  > You can also wrap it inside `if type nf-core > /dev/null; then ` \<YOUR EVAL CODE LINE\> `fi` for bash and zsh or `if command -v nf-core &> /dev/null eval (env _NF_CORE_COMPLETE=fish_source nf-core) end` for fish. You need to then source the config in your environment for the completions to be activated.
243
264
 
244
- > **NB:** If you see the error `command not found compdef` , be sure that your config file contains the line `autoload -Uz compinit && compinit` before the eval line.
265
+ > [!TIP]
266
+ > If you see the error `command not found compdef` , be sure that your config file contains the line `autoload -Uz compinit && compinit` before the eval line.
245
267
 
246
268
  ## Listing pipelines
247
269
 
@@ -324,6 +346,22 @@ Do you want to run this command now? [y/n]:
324
346
  - `--url`
325
347
  - Change the URL used for the graphical interface, useful for development work on the website.
326
348
 
349
+ ## Create a parameter file
350
+
351
+ Sometimes it is easier to manually edit a parameter file than to use the web interface or interactive commandline wizard
352
+ provided by `nf-core launch`, for example when running a pipeline with many options on a remote server without a graphical interface.
353
+
354
+ You can create a parameter file with all parameters of a pipeline with the `nf-core create-params-file` command.
355
+ This file can then be passed to `nextflow` with the `-params-file` flag.
356
+
357
+ This command takes one argument - either the name of a nf-core pipeline which will be pulled automatically,
358
+ or the path to a directory containing a Nextflow pipeline _(can be any pipeline, doesn't have to be nf-core)_.
359
+
360
+ The generated YAML file contains all parameters set to the pipeline default value along with their description in comments.
361
+ This template can then be used by uncommenting and modifying the value of parameters you want to pass to a pipline run.
362
+
363
+ Hidden options are not included by default, but can be included using the `-x`/`--show-hidden` flag.
364
+
327
365
  ## Downloading pipelines for offline use
328
366
 
329
367
  Sometimes you may need to run an nf-core pipeline on a server or HPC system that has no internet connection.
@@ -356,14 +394,16 @@ You can run the pipeline by simply providing the directory path for the `workflo
356
394
  nextflow run /path/to/download/nf-core-rnaseq-dev/workflow/ --input mydata.csv --outdir results # usual parameters here
357
395
  ```
358
396
 
359
- > Note that if you downloaded Singularity container images, you will need to use `-profile singularity` or have it enabled in your config file.
397
+ > [!NOTE]
398
+ > If you downloaded Singularity container images, you will need to use `-profile singularity` or have it enabled in your config file.
360
399
 
361
400
  ### Downloaded nf-core configs
362
401
 
363
402
  The pipeline files are automatically updated (`params.custom_config_base` is set to `../configs`), so that the local copy of institutional configs are available when running the pipeline.
364
403
  So using `-profile <NAME>` should work if available within [nf-core/configs](https://github.com/nf-core/configs).
365
404
 
366
- > ⚠️ This option is not available when downloading a pipeline for use with [Nextflow Tower](#adapting-downloads-to-nextflow-tower) because the application manages all configurations separately.
405
+ > [!WARNING]
406
+ > This option is not available when downloading a pipeline for use with [Nextflow Tower](#adapting-downloads-to-nextflow-tower) because the application manages all configurations separately.
367
407
 
368
408
  ### Downloading Apptainer containers
369
409
 
@@ -421,14 +461,16 @@ If the download speeds are much slower than your internet connection is capable
421
461
 
422
462
  Subsequently, the `*.git` folder can be moved to it's final destination and linked with a pipeline in _Tower_ using the `file:/` prefix.
423
463
 
424
- > 💡 Also without access to Tower, pipelines downloaded with the `--tower` flag can be run: `nextflow run -r 2.5 file:/path/to/pipelinedownload.git`. Downloads in this format allow you to include multiple revisions of a pipeline in a single file, but require that the revision (e.g. `-r 2.5`) is always explicitly specified.
464
+ > [!TIP]
465
+ > Also without access to Tower, pipelines downloaded with the `--tower` flag can be run if the _absolute_ path is specified: `nextflow run -r 2.5 file:/path/to/pipelinedownload.git`. Downloads in this format allow you to include multiple revisions of a pipeline in a single file, but require that the revision (e.g. `-r 2.5`) is always explicitly specified.
425
466
 
426
467
  ## Pipeline software licences
427
468
 
428
469
  Sometimes it's useful to see the software licences of the tools used in a pipeline.
429
470
  You can use the `licences` subcommand to fetch and print the software licence from each conda / PyPI package used in an nf-core pipeline.
430
471
 
431
- > ⚠️ This command does not currently work for newer DSL2 pipelines. This will hopefully be addressed [soon](https://github.com/nf-core/tools/issues/1155).
472
+ > [!WARNING]
473
+ > This command does not currently work for newer DSL2 pipelines. This will hopefully be addressed [soon](https://github.com/nf-core/tools/issues/1155).
432
474
 
433
475
  <!-- RICH-CODEX
434
476
  timeout: 10
@@ -456,6 +498,7 @@ You can then continue to edit, commit and push normally as you build your pipeli
456
498
 
457
499
  Please see the [nf-core documentation](https://nf-co.re/developers/adding_pipelines) for a full walkthrough of how to create a new nf-core workflow.
458
500
 
501
+ > [!TIP]
459
502
  > As the log output says, remember to come and discuss your idea for a pipeline as early as possible!
460
503
  > See the [documentation](https://nf-co.re/developers/adding_pipelines#join-the-community) for instructions.
461
504
 
@@ -516,7 +559,7 @@ Each test result name on the left is a terminal hyperlink.
516
559
  In most terminals you can <kbd>ctrl</kbd> + <kbd>click</kbd> ( <kbd>cmd</kbd> + <kbd>click</kbd>) these
517
560
  links to open documentation specific to this test in your browser.
518
561
 
519
- Alternatively visit <https://nf-co.re/tools-docs/lint_tests/index.html> and find your test to read more.
562
+ Alternatively visit <https://nf-co.re/tools/docs/latest/pipeline_lint_tests/index.html> and find your test to read more.
520
563
 
521
564
  ### Linting config
522
565
 
@@ -928,20 +971,6 @@ fake_command: nf-core modules create fastqc --author @nf-core-bot --label proce
928
971
 
929
972
  ![`cd modules && nf-core modules create fastqc --author @nf-core-bot --label process_low --meta --force`](docs/images/nf-core-modules-create.svg)
930
973
 
931
- ### Create a module test config file
932
-
933
- All modules on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data.
934
- To help developers build new modules, the `nf-core modules create-test-yml` command automates the creation of the yaml file required to document the output file `md5sum` and other information generated by the testing.
935
- After you have written a minimal Nextflow script to test your module `tests/modules/<tool>/<subtool>/main.nf`, this command will run the tests for you and create the `tests/modules/<tool>/<subtool>/test.yml` file.
936
-
937
- <!-- RICH-CODEX
938
- working_dir: tmp/modules
939
- extra_env:
940
- PROFILE: 'conda'
941
- -->
942
-
943
- ![`nf-core modules create-test-yml fastqc --no-prompts --force`](docs/images/nf-core-modules-create-test.svg)
944
-
945
974
  ### Check a module against nf-core guidelines
946
975
 
947
976
  Run the `nf-core modules lint` command to check modules in the current working directory (pipeline or nf-core/modules clone) against nf-core guidelines.
@@ -955,13 +984,12 @@ before_command: sed 's/1.13a/1.10/g' modules/multiqc/main.nf > modules/multiqc/m
955
984
 
956
985
  ![`nf-core modules lint multiqc`](docs/images/nf-core-modules-lint.svg)
957
986
 
958
- ### Run the tests for a module using pytest
987
+ ### Create a test for a module
959
988
 
960
- To run unit tests of a module that you have installed or the test created by the command [`nf-core modules create-test-yml`](#create-a-module-test-config-file), you can use `nf-core modules test` command. This command runs the tests specified in `modules/tests/software/<tool>/<subtool>/test.yml` file using [pytest](https://pytest-workflow.readthedocs.io/en/stable/).
989
+ All modules on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data. We use [nf-test](https://code.askimed.com/nf-test/) as our testing framework.
990
+ Each module comes already with a template for the test file in `test/main.nf.test`. Replace the placeholder code in that file with your specific input, output and proces. In order to generate the corresponding snapshot after writing your test, you can use the `nf-core modules test` command. This command will run `nf-test test` twice, to also check for snapshot stability, i.e. that the same snapshot is generated on multiple runs.
961
991
 
962
- > This command uses the pytest argument `--git-aware` to avoid copying the whole `.git` directory and files ignored by `git`. This means that it will only include files listed by `git ls-files`. Remember to **commit your changes** after adding a new module to add the new files to your git index.
963
-
964
- You can specify the module name in the form TOOL/SUBTOOL in command line or provide it later by prompts.
992
+ You can specify the module name in the form TOOL/SUBTOOL in the command or provide it later through interactive prompts.
965
993
 
966
994
  <!-- RICH-CODEX
967
995
  working_dir: tmp/modules
@@ -970,7 +998,15 @@ extra_env:
970
998
  PROFILE: 'conda'
971
999
  -->
972
1000
 
973
- ![`nf-core modules test samtools/view --no-prompts`](docs/images/nf-core-modules-test.svg)
1001
+ ![`nf-core modules test fastqc --no-prompts --force`](docs/images/nf-core-modules-test.svg)
1002
+
1003
+ In case you changed something in the test and want to update the snapshot, run
1004
+
1005
+ ```bash
1006
+ nf-core modules test --update
1007
+ ```
1008
+
1009
+ If you want to run the test only once without checking for snapshot stability, you can use the `--once` flag.
974
1010
 
975
1011
  ### Bump bioconda and container versions of modules in
976
1012
 
@@ -1200,36 +1236,43 @@ fake_command: nf-core subworkflows create bam_stats_samtools --author @nf-core-b
1200
1236
 
1201
1237
  ![`nf-core subworkflows create bam_stats_samtools --author @nf-core-bot --force`](docs/images/nf-core-subworkflows-create.svg)
1202
1238
 
1203
- ### Create a subworkflow test config file
1239
+ ### Create a test for a subworkflow
1204
1240
 
1205
- All subworkflows on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data.
1206
- To help developers build new subworkflows, the `nf-core subworkflows create-test-yml` command automates the creation of the yaml file required to document the output file `md5sum` and other information generated by the testing.
1207
- After you have written a minimal Nextflow script to test your subworkflow in `/tests/subworkflow/<subworkflow_name>/main.nf`, this command will run the tests for you and create the `/tests/subworkflow/<tool>/<subtool>/test.yml` file.
1241
+ All subworkflows on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data. We use [nf-test](https://code.askimed.com/nf-test/) as our testing framework.
1242
+ Each subworkflow comes already with a template for the test file in `test/main.nf.test`. Replace the placeholder code in that file with your specific input, output and proces. In order to generate the corresponding snapshot after writing your test, you can use the `nf-core subworkflows test` command. This command will run `nf-test test` twice, to also check for snapshot stability, i.e. that the same snapshot is generated on multiple runs.
1243
+
1244
+ You can specify the subworkflow name in the command or provide it later through interactive prompts.
1208
1245
 
1209
1246
  <!-- RICH-CODEX
1210
1247
  working_dir: tmp/modules
1248
+ timeout: 30
1211
1249
  extra_env:
1212
1250
  PROFILE: 'conda'
1213
1251
  -->
1214
1252
 
1215
- ![`nf-core subworkflows create-test-yml bam_stats_samtools --no-prompts --force`](docs/images/nf-core-subworkflows-create-test.svg)
1253
+ ![`nf-core subworkflows test bam_rseqc --no-prompts`](docs/images/nf-core-subworkflows-test.svg)
1254
+
1255
+ In case you changed something in the test and want to update the snapshot, run
1216
1256
 
1217
- ### Run the tests for a subworkflow using pytest
1257
+ ```bash
1258
+ nf-core subworkflows test --update
1259
+ ```
1218
1260
 
1219
- To run unit tests of a subworkflow that you have installed or the test created by the command [`nf-core subworkflow create-test-yml`](#create-a-subworkflow-test-config-file), you can use `nf-core subworkflows test` command. This command runs the tests specified in `tests/subworkflows/<subworkflow_name>/test.yml` file using [pytest](https://pytest-workflow.readthedocs.io/en/stable/).
1261
+ If you want to run the test only once without checking for snapshot stability, you can use the `--once` flag.
1220
1262
 
1221
- > This command uses the pytest argument `--git-aware` to avoid copying the whole `.git` directory and files ignored by `git`. This means that it will only include files listed by `git ls-files`. Remember to **commit your changes** after adding a new subworkflow to add the new files to your git index.
1263
+ ### Check a subworkflow against nf-core guidelines
1222
1264
 
1223
- You can specify the subworkflow name in the form TOOL/SUBTOOL in command line or provide it later by prompts.
1265
+ Run the `nf-core subworkflows lint` command to check subworkflows in the current working directory (a pipeline or a clone of nf-core/modules) against nf-core guidelines.
1266
+
1267
+ Use the `--all` flag to run linting on all subworkflows found. Use `--dir <pipeline_dir>` to specify a different directory than the current working directory.
1224
1268
 
1225
1269
  <!-- RICH-CODEX
1226
1270
  working_dir: tmp/modules
1227
- timeout: 30
1228
1271
  extra_env:
1229
1272
  PROFILE: 'conda'
1230
1273
  -->
1231
1274
 
1232
- ![`nf-core subworkflows test bam_rseqc --no-prompts`](docs/images/nf-core-subworkflows-test.svg)
1275
+ ![`nf-core subworkflows lint bam_stats_samtools`](docs/images/nf-core-subworkflows-lint.svg)
1233
1276
 
1234
1277
  ## Citation
1235
1278
 
@@ -20,6 +20,7 @@ A python package with helper tools for the nf-core community.
20
20
  - [`nf-core` tools update](#update-tools)
21
21
  - [`nf-core list` - List available pipelines](#listing-pipelines)
22
22
  - [`nf-core launch` - Run a pipeline with interactive parameter prompts](#launch-a-pipeline)
23
+ - [`nf-core create-params-file` - Create a parameter file](#create-a-parameter-file)
23
24
  - [`nf-core download` - Download a pipeline for offline use](#downloading-pipelines-for-offline-use)
24
25
  - [`nf-core licences` - List software licences in a pipeline](#pipeline-software-licences)
25
26
  - [`nf-core create` - Create a new pipeline with the nf-core template](#creating-a-new-pipeline)
@@ -38,7 +39,6 @@ A python package with helper tools for the nf-core community.
38
39
  - [`modules remove` - Remove a module from a pipeline](#remove-a-module-from-a-pipeline)
39
40
  - [`modules patch` - Create a patch file for a module](#create-a-patch-file-for-a-module)
40
41
  - [`modules create` - Create a module from the template](#create-a-new-module)
41
- - [`modules create-test-yml` - Create the `test.yml` file for a module](#create-a-module-test-config-file)
42
42
  - [`modules lint` - Check a module against nf-core guidelines](#check-a-module-against-nf-core-guidelines)
43
43
  - [`modules test` - Run the tests for a module](#run-the-tests-for-a-module-using-pytest)
44
44
  - [`modules bump-versions` - Bump software versions of modules](#bump-bioconda-and-container-versions-of-modules-in)
@@ -52,12 +52,12 @@ A python package with helper tools for the nf-core community.
52
52
  - [`subworkflows update` - Update subworkflows in a pipeline](#update-subworkflows-in-a-pipeline)
53
53
  - [`subworkflows remove` - Remove a subworkflow from a pipeline](#remove-a-subworkflow-from-a-pipeline)
54
54
  - [`subworkflows create` - Create a subworkflow from the template](#create-a-new-subworkflow)
55
- - [`subworkflows create-test-yml` - Create the `test.yml` file for a subworkflow](#create-a-subworkflow-test-config-file)
55
+ - [`subworkflows lint` - Check a subworkflow against nf-core guidelines](#check-a-subworkflow-against-nf-core-guidelines)
56
56
  - [`subworkflows test` - Run the tests for a subworkflow](#run-the-tests-for-a-subworkflow-using-pytest)
57
57
  - [Citation](#citation)
58
58
 
59
59
  The nf-core tools package is written in Python and can be imported and used within other packages.
60
- For documentation of the internal Python functions, please refer to the [Tools Python API docs](https://nf-co.re/tools-docs/).
60
+ For documentation of the internal Python functions, please refer to the [Tools Python API docs](https://nf-co.re/tools/docs/).
61
61
 
62
62
  ## Installation
63
63
 
@@ -76,7 +76,7 @@ conda install nf-core
76
76
  Alternatively, you can create a new environment with both nf-core/tools and nextflow:
77
77
 
78
78
  ```bash
79
- conda create --name nf-core python=3.8 nf-core nextflow
79
+ conda create --name nf-core python=3.11 nf-core nextflow
80
80
  conda activate nf-core
81
81
  ```
82
82
 
@@ -186,7 +186,7 @@ for wf in wfs.remote_workflows:
186
186
  print(wf.full_name)
187
187
  ```
188
188
 
189
- Please see [https://nf-co.re/tools-docs/](https://nf-co.re/tools-docs/) for the function documentation.
189
+ Please see [https://nf-co.re/tools/docs/](https://nf-co.re/tools/docs/) for the function documentation.
190
190
 
191
191
  ### Automatic version check
192
192
 
@@ -225,10 +225,12 @@ Auto-completion for the `nf-core` command is available for bash, zsh and fish. T
225
225
 
226
226
  After a restart of the shell session you should have auto-completion for the `nf-core` command and all its sub-commands and options.
227
227
 
228
- > **NB:** The added line will run the command `nf-core` (which will also slow down startup time of your shell). You should therefore either have the nf-core/tools installed globally.
228
+ > [!NOTE]
229
+ > The added line will run the command `nf-core` (which will also slow down startup time of your shell). You should therefore either have the nf-core/tools installed globally.
229
230
  > You can also wrap it inside `if type nf-core > /dev/null; then ` \<YOUR EVAL CODE LINE\> `fi` for bash and zsh or `if command -v nf-core &> /dev/null eval (env _NF_CORE_COMPLETE=fish_source nf-core) end` for fish. You need to then source the config in your environment for the completions to be activated.
230
231
 
231
- > **NB:** If you see the error `command not found compdef` , be sure that your config file contains the line `autoload -Uz compinit && compinit` before the eval line.
232
+ > [!TIP]
233
+ > If you see the error `command not found compdef` , be sure that your config file contains the line `autoload -Uz compinit && compinit` before the eval line.
232
234
 
233
235
  ## Listing pipelines
234
236
 
@@ -311,6 +313,22 @@ Do you want to run this command now? [y/n]:
311
313
  - `--url`
312
314
  - Change the URL used for the graphical interface, useful for development work on the website.
313
315
 
316
+ ## Create a parameter file
317
+
318
+ Sometimes it is easier to manually edit a parameter file than to use the web interface or interactive commandline wizard
319
+ provided by `nf-core launch`, for example when running a pipeline with many options on a remote server without a graphical interface.
320
+
321
+ You can create a parameter file with all parameters of a pipeline with the `nf-core create-params-file` command.
322
+ This file can then be passed to `nextflow` with the `-params-file` flag.
323
+
324
+ This command takes one argument - either the name of a nf-core pipeline which will be pulled automatically,
325
+ or the path to a directory containing a Nextflow pipeline _(can be any pipeline, doesn't have to be nf-core)_.
326
+
327
+ The generated YAML file contains all parameters set to the pipeline default value along with their description in comments.
328
+ This template can then be used by uncommenting and modifying the value of parameters you want to pass to a pipline run.
329
+
330
+ Hidden options are not included by default, but can be included using the `-x`/`--show-hidden` flag.
331
+
314
332
  ## Downloading pipelines for offline use
315
333
 
316
334
  Sometimes you may need to run an nf-core pipeline on a server or HPC system that has no internet connection.
@@ -343,14 +361,16 @@ You can run the pipeline by simply providing the directory path for the `workflo
343
361
  nextflow run /path/to/download/nf-core-rnaseq-dev/workflow/ --input mydata.csv --outdir results # usual parameters here
344
362
  ```
345
363
 
346
- > Note that if you downloaded Singularity container images, you will need to use `-profile singularity` or have it enabled in your config file.
364
+ > [!NOTE]
365
+ > If you downloaded Singularity container images, you will need to use `-profile singularity` or have it enabled in your config file.
347
366
 
348
367
  ### Downloaded nf-core configs
349
368
 
350
369
  The pipeline files are automatically updated (`params.custom_config_base` is set to `../configs`), so that the local copy of institutional configs are available when running the pipeline.
351
370
  So using `-profile <NAME>` should work if available within [nf-core/configs](https://github.com/nf-core/configs).
352
371
 
353
- > ⚠️ This option is not available when downloading a pipeline for use with [Nextflow Tower](#adapting-downloads-to-nextflow-tower) because the application manages all configurations separately.
372
+ > [!WARNING]
373
+ > This option is not available when downloading a pipeline for use with [Nextflow Tower](#adapting-downloads-to-nextflow-tower) because the application manages all configurations separately.
354
374
 
355
375
  ### Downloading Apptainer containers
356
376
 
@@ -408,14 +428,16 @@ If the download speeds are much slower than your internet connection is capable
408
428
 
409
429
  Subsequently, the `*.git` folder can be moved to it's final destination and linked with a pipeline in _Tower_ using the `file:/` prefix.
410
430
 
411
- > 💡 Also without access to Tower, pipelines downloaded with the `--tower` flag can be run: `nextflow run -r 2.5 file:/path/to/pipelinedownload.git`. Downloads in this format allow you to include multiple revisions of a pipeline in a single file, but require that the revision (e.g. `-r 2.5`) is always explicitly specified.
431
+ > [!TIP]
432
+ > Also without access to Tower, pipelines downloaded with the `--tower` flag can be run if the _absolute_ path is specified: `nextflow run -r 2.5 file:/path/to/pipelinedownload.git`. Downloads in this format allow you to include multiple revisions of a pipeline in a single file, but require that the revision (e.g. `-r 2.5`) is always explicitly specified.
412
433
 
413
434
  ## Pipeline software licences
414
435
 
415
436
  Sometimes it's useful to see the software licences of the tools used in a pipeline.
416
437
  You can use the `licences` subcommand to fetch and print the software licence from each conda / PyPI package used in an nf-core pipeline.
417
438
 
418
- > ⚠️ This command does not currently work for newer DSL2 pipelines. This will hopefully be addressed [soon](https://github.com/nf-core/tools/issues/1155).
439
+ > [!WARNING]
440
+ > This command does not currently work for newer DSL2 pipelines. This will hopefully be addressed [soon](https://github.com/nf-core/tools/issues/1155).
419
441
 
420
442
  <!-- RICH-CODEX
421
443
  timeout: 10
@@ -443,6 +465,7 @@ You can then continue to edit, commit and push normally as you build your pipeli
443
465
 
444
466
  Please see the [nf-core documentation](https://nf-co.re/developers/adding_pipelines) for a full walkthrough of how to create a new nf-core workflow.
445
467
 
468
+ > [!TIP]
446
469
  > As the log output says, remember to come and discuss your idea for a pipeline as early as possible!
447
470
  > See the [documentation](https://nf-co.re/developers/adding_pipelines#join-the-community) for instructions.
448
471
 
@@ -503,7 +526,7 @@ Each test result name on the left is a terminal hyperlink.
503
526
  In most terminals you can <kbd>ctrl</kbd> + <kbd>click</kbd> ( <kbd>cmd</kbd> + <kbd>click</kbd>) these
504
527
  links to open documentation specific to this test in your browser.
505
528
 
506
- Alternatively visit <https://nf-co.re/tools-docs/lint_tests/index.html> and find your test to read more.
529
+ Alternatively visit <https://nf-co.re/tools/docs/latest/pipeline_lint_tests/index.html> and find your test to read more.
507
530
 
508
531
  ### Linting config
509
532
 
@@ -915,20 +938,6 @@ fake_command: nf-core modules create fastqc --author @nf-core-bot --label proce
915
938
 
916
939
  ![`cd modules && nf-core modules create fastqc --author @nf-core-bot --label process_low --meta --force`](docs/images/nf-core-modules-create.svg)
917
940
 
918
- ### Create a module test config file
919
-
920
- All modules on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data.
921
- To help developers build new modules, the `nf-core modules create-test-yml` command automates the creation of the yaml file required to document the output file `md5sum` and other information generated by the testing.
922
- After you have written a minimal Nextflow script to test your module `tests/modules/<tool>/<subtool>/main.nf`, this command will run the tests for you and create the `tests/modules/<tool>/<subtool>/test.yml` file.
923
-
924
- <!-- RICH-CODEX
925
- working_dir: tmp/modules
926
- extra_env:
927
- PROFILE: 'conda'
928
- -->
929
-
930
- ![`nf-core modules create-test-yml fastqc --no-prompts --force`](docs/images/nf-core-modules-create-test.svg)
931
-
932
941
  ### Check a module against nf-core guidelines
933
942
 
934
943
  Run the `nf-core modules lint` command to check modules in the current working directory (pipeline or nf-core/modules clone) against nf-core guidelines.
@@ -942,13 +951,12 @@ before_command: sed 's/1.13a/1.10/g' modules/multiqc/main.nf > modules/multiqc/m
942
951
 
943
952
  ![`nf-core modules lint multiqc`](docs/images/nf-core-modules-lint.svg)
944
953
 
945
- ### Run the tests for a module using pytest
954
+ ### Create a test for a module
946
955
 
947
- To run unit tests of a module that you have installed or the test created by the command [`nf-core modules create-test-yml`](#create-a-module-test-config-file), you can use `nf-core modules test` command. This command runs the tests specified in `modules/tests/software/<tool>/<subtool>/test.yml` file using [pytest](https://pytest-workflow.readthedocs.io/en/stable/).
956
+ All modules on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data. We use [nf-test](https://code.askimed.com/nf-test/) as our testing framework.
957
+ Each module comes already with a template for the test file in `test/main.nf.test`. Replace the placeholder code in that file with your specific input, output and proces. In order to generate the corresponding snapshot after writing your test, you can use the `nf-core modules test` command. This command will run `nf-test test` twice, to also check for snapshot stability, i.e. that the same snapshot is generated on multiple runs.
948
958
 
949
- > This command uses the pytest argument `--git-aware` to avoid copying the whole `.git` directory and files ignored by `git`. This means that it will only include files listed by `git ls-files`. Remember to **commit your changes** after adding a new module to add the new files to your git index.
950
-
951
- You can specify the module name in the form TOOL/SUBTOOL in command line or provide it later by prompts.
959
+ You can specify the module name in the form TOOL/SUBTOOL in the command or provide it later through interactive prompts.
952
960
 
953
961
  <!-- RICH-CODEX
954
962
  working_dir: tmp/modules
@@ -957,7 +965,15 @@ extra_env:
957
965
  PROFILE: 'conda'
958
966
  -->
959
967
 
960
- ![`nf-core modules test samtools/view --no-prompts`](docs/images/nf-core-modules-test.svg)
968
+ ![`nf-core modules test fastqc --no-prompts --force`](docs/images/nf-core-modules-test.svg)
969
+
970
+ In case you changed something in the test and want to update the snapshot, run
971
+
972
+ ```bash
973
+ nf-core modules test --update
974
+ ```
975
+
976
+ If you want to run the test only once without checking for snapshot stability, you can use the `--once` flag.
961
977
 
962
978
  ### Bump bioconda and container versions of modules in
963
979
 
@@ -1187,36 +1203,43 @@ fake_command: nf-core subworkflows create bam_stats_samtools --author @nf-core-b
1187
1203
 
1188
1204
  ![`nf-core subworkflows create bam_stats_samtools --author @nf-core-bot --force`](docs/images/nf-core-subworkflows-create.svg)
1189
1205
 
1190
- ### Create a subworkflow test config file
1206
+ ### Create a test for a subworkflow
1191
1207
 
1192
- All subworkflows on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data.
1193
- To help developers build new subworkflows, the `nf-core subworkflows create-test-yml` command automates the creation of the yaml file required to document the output file `md5sum` and other information generated by the testing.
1194
- After you have written a minimal Nextflow script to test your subworkflow in `/tests/subworkflow/<subworkflow_name>/main.nf`, this command will run the tests for you and create the `/tests/subworkflow/<tool>/<subtool>/test.yml` file.
1208
+ All subworkflows on [nf-core/modules](https://github.com/nf-core/modules) have a strict requirement of being unit tested using minimal test data. We use [nf-test](https://code.askimed.com/nf-test/) as our testing framework.
1209
+ Each subworkflow comes already with a template for the test file in `test/main.nf.test`. Replace the placeholder code in that file with your specific input, output and proces. In order to generate the corresponding snapshot after writing your test, you can use the `nf-core subworkflows test` command. This command will run `nf-test test` twice, to also check for snapshot stability, i.e. that the same snapshot is generated on multiple runs.
1210
+
1211
+ You can specify the subworkflow name in the command or provide it later through interactive prompts.
1195
1212
 
1196
1213
  <!-- RICH-CODEX
1197
1214
  working_dir: tmp/modules
1215
+ timeout: 30
1198
1216
  extra_env:
1199
1217
  PROFILE: 'conda'
1200
1218
  -->
1201
1219
 
1202
- ![`nf-core subworkflows create-test-yml bam_stats_samtools --no-prompts --force`](docs/images/nf-core-subworkflows-create-test.svg)
1220
+ ![`nf-core subworkflows test bam_rseqc --no-prompts`](docs/images/nf-core-subworkflows-test.svg)
1221
+
1222
+ In case you changed something in the test and want to update the snapshot, run
1203
1223
 
1204
- ### Run the tests for a subworkflow using pytest
1224
+ ```bash
1225
+ nf-core subworkflows test --update
1226
+ ```
1205
1227
 
1206
- To run unit tests of a subworkflow that you have installed or the test created by the command [`nf-core subworkflow create-test-yml`](#create-a-subworkflow-test-config-file), you can use `nf-core subworkflows test` command. This command runs the tests specified in `tests/subworkflows/<subworkflow_name>/test.yml` file using [pytest](https://pytest-workflow.readthedocs.io/en/stable/).
1228
+ If you want to run the test only once without checking for snapshot stability, you can use the `--once` flag.
1207
1229
 
1208
- > This command uses the pytest argument `--git-aware` to avoid copying the whole `.git` directory and files ignored by `git`. This means that it will only include files listed by `git ls-files`. Remember to **commit your changes** after adding a new subworkflow to add the new files to your git index.
1230
+ ### Check a subworkflow against nf-core guidelines
1209
1231
 
1210
- You can specify the subworkflow name in the form TOOL/SUBTOOL in command line or provide it later by prompts.
1232
+ Run the `nf-core subworkflows lint` command to check subworkflows in the current working directory (a pipeline or a clone of nf-core/modules) against nf-core guidelines.
1233
+
1234
+ Use the `--all` flag to run linting on all subworkflows found. Use `--dir <pipeline_dir>` to specify a different directory than the current working directory.
1211
1235
 
1212
1236
  <!-- RICH-CODEX
1213
1237
  working_dir: tmp/modules
1214
- timeout: 30
1215
1238
  extra_env:
1216
1239
  PROFILE: 'conda'
1217
1240
  -->
1218
1241
 
1219
- ![`nf-core subworkflows test bam_rseqc --no-prompts`](docs/images/nf-core-subworkflows-test.svg)
1242
+ ![`nf-core subworkflows lint bam_stats_samtools`](docs/images/nf-core-subworkflows-lint.svg)
1220
1243
 
1221
1244
  ## Citation
1222
1245