From b04d2609f876303cb1c325aff67d15c28247624a Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Tue, 13 Aug 2019 13:40:50 +0200 Subject: [PATCH 1/4] Guidelines: Expand section on size and specificity --- markdown/developers/guidelines.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/markdown/developers/guidelines.md b/markdown/developers/guidelines.md index ca2cd85248..c3937e5727 100644 --- a/markdown/developers/guidelines.md +++ b/markdown/developers/guidelines.md @@ -8,12 +8,22 @@ subtitle: Guidelines and requirements for nf-core pipelines. If you're thinking of adding a new pipeline to nf-core, please read the documentation about [adding a new pipeline](/developers/adding_pipelines). -## Workflow size +## Workflow size and specificity We aim to have a _"not too big, not too small"_ rule with nf-core pipelines. -This is a little fuzzy, but as a rule of thumb workflows should contain at +This is deliberately fuzzy, but as a rule of thumb workflows should contain at least three different processes and be simple enough to run that a new user can realistically run the pipeline after spending ten minutes reading the docs. +Pipelines should be general enough to be of use to multiple groups and research +projects, but comprehensive enough to cover most steps in a typical analysis. + +Different pipelines should not overlap one another too much. For example, having +multiple choices for tools and parameters to do the same tasks should be contained +in a single pipeline with varying parameters. However, if the purpose of the +pipeline tasks and results are different, then this should be a separate pipeline. + +The above instructions are subject to interpretation and specific scenarios. +If in doubt, please ask the community for feedback on [Slack](https://nf-co.re/join/slack). ## Minimum requirements From ca128c316551206bd5b5ff4799037812a15dd0f4 Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Tue, 13 Aug 2019 13:45:50 +0200 Subject: [PATCH 2/4] Guidelines: Elaboration and examples for common usage --- markdown/developers/guidelines.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/markdown/developers/guidelines.md b/markdown/developers/guidelines.md index c3937e5727..fc8afb78ea 100644 --- a/markdown/developers/guidelines.md +++ b/markdown/developers/guidelines.md @@ -35,7 +35,10 @@ All nf-core pipelines _must_ adhere to the following: * Continuous integration testing * Stable release tags * Common pipeline structure and usage -* Run in a single command (not multiple sub-workflows) + * Standard filenames as supplied in the template, such as `main.nf` and `docs/` + * Use the same command line option names as other pipelines for comparable options, _e.g._ `--reads` and `--genome` +* Run in a single command + * _i.e._ Not multiple separate workflows in a single repository * It is ok to have workflows that use the output of _another_ nf-core pipeline as input * Excellent documentation and GitHub repository keywords * A responsible contact person / GitHub username From 88d157ecdaf23f1c0c856d873747476e35549a2e Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Tue, 13 Aug 2019 13:56:37 +0200 Subject: [PATCH 3/4] Primary, not typical --- markdown/developers/guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/developers/guidelines.md b/markdown/developers/guidelines.md index fc8afb78ea..f27ef87c85 100644 --- a/markdown/developers/guidelines.md +++ b/markdown/developers/guidelines.md @@ -15,7 +15,7 @@ This is deliberately fuzzy, but as a rule of thumb workflows should contain at least three different processes and be simple enough to run that a new user can realistically run the pipeline after spending ten minutes reading the docs. Pipelines should be general enough to be of use to multiple groups and research -projects, but comprehensive enough to cover most steps in a typical analysis. +projects, but comprehensive enough to cover most steps in a primary analysis. Different pipelines should not overlap one another too much. For example, having multiple choices for tools and parameters to do the same tasks should be contained From 9a3c10c58600b21f0eaf4cae7f9a7e655e404ba8 Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Tue, 13 Aug 2019 17:28:53 +0200 Subject: [PATCH 4/4] Update markdown/developers/guidelines.md Co-Authored-By: Harshil Patel --- markdown/developers/guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/developers/guidelines.md b/markdown/developers/guidelines.md index f27ef87c85..f22844c38e 100644 --- a/markdown/developers/guidelines.md +++ b/markdown/developers/guidelines.md @@ -12,7 +12,7 @@ about [adding a new pipeline](/developers/adding_pipelines). We aim to have a _"not too big, not too small"_ rule with nf-core pipelines. This is deliberately fuzzy, but as a rule of thumb workflows should contain at -least three different processes and be simple enough to run that a new user +least three processes and be simple enough to run that a new user can realistically run the pipeline after spending ten minutes reading the docs. Pipelines should be general enough to be of use to multiple groups and research projects, but comprehensive enough to cover most steps in a primary analysis.