From 99961bedab1518f592668727a4d692c4ddf3c336 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Dec 2022 11:44:18 +0000 Subject: [PATCH 01/12] Generate new screengrabs with rich-codex --- docs/images/nf-core-bump-version.svg | 88 ++-- docs/images/nf-core-create.svg | 126 ++--- docs/images/nf-core-download.svg | 86 ++-- docs/images/nf-core-launch-rnaseq.svg | 82 ++-- docs/images/nf-core-licences.svg | 130 +++--- docs/images/nf-core-lint.svg | 182 +++----- docs/images/nf-core-list-rna.svg | 118 ++--- docs/images/nf-core-list-stars.svg | 104 ++--- docs/images/nf-core-list.svg | 108 ++--- docs/images/nf-core-modules-bump-version.svg | 106 ++--- docs/images/nf-core-modules-create-test.svg | 98 ++-- docs/images/nf-core-modules-create.svg | 84 ++-- docs/images/nf-core-modules-info.svg | 206 ++++----- docs/images/nf-core-modules-install.svg | 86 ++-- docs/images/nf-core-modules-lint.svg | 112 ++--- docs/images/nf-core-modules-list-local.svg | 130 +++--- docs/images/nf-core-modules-list-remote.svg | 132 +++--- docs/images/nf-core-modules-mulled.svg | 78 ++-- docs/images/nf-core-modules-patch.svg | 72 +-- docs/images/nf-core-modules-remove.svg | 70 +-- docs/images/nf-core-modules-test.svg | 74 +-- docs/images/nf-core-modules-update.svg | 86 ++-- docs/images/nf-core-schema-build.svg | 84 ++-- docs/images/nf-core-schema-lint.svg | 78 ++-- docs/images/nf-core-schema-validate.svg | 82 ++-- .../nf-core-subworkflows-create-test.svg | 128 ++--- docs/images/nf-core-subworkflows-create.svg | 108 ++--- docs/images/nf-core-subworkflows-info.svg | 436 +++++++++--------- docs/images/nf-core-subworkflows-install.svg | 128 ++--- .../nf-core-subworkflows-list-local.svg | 130 +++--- .../nf-core-subworkflows-list-remote.svg | 132 +++--- docs/images/nf-core-subworkflows-remove.svg | 128 ++--- docs/images/nf-core-subworkflows-test.svg | 128 ++--- docs/images/nf-core-subworkflows-update.svg | 128 ++--- docs/images/nf-core-sync.svg | 82 ++-- 35 files changed, 2048 insertions(+), 2082 deletions(-) diff --git a/docs/images/nf-core-bump-version.svg b/docs/images/nf-core-bump-version.svg index d63cc442c5..89843856b2 100644 --- a/docs/images/nf-core-bump-version.svg +++ b/docs/images/nf-core-bump-version.svg @@ -19,77 +19,77 @@ font-weight: 700; } - .terminal-2897532537-matrix { + .terminal-2980173434-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2897532537-title { + .terminal-2980173434-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2897532537-r1 { fill: #c5c8c6 } -.terminal-2897532537-r2 { fill: #98a84b } -.terminal-2897532537-r3 { fill: #9a9b99 } -.terminal-2897532537-r4 { fill: #608ab1 } -.terminal-2897532537-r5 { fill: #d0b344 } -.terminal-2897532537-r6 { fill: #cc555a } + .terminal-2980173434-r1 { fill: #c5c8c6 } +.terminal-2980173434-r2 { fill: #98a84b } +.terminal-2980173434-r3 { fill: #9a9b99 } +.terminal-2980173434-r4 { fill: #608ab1 } +.terminal-2980173434-r5 { fill: #d0b344 } +.terminal-2980173434-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -101,26 +101,26 @@ - + - - $ nf-core bump-version 1.1 - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Changing version number from '1.0dev' to '1.1' -INFO     Updated version in 'nextflow.config' - - version         = '1.0dev' - + version = '1.1' - - + + $ nf-core bump-version 1.1 + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Changing version number from '1.0dev' to '1.1' +INFO     Updated version in 'nextflow.config' + - version         = '1.0dev' + + version = '1.1' + + diff --git a/docs/images/nf-core-create.svg b/docs/images/nf-core-create.svg index 78343c2d34..17b28b0b67 100644 --- a/docs/images/nf-core-create.svg +++ b/docs/images/nf-core-create.svg @@ -19,104 +19,104 @@ font-weight: 700; } - .terminal-3886862987-matrix { + .terminal-4135113356-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3886862987-title { + .terminal-4135113356-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3886862987-r1 { fill: #c5c8c6 } -.terminal-3886862987-r2 { fill: #98a84b } -.terminal-3886862987-r3 { fill: #9a9b99 } -.terminal-3886862987-r4 { fill: #608ab1 } -.terminal-3886862987-r5 { fill: #d0b344 } -.terminal-3886862987-r6 { fill: #98729f } -.terminal-3886862987-r7 { fill: #ff2c7a } -.terminal-3886862987-r8 { fill: #98a84b;font-weight: bold } -.terminal-3886862987-r9 { fill: #1984e9;text-decoration: underline; } + .terminal-4135113356-r1 { fill: #c5c8c6 } +.terminal-4135113356-r2 { fill: #98a84b } +.terminal-4135113356-r3 { fill: #9a9b99 } +.terminal-4135113356-r4 { fill: #608ab1 } +.terminal-4135113356-r5 { fill: #d0b344 } +.terminal-4135113356-r6 { fill: #98729f } +.terminal-4135113356-r7 { fill: #ff2c7a } +.terminal-4135113356-r8 { fill: #98a84b;font-weight: bold } +.terminal-4135113356-r9 { fill: #1984e9;text-decoration: underline; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -128,34 +128,34 @@ - + - - $ nf-core create -n nextbigthing -d "This pipeline analyses data from the next big omics technique"  --a "Big Steve" --plain - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Creating new nf-core pipeline: 'nf-core/nextbigthing' -INFO     Initialising pipeline git repository                                                        -INFO     Done. Remember to add a remote and push to GitHub:                                          - cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing - git remote add origin git@github.com:USERNAME/REPO_NAME.git  - git push --all origin                                        -INFO     This will also push your newly created dev branch and the TEMPLATE branch for syncing.      -INFO    !!!!!! IMPORTANT !!!!!! - -If you are interested in adding your pipeline to the nf-core community, -PLEASE COME AND TALK TO US IN THE NF-CORE SLACK BEFORE WRITING ANY CODE! - -Please read: https://nf-co.re/developers/adding_pipelines#join-the-community + + $ nf-core create -n nextbigthing -d "This pipeline analyses data from the next big omics technique"  +-a "Big Steve" --plain + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Creating new nf-core pipeline: 'nf-core/nextbigthing' +INFO     Initialising pipeline git repository                                                        +INFO     Done. Remember to add a remote and push to GitHub:                                          + cd /home/runner/work/tools/tools/tmp/nf-core-nextbigthing + git remote add origin git@github.com:USERNAME/REPO_NAME.git  + git push --all origin                                        +INFO     This will also push your newly created dev branch and the TEMPLATE branch for syncing.      +INFO    !!!!!! IMPORTANT !!!!!! + +If you are interested in adding your pipeline to the nf-core community, +PLEASE COME AND TALK TO US IN THE NF-CORE SLACK BEFORE WRITING ANY CODE! + +Please read: https://nf-co.re/developers/adding_pipelines#join-the-community diff --git a/docs/images/nf-core-download.svg b/docs/images/nf-core-download.svg index 4db5b62de9..d26c6011d5 100644 --- a/docs/images/nf-core-download.svg +++ b/docs/images/nf-core-download.svg @@ -19,76 +19,76 @@ font-weight: 700; } - .terminal-405352606-matrix { + .terminal-512307359-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-405352606-title { + .terminal-512307359-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-405352606-r1 { fill: #c5c8c6 } -.terminal-405352606-r2 { fill: #98a84b } -.terminal-405352606-r3 { fill: #9a9b99 } -.terminal-405352606-r4 { fill: #608ab1 } -.terminal-405352606-r5 { fill: #d0b344 } + .terminal-512307359-r1 { fill: #c5c8c6 } +.terminal-512307359-r2 { fill: #98a84b } +.terminal-512307359-r3 { fill: #9a9b99 } +.terminal-512307359-r4 { fill: #608ab1 } +.terminal-512307359-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -100,26 +100,26 @@ - + - - $ nf-core download rnaseq -r 3.8 --outdir nf-core-rnaseq -x none -c none - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Saving 'nf-core/rnaseq' -          Pipeline revision: '3.8' -          Pull containers: 'none' -          Output directory: 'nf-core-rnaseq' -INFO     Downloading workflow files from GitHub                                                      -INFO     Downloading centralised configs from GitHub                                                 + + $ nf-core download rnaseq -r 3.8 --outdir nf-core-rnaseq -x none -c none + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Saving 'nf-core/rnaseq' +          Pipeline revision: '3.8' +          Pull containers: 'none' +          Output directory: 'nf-core-rnaseq' +INFO     Downloading workflow files from GitHub                                                      +INFO     Downloading centralised configs from GitHub                                                 diff --git a/docs/images/nf-core-launch-rnaseq.svg b/docs/images/nf-core-launch-rnaseq.svg index 52cfc344e2..c36c892e5a 100644 --- a/docs/images/nf-core-launch-rnaseq.svg +++ b/docs/images/nf-core-launch-rnaseq.svg @@ -19,72 +19,72 @@ font-weight: 700; } - .terminal-3090263558-matrix { + .terminal-3166875143-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3090263558-title { + .terminal-3166875143-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3090263558-r1 { fill: #c5c8c6 } -.terminal-3090263558-r2 { fill: #98a84b } -.terminal-3090263558-r3 { fill: #9a9b99 } -.terminal-3090263558-r4 { fill: #608ab1 } -.terminal-3090263558-r5 { fill: #d0b344 } -.terminal-3090263558-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3090263558-r7 { fill: #68a0b3;font-weight: bold } + .terminal-3166875143-r1 { fill: #c5c8c6 } +.terminal-3166875143-r2 { fill: #98a84b } +.terminal-3166875143-r3 { fill: #9a9b99 } +.terminal-3166875143-r4 { fill: #608ab1 } +.terminal-3166875143-r5 { fill: #d0b344 } +.terminal-3166875143-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3166875143-r7 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96,24 +96,24 @@ - + - - $ nf-core launch rnaseq -r 3.8.1 - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     NOTE: This tool ignores any pipeline parameter defaults overwritten by Nextflow config      -         files or profiles                                                                           - -INFO     Downloading workflow: nf-core/rnaseq (3.8.1) + + $ nf-core launch rnaseq -r 3.8.1 + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     NOTE: This tool ignores any pipeline parameter defaults overwritten by Nextflow config      +         files or profiles                                                                           + +INFO     Downloading workflow: nf-core/rnaseq (3.8.1) diff --git a/docs/images/nf-core-licences.svg b/docs/images/nf-core-licences.svg index 38d2266df9..f96e135487 100644 --- a/docs/images/nf-core-licences.svg +++ b/docs/images/nf-core-licences.svg @@ -19,108 +19,108 @@ font-weight: 700; } - .terminal-3614362229-matrix { + .terminal-3773418102-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3614362229-title { + .terminal-3773418102-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3614362229-r1 { fill: #c5c8c6 } -.terminal-3614362229-r2 { fill: #98a84b } -.terminal-3614362229-r3 { fill: #9a9b99 } -.terminal-3614362229-r4 { fill: #608ab1 } -.terminal-3614362229-r5 { fill: #d0b344 } -.terminal-3614362229-r6 { fill: #68a0b3;font-weight: bold } -.terminal-3614362229-r7 { fill: #c5c8c6;font-weight: bold } + .terminal-3773418102-r1 { fill: #c5c8c6 } +.terminal-3773418102-r2 { fill: #98a84b } +.terminal-3773418102-r3 { fill: #9a9b99 } +.terminal-3773418102-r4 { fill: #608ab1 } +.terminal-3773418102-r5 { fill: #d0b344 } +.terminal-3773418102-r6 { fill: #68a0b3;font-weight: bold } +.terminal-3773418102-r7 { fill: #c5c8c6;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -132,36 +132,36 @@ - + - - $ nf-core licences deepvariant - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Fetching licence information for 8 tools                                                    -INFO     Warning: This tool only prints licence information for the software tools packaged using    -         conda.                                                                                      -INFO     The pipeline may use other software and dependencies not described here.                    -┏━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓ -Package NameVersionLicence -┡━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩ -│ lbzip2       │ 2.5     │ GPL v3  │ -│ deepvariant  │ 0.7.0   │ MIT     │ -│ htslib       │ 1.9     │ MIT     │ -│ picard       │ 2.18.7  │ MIT     │ -│ pip          │ 10.0.1  │ MIT     │ -│ samtools     │ 1.9     │ MIT     │ -│ python       │ 2.7.15  │ PSF     │ -│ bzip2        │ 1.0.6   │ bzip2   │ -└──────────────┴─────────┴─────────┘ + + $ nf-core licences deepvariant + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Fetching licence information for 8 tools                                                    +INFO     Warning: This tool only prints licence information for the software tools packaged using    +         conda.                                                                                      +INFO     The pipeline may use other software and dependencies not described here.                    +┏━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓ +Package NameVersionLicence +┡━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩ +│ lbzip2       │ 2.5     │ GPL v3  │ +│ deepvariant  │ 0.7.0   │ MIT     │ +│ htslib       │ 1.9     │ MIT     │ +│ picard       │ 2.18.7  │ MIT     │ +│ pip          │ 10.0.1  │ MIT     │ +│ samtools     │ 1.9     │ MIT     │ +│ python       │ 2.7.15  │ PSF     │ +│ bzip2        │ 1.0.6   │ bzip2   │ +└──────────────┴─────────┴─────────┘ diff --git a/docs/images/nf-core-lint.svg b/docs/images/nf-core-lint.svg index 6ba942292b..d375ae1f11 100644 --- a/docs/images/nf-core-lint.svg +++ b/docs/images/nf-core-lint.svg @@ -1,4 +1,4 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - $ nf-core lint - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Testing pipeline: . - - -╭─[?] 1 Pipeline Test Ignored────────────────────────────────────────────────────────────────────╮ - -pipeline_todos: pipeline_todos - -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ - -╭─[!] 2 Module Test Warnings─────────────────────────────────────────────────────────────────────╮ -                                           ╷                          ╷                            -Module name                              File path               Test message              -╶──────────────────────────────────────────┼──────────────────────────┼──────────────────────────╴ -custom/dumpsoftwareversionsmodules/nf-core/custom/…New version available -fastqcmodules/nf-core/fastqc  New version available -                                           ╵                          ╵                            -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭───────────────────────╮ -LINT RESULTS SUMMARY  -├───────────────────────┤ -[✔] 178 Tests Passed -[?]   1 Test Ignored -[!]   2 Test Warnings -[✗]   0 Tests Failed -╰───────────────────────╯ + + $ nf-core lint + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Testing pipeline: . + + +╭─[?] 1 Pipeline Test Ignored────────────────────────────────────────────────────────────────────╮ + +pipeline_todos: pipeline_todos + +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ + +╭───────────────────────╮ +LINT RESULTS SUMMARY  +├───────────────────────┤ +[✔] 181 Tests Passed +[?]   1 Test Ignored +[!]   0 Test Warnings +[✗]   0 Tests Failed +╰───────────────────────╯ diff --git a/docs/images/nf-core-list-rna.svg b/docs/images/nf-core-list-rna.svg index 40830b3176..e8346c16ca 100644 --- a/docs/images/nf-core-list-rna.svg +++ b/docs/images/nf-core-list-rna.svg @@ -19,99 +19,99 @@ font-weight: 700; } - .terminal-3770022571-matrix { + .terminal-3844799147-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3770022571-title { + .terminal-3844799147-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3770022571-r1 { fill: #c5c8c6 } -.terminal-3770022571-r2 { fill: #98a84b } -.terminal-3770022571-r3 { fill: #9a9b99 } -.terminal-3770022571-r4 { fill: #608ab1 } -.terminal-3770022571-r5 { fill: #d0b344 } -.terminal-3770022571-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3770022571-r7 { fill: #868887 } + .terminal-3844799147-r1 { fill: #c5c8c6 } +.terminal-3844799147-r2 { fill: #98a84b } +.terminal-3844799147-r3 { fill: #9a9b99 } +.terminal-3844799147-r4 { fill: #608ab1 } +.terminal-3844799147-r5 { fill: #d0b344 } +.terminal-3844799147-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3844799147-r7 { fill: #868887 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -123,33 +123,33 @@ - + - - $ nf-core list rna rna-seq - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ smrnaseq             │    44 │          2.1.0 │ 1 months ago │           - │ -                   │ -│ rnaseq               │   538 │            3.9 │ 2 months ago │           - │ -                   │ -│ rnafusion            │    83 │          2.1.0 │ 5 months ago │           - │ -                   │ -│ dualrnaseq           │     8 │          1.0.0 │  2 years ago │           - │ -                   │ -│ circrna              │    24 │            dev │            - │           - │ -                   │ -│ lncpipe              │    23 │            dev │            - │           - │ -                   │ -│ scflow               │    14 │            dev │            - │           - │ -                   │ -│ spatialtranscriptom… │    12 │            dev │            - │           - │ -                   │ -└──────────────────────┴───────┴────────────────┴──────────────┴─────────────┴─────────────────────┘ + + $ nf-core list rna rna-seq + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ smrnaseq             │    44 │          2.1.0 │ 2 months ago │           - │ -                   │ +│ rnaseq               │   542 │            3.9 │ 3 months ago │           - │ -                   │ +│ rnafusion            │    85 │          2.1.0 │ 5 months ago │           - │ -                   │ +│ dualrnaseq           │     8 │          1.0.0 │  2 years ago │           - │ -                   │ +│ circrna              │    23 │            dev │            - │           - │ -                   │ +│ lncpipe              │    23 │            dev │            - │           - │ -                   │ +│ scflow               │    15 │            dev │            - │           - │ -                   │ +│ spatialtranscriptom… │    12 │            dev │            - │           - │ -                   │ +└──────────────────────┴───────┴────────────────┴──────────────┴─────────────┴─────────────────────┘ diff --git a/docs/images/nf-core-list-stars.svg b/docs/images/nf-core-list-stars.svg index af68101512..57c4f1dba1 100644 --- a/docs/images/nf-core-list-stars.svg +++ b/docs/images/nf-core-list-stars.svg @@ -19,88 +19,88 @@ font-weight: 700; } - .terminal-4159699833-matrix { + .terminal-1326709712-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-4159699833-title { + .terminal-1326709712-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-4159699833-r1 { fill: #c5c8c6 } -.terminal-4159699833-r2 { fill: #98a84b } -.terminal-4159699833-r3 { fill: #9a9b99 } -.terminal-4159699833-r4 { fill: #608ab1 } -.terminal-4159699833-r5 { fill: #d0b344 } -.terminal-4159699833-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-4159699833-r7 { fill: #868887 } -.terminal-4159699833-r8 { fill: #868887;font-style: italic; } + .terminal-1326709712-r1 { fill: #c5c8c6 } +.terminal-1326709712-r2 { fill: #98a84b } +.terminal-1326709712-r3 { fill: #9a9b99 } +.terminal-1326709712-r4 { fill: #608ab1 } +.terminal-1326709712-r5 { fill: #d0b344 } +.terminal-1326709712-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-1326709712-r7 { fill: #868887 } +.terminal-1326709712-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -112,29 +112,29 @@ - + - - $ nf-core list -s stars - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ rnaseq               │   538 │            3.9 │ 2 months ago │           - │ -                   │ -│ sarek                │   210 │          3.1.1 │  2 weeks ago │           - │ -                   │ -│ chipseq              │   133 │          2.0.0 │ 2 months ago │           - │ -                   │ -│ atacseq              │   123 │            2.0 │   1 week ago │           - │ -                   │ -[..truncated..] + + $ nf-core list -s stars + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ rnaseq               │   542 │            3.9 │ 3 months ago │           - │ -                   │ +│ sarek                │   211 │          3.1.1 │  4 weeks ago │           - │ -                   │ +│ chipseq              │   133 │          2.0.0 │ 3 months ago │           - │ -                   │ +│ atacseq              │   124 │            2.0 │  3 weeks ago │           - │ -                   │ +[..truncated..] diff --git a/docs/images/nf-core-list.svg b/docs/images/nf-core-list.svg index 24bc71baf4..cf4bc6f125 100644 --- a/docs/images/nf-core-list.svg +++ b/docs/images/nf-core-list.svg @@ -19,91 +19,91 @@ font-weight: 700; } - .terminal-3135274331-matrix { + .terminal-4187913691-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3135274331-title { + .terminal-4187913691-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3135274331-r1 { fill: #c5c8c6 } -.terminal-3135274331-r2 { fill: #98a84b } -.terminal-3135274331-r3 { fill: #9a9b99 } -.terminal-3135274331-r4 { fill: #608ab1 } -.terminal-3135274331-r5 { fill: #d0b344 } -.terminal-3135274331-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3135274331-r7 { fill: #868887 } -.terminal-3135274331-r8 { fill: #868887;font-style: italic; } + .terminal-4187913691-r1 { fill: #c5c8c6 } +.terminal-4187913691-r2 { fill: #98a84b } +.terminal-4187913691-r3 { fill: #9a9b99 } +.terminal-4187913691-r4 { fill: #608ab1 } +.terminal-4187913691-r5 { fill: #d0b344 } +.terminal-4187913691-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-4187913691-r7 { fill: #868887 } +.terminal-4187913691-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -115,30 +115,30 @@ - + - - $ nf-core list - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ -Have latest         -Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            -┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ -│ ampliseq             │   101 │          2.4.1 │ 21 hours ago │           - │ -                   │ -│ airrflow             │    24 │          2.4.0 │   2 days ago │           - │ -                   │ -│ mhcquant             │    21 │          2.4.0 │   6 days ago │           - │ -                   │ -│ atacseq              │   123 │            2.0 │   1 week ago │           - │ -                   │ -│ methylseq            │    95 │          2.2.0 │  1 weeks ago │           - │ -                   │ -[..truncated..] + + $ nf-core list + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓ +Have latest         +Pipeline Name       StarsLatest Release    ReleasedLast Pulledrelease?            +┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩ +│ methylseq            │    95 │          2.3.0 │   2 days ago │           - │ -                   │ +│ ampliseq             │   102 │          2.4.1 │  2 weeks ago │           - │ -                   │ +│ airrflow             │    23 │          2.4.0 │  2 weeks ago │           - │ -                   │ +│ mhcquant             │    21 │          2.4.0 │  2 weeks ago │           - │ -                   │ +│ atacseq              │   124 │            2.0 │  3 weeks ago │           - │ -                   │ +[..truncated..] diff --git a/docs/images/nf-core-modules-bump-version.svg b/docs/images/nf-core-modules-bump-version.svg index bdd738ba03..227de6bb26 100644 --- a/docs/images/nf-core-modules-bump-version.svg +++ b/docs/images/nf-core-modules-bump-version.svg @@ -19,90 +19,90 @@ font-weight: 700; } - .terminal-1795029015-matrix { + .terminal-2041051160-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1795029015-title { + .terminal-2041051160-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1795029015-r1 { fill: #c5c8c6 } -.terminal-1795029015-r2 { fill: #98a84b } -.terminal-1795029015-r3 { fill: #9a9b99 } -.terminal-1795029015-r4 { fill: #608ab1 } -.terminal-1795029015-r5 { fill: #d0b344 } -.terminal-1795029015-r6 { fill: #98a84b;font-weight: bold } -.terminal-1795029015-r7 { fill: #c5c8c6;font-weight: bold } + .terminal-2041051160-r1 { fill: #c5c8c6 } +.terminal-2041051160-r2 { fill: #98a84b } +.terminal-2041051160-r3 { fill: #9a9b99 } +.terminal-2041051160-r4 { fill: #608ab1 } +.terminal-2041051160-r5 { fill: #d0b344 } +.terminal-2041051160-r6 { fill: #98a84b;font-weight: bold } +.terminal-2041051160-r7 { fill: #c5c8c6;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -114,30 +114,30 @@ - + - - $ nf-core modules bump-versions fastqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - - -╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ -[!] 1 Module version up to date. -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -╭──────────────────────────────────────────┬───────────────────────────────────────────────────────╮ -Module name                             Update Message                                        -├──────────────────────────────────────────┼───────────────────────────────────────────────────────┤ - fastqc                                    Module version up to date: fastqc                      -╰──────────────────────────────────────────┴───────────────────────────────────────────────────────╯ + + $ nf-core modules bump-versions fastqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + + +╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ +[!] 1 Module version up to date. +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +╭──────────────────────────────────────────┬───────────────────────────────────────────────────────╮ +Module name                             Update Message                                        +├──────────────────────────────────────────┼───────────────────────────────────────────────────────┤ + fastqc                                    Module version up to date: fastqc                      +╰──────────────────────────────────────────┴───────────────────────────────────────────────────────╯ diff --git a/docs/images/nf-core-modules-create-test.svg b/docs/images/nf-core-modules-create-test.svg index ab9e254f37..57e29b961f 100644 --- a/docs/images/nf-core-modules-create-test.svg +++ b/docs/images/nf-core-modules-create-test.svg @@ -19,84 +19,84 @@ font-weight: 700; } - .terminal-1810277116-matrix { + .terminal-474522378-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1810277116-title { + .terminal-474522378-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1810277116-r1 { fill: #c5c8c6 } -.terminal-1810277116-r2 { fill: #98a84b } -.terminal-1810277116-r3 { fill: #9a9b99 } -.terminal-1810277116-r4 { fill: #608ab1 } -.terminal-1810277116-r5 { fill: #d0b344 } -.terminal-1810277116-r6 { fill: #ff2c7a } -.terminal-1810277116-r7 { fill: #98729f } + .terminal-474522378-r1 { fill: #c5c8c6 } +.terminal-474522378-r2 { fill: #98a84b } +.terminal-474522378-r3 { fill: #9a9b99 } +.terminal-474522378-r4 { fill: #608ab1 } +.terminal-474522378-r5 { fill: #d0b344 } +.terminal-474522378-r6 { fill: #ff2c7a } +.terminal-474522378-r7 { fill: #98729f } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -108,28 +108,28 @@ - + - - $ nf-core modules create-test-yml fastqc --no-prompts --force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Looking for test workflow entry points: 'tests/modules/nf-core/fastqc/main.nf' -──────────────────────────────────────────────────────────────────────────────────────────────────── -INFO     Building test meta for entry point 'test_fastqc_single_end' -INFO     Running 'fastqc' test with command:                                                         -nextflow run ./tests/modules/nf-core/fastqc -entry test_fastqc_single_end -c  -./tests/config/nextflow.config -c ./tests/modules/nf-core/fastqc/nextflow.config --outdir  -/tmp/tmplzj5q_cr -work-dir /tmp/tmpwkq3pr51 + + $ nf-core modules create-test-yml fastqc --no-prompts --force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Looking for test workflow entry points: 'tests/modules/nf-core/fastqc/main.nf' +──────────────────────────────────────────────────────────────────────────────────────────────────── +INFO     Building test meta for entry point 'test_fastqc_single_end' +INFO     Running 'fastqc' test with command:                                                         +nextflow run ./tests/modules/nf-core/fastqc -entry test_fastqc_single_end -c  +./tests/config/nextflow.config -c ./tests/modules/nf-core/fastqc/nextflow.config --outdir  +/tmp/tmp17isquh4 -work-dir /tmp/tmpseaglcoa diff --git a/docs/images/nf-core-modules-create.svg b/docs/images/nf-core-modules-create.svg index 82c008269b..6b3ce27a41 100644 --- a/docs/images/nf-core-modules-create.svg +++ b/docs/images/nf-core-modules-create.svg @@ -19,74 +19,74 @@ font-weight: 700; } - .terminal-2925538580-matrix { + .terminal-3073846549-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2925538580-title { + .terminal-3073846549-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2925538580-r1 { fill: #c5c8c6 } -.terminal-2925538580-r2 { fill: #98a84b } -.terminal-2925538580-r3 { fill: #9a9b99 } -.terminal-2925538580-r4 { fill: #608ab1 } -.terminal-2925538580-r5 { fill: #d0b344 } -.terminal-2925538580-r6 { fill: #68a0b3;font-weight: bold } + .terminal-3073846549-r1 { fill: #c5c8c6 } +.terminal-3073846549-r2 { fill: #98a84b } +.terminal-3073846549-r3 { fill: #9a9b99 } +.terminal-3073846549-r4 { fill: #608ab1 } +.terminal-3073846549-r5 { fill: #d0b344 } +.terminal-3073846549-r6 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -98,25 +98,25 @@ - + - - $ nf-core modules create fastqc --author @nf-core-bot  --label process_low --meta --force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Repository type: modules -INFO    Press enter to use default values (shown in brackets)or type your own responses.  -ctrl+click underlined text to open links. -INFO     Using Bioconda package: 'bioconda::fastqc=0.11.9' + + $ nf-core modules create fastqc --author @nf-core-bot  --label process_low --meta --force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Repository type: modules +INFO    Press enter to use default values (shown in brackets)or type your own responses.  +ctrl+click underlined text to open links. +INFO     Using Bioconda package: 'bioconda::fastqc=0.11.9' diff --git a/docs/images/nf-core-modules-info.svg b/docs/images/nf-core-modules-info.svg index b3f667942c..320672f91a 100644 --- a/docs/images/nf-core-modules-info.svg +++ b/docs/images/nf-core-modules-info.svg @@ -19,163 +19,163 @@ font-weight: 700; } - .terminal-2882269783-matrix { + .terminal-3462197848-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2882269783-title { + .terminal-3462197848-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2882269783-r1 { fill: #c5c8c6 } -.terminal-2882269783-r2 { fill: #98a84b } -.terminal-2882269783-r3 { fill: #9a9b99 } -.terminal-2882269783-r4 { fill: #608ab1 } -.terminal-2882269783-r5 { fill: #d0b344 } -.terminal-2882269783-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-2882269783-r7 { fill: #98a84b;font-weight: bold } -.terminal-2882269783-r8 { fill: #868887 } -.terminal-2882269783-r9 { fill: #d08442 } -.terminal-2882269783-r10 { fill: #868887;font-style: italic; } -.terminal-2882269783-r11 { fill: #98729f } + .terminal-3462197848-r1 { fill: #c5c8c6 } +.terminal-3462197848-r2 { fill: #98a84b } +.terminal-3462197848-r3 { fill: #9a9b99 } +.terminal-3462197848-r4 { fill: #608ab1 } +.terminal-3462197848-r5 { fill: #d0b344 } +.terminal-3462197848-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3462197848-r7 { fill: #98a84b;font-weight: bold } +.terminal-3462197848-r8 { fill: #868887 } +.terminal-3462197848-r9 { fill: #d08442 } +.terminal-3462197848-r10 { fill: #868887;font-style: italic; } +.terminal-3462197848-r11 { fill: #98729f } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -187,53 +187,53 @@ - + - - $ nf-core modules info abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -╭─ Module: abacas  ────────────────────────────────────────────────────────────────────────────────╮ -│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ -│ 🔧 Tools: abacas                                                                                 │ -│ 📖 Description: contiguate draft genome assembly                                                 │ -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -                  ╷                                                                   ╷              -📥 Inputs        Description                                                             Pattern -╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ - meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ -                  │single_end:false ]                                                 │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - scaffold  (file)│Fasta file containing scaffold                                     │*.{fasta,fa} -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - fasta  (file)   │FASTA reference file                                               │*.{fasta,fa} -                  ╵                                                                   ╵              -                  ╷                                                                   ╷              -📤 Outputs       Description                                                             Pattern -╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ - meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ -                  │single_end:false ]                                                 │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - results  (files)│List containing abacas output files [ 'test.abacas.bin',           │ *.{abacas}* -                  │'test.abacas.fasta', 'test.abacas.gaps', 'test.abacas.gaps.tab',   │ -                  │'test.abacas.nucmer.delta', 'test.abacas.nucmer.filtered.delta',   │ -                  │'test.abacas.nucmer.tiling', 'test.abacas.tab',                    │ -                  │'test.abacas.unused.contigs.out', 'test.abacas.MULTIFASTA.fa' ]    │ -╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ - versions  (file)│File containing software versions                                  │versions.yml -                  ╵                                                                   ╵              - - 💻  Installation command: nf-core modules install abacas - + + $ nf-core modules info abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +╭─ Module: abacas  ────────────────────────────────────────────────────────────────────────────────╮ +│ 🌐 Repository: https://github.com/nf-core/modules.git                                            │ +│ 🔧 Tools: abacas                                                                                 │ +│ 📖 Description: contiguate draft genome assembly                                                 │ +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +                  ╷                                                                   ╷              +📥 Inputs        Description                                                             Pattern +╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ + meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ +                  │single_end:false ]                                                 │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + scaffold  (file)│Fasta file containing scaffold                                     │*.{fasta,fa} +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + fasta  (file)   │FASTA reference file                                               │*.{fasta,fa} +                  ╵                                                                   ╵              +                  ╷                                                                   ╷              +📤 Outputs       Description                                                             Pattern +╺━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━╸ + meta  (map)     │Groovy Map containing sample information e.g. [ id:'test',         │ +                  │single_end:false ]                                                 │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + results  (files)│List containing abacas output files [ 'test.abacas.bin',           │ *.{abacas}* +                  │'test.abacas.fasta', 'test.abacas.gaps', 'test.abacas.gaps.tab',   │ +                  │'test.abacas.nucmer.delta', 'test.abacas.nucmer.filtered.delta',   │ +                  │'test.abacas.nucmer.tiling', 'test.abacas.tab',                    │ +                  │'test.abacas.unused.contigs.out', 'test.abacas.MULTIFASTA.fa' ]    │ +╶─────────────────┼───────────────────────────────────────────────────────────────────┼────────────╴ + versions  (file)│File containing software versions                                  │versions.yml +                  ╵                                                                   ╵              + + 💻  Installation command: nf-core modules install abacas + diff --git a/docs/images/nf-core-modules-install.svg b/docs/images/nf-core-modules-install.svg index fa6c7b941c..6fb029df0a 100644 --- a/docs/images/nf-core-modules-install.svg +++ b/docs/images/nf-core-modules-install.svg @@ -19,76 +19,76 @@ font-weight: 700; } - .terminal-3882716258-matrix { + .terminal-3957689443-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3882716258-title { + .terminal-3957689443-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3882716258-r1 { fill: #c5c8c6 } -.terminal-3882716258-r2 { fill: #98a84b } -.terminal-3882716258-r3 { fill: #9a9b99 } -.terminal-3882716258-r4 { fill: #608ab1 } -.terminal-3882716258-r5 { fill: #d0b344 } + .terminal-3957689443-r1 { fill: #c5c8c6 } +.terminal-3957689443-r2 { fill: #98a84b } +.terminal-3957689443-r3 { fill: #9a9b99 } +.terminal-3957689443-r4 { fill: #608ab1 } +.terminal-3957689443-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -100,26 +100,26 @@ - + - - $ nf-core modules install abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Installing 'abacas' -INFO     Use the following statement to include this module:                                         - - include { ABACAS } from '../modules/nf-core/abacas/main'                                            - + + $ nf-core modules install abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Installing 'abacas' +INFO     Use the following statement to include this module:                                         + + include { ABACAS } from '../modules/nf-core/abacas/main'                                            + diff --git a/docs/images/nf-core-modules-lint.svg b/docs/images/nf-core-modules-lint.svg index f63cf77d39..b39f7aa4fd 100644 --- a/docs/images/nf-core-modules-lint.svg +++ b/docs/images/nf-core-modules-lint.svg @@ -19,94 +19,94 @@ font-weight: 700; } - .terminal-3569125489-matrix { + .terminal-3722872946-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3569125489-title { + .terminal-3722872946-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3569125489-r1 { fill: #c5c8c6 } -.terminal-3569125489-r2 { fill: #98a84b } -.terminal-3569125489-r3 { fill: #9a9b99 } -.terminal-3569125489-r4 { fill: #608ab1 } -.terminal-3569125489-r5 { fill: #d0b344 } -.terminal-3569125489-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-3569125489-r7 { fill: #98a84b;font-weight: bold } -.terminal-3569125489-r8 { fill: #cc555a } + .terminal-3722872946-r1 { fill: #c5c8c6 } +.terminal-3722872946-r2 { fill: #98a84b } +.terminal-3722872946-r3 { fill: #9a9b99 } +.terminal-3722872946-r4 { fill: #608ab1 } +.terminal-3722872946-r5 { fill: #d0b344 } +.terminal-3722872946-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-3722872946-r7 { fill: #98a84b;font-weight: bold } +.terminal-3722872946-r8 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -118,31 +118,31 @@ - + - - $ nf-core modules lint multiqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Linting modules repo: '.' -INFO     Linting module: 'multiqc' - -╭───────────────────────╮ -LINT RESULTS SUMMARY -├───────────────────────┤ -[✔]  23 Tests Passed  -[!]   0 Test Warnings -[✗]   0 Tests Failed  -╰───────────────────────╯ + + $ nf-core modules lint multiqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Linting modules repo: '.' +INFO     Linting module: 'multiqc' + +╭───────────────────────╮ +LINT RESULTS SUMMARY +├───────────────────────┤ +[✔]  23 Tests Passed  +[!]   0 Test Warnings +[✗]   0 Tests Failed  +╰───────────────────────╯ diff --git a/docs/images/nf-core-modules-list-local.svg b/docs/images/nf-core-modules-list-local.svg index c2cbe2b236..fab2cecf7e 100644 --- a/docs/images/nf-core-modules-list-local.svg +++ b/docs/images/nf-core-modules-list-local.svg @@ -19,108 +19,108 @@ font-weight: 700; } - .terminal-801966325-matrix { + .terminal-2617511112-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-801966325-title { + .terminal-2617511112-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-801966325-r1 { fill: #c5c8c6 } -.terminal-801966325-r2 { fill: #98a84b } -.terminal-801966325-r3 { fill: #9a9b99 } -.terminal-801966325-r4 { fill: #608ab1 } -.terminal-801966325-r5 { fill: #d0b344 } -.terminal-801966325-r6 { fill: #c5c8c6;font-weight: bold } -.terminal-801966325-r7 { fill: #868887;font-style: italic; } + .terminal-2617511112-r1 { fill: #c5c8c6 } +.terminal-2617511112-r2 { fill: #98a84b } +.terminal-2617511112-r3 { fill: #9a9b99 } +.terminal-2617511112-r4 { fill: #608ab1 } +.terminal-2617511112-r5 { fill: #d0b344 } +.terminal-2617511112-r6 { fill: #c5c8c6;font-weight: bold } +.terminal-2617511112-r7 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -132,36 +132,36 @@ - + - - $ nf-core modules list local - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Modules installed in '.':                                                                   - -┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -Module Name        Repository        Version SHA        Message           Date       -┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ -│ custom/dumpsoftwar… │ https://github.co… │ 5e34754d42cd2d5d24… │ Restructure        │ 2022-10-04 │ -│                     │                    │                     │ nf-core/modules    │            │ -│                     │                    │                     │ repo (#2141)       │            │ -│ fastqc              │ https://github.co… │ 5e34754d42cd2d5d24… │ Restructure        │ 2022-10-04 │ -│                     │                    │                     │ nf-core/modules    │            │ -│                     │                    │                     │ repo (#2141)       │            │ -│ multiqc             │ https://github.co… │ 5e34754d42cd2d5d24… │ Restructure        │ 2022-10-04 │ -│                     │                    │                     │ nf-core/modules    │            │ -│                     │                    │                     │ repo (#2141)       │            │ -[..truncated..] + + $ nf-core modules list local + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Modules installed in '.':                                                                   + +┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +Module Name        Repository        Version SHA        Message           Date       +┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩ +│ custom/dumpsoftwar… │ https://github.co… │ c8e35eb2055c099720… │ Bulk change conda  │ 2022-12-13 │ +│                     │                    │                     │ syntax for all     │            │ +│                     │                    │                     │ modules (#2654)    │            │ +│ fastqc              │ https://github.co… │ c8e35eb2055c099720… │ Bulk change conda  │ 2022-12-13 │ +│                     │                    │                     │ syntax for all     │            │ +│                     │                    │                     │ modules (#2654)    │            │ +│ multiqc             │ https://github.co… │ c8e35eb2055c099720… │ Bulk change conda  │ 2022-12-13 │ +│                     │                    │                     │ syntax for all     │            │ +│                     │                    │                     │ modules (#2654)    │            │ +[..truncated..] diff --git a/docs/images/nf-core-modules-list-remote.svg b/docs/images/nf-core-modules-list-remote.svg index 701b00db57..cd2d1df6e5 100644 --- a/docs/images/nf-core-modules-list-remote.svg +++ b/docs/images/nf-core-modules-list-remote.svg @@ -19,109 +19,109 @@ font-weight: 700; } - .terminal-3298778939-matrix { + .terminal-3444989756-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3298778939-title { + .terminal-3444989756-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3298778939-r1 { fill: #c5c8c6 } -.terminal-3298778939-r2 { fill: #98a84b } -.terminal-3298778939-r3 { fill: #9a9b99 } -.terminal-3298778939-r4 { fill: #608ab1 } -.terminal-3298778939-r5 { fill: #d0b344 } -.terminal-3298778939-r6 { fill: #1984e9;text-decoration: underline; } -.terminal-3298778939-r7 { fill: #c5c8c6;font-weight: bold } -.terminal-3298778939-r8 { fill: #868887;font-style: italic; } + .terminal-3444989756-r1 { fill: #c5c8c6 } +.terminal-3444989756-r2 { fill: #98a84b } +.terminal-3444989756-r3 { fill: #9a9b99 } +.terminal-3444989756-r4 { fill: #608ab1 } +.terminal-3444989756-r5 { fill: #d0b344 } +.terminal-3444989756-r6 { fill: #1984e9;text-decoration: underline; } +.terminal-3444989756-r7 { fill: #c5c8c6;font-weight: bold } +.terminal-3444989756-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -133,36 +133,36 @@ - + - - $ nf-core modules list remote - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Modules available from https://github.com/nf-core/modules.git(master):                     - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -Module Name                                           -┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ -│ abacas                                                │ -│ abricate/run                                          │ -│ abricate/summary                                      │ -│ adapterremoval                                        │ -│ adapterremovalfixprefix                               │ -│ agat/convertspgff2gtf                                 │ -│ agat/convertspgxf2gxf                                 │ -│ agat/spstatistics                                     │ -│ agat/sqstatbasic                                      │ -[..truncated..] + + $ nf-core modules list remote + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Modules available from https://github.com/nf-core/modules.git(master):                     + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Module Name                                           +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ abacas                                                │ +│ abricate/run                                          │ +│ abricate/summary                                      │ +│ adapterremoval                                        │ +│ adapterremovalfixprefix                               │ +│ agat/convertspgff2gtf                                 │ +│ agat/convertspgxf2gxf                                 │ +│ agat/spstatistics                                     │ +│ agat/sqstatbasic                                      │ +[..truncated..] diff --git a/docs/images/nf-core-modules-mulled.svg b/docs/images/nf-core-modules-mulled.svg index b6ead66b4b..2ac4b28f23 100644 --- a/docs/images/nf-core-modules-mulled.svg +++ b/docs/images/nf-core-modules-mulled.svg @@ -19,69 +19,69 @@ font-weight: 700; } - .terminal-1123202598-matrix { + .terminal-1198110247-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1123202598-title { + .terminal-1198110247-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1123202598-r1 { fill: #c5c8c6 } -.terminal-1123202598-r2 { fill: #98a84b } -.terminal-1123202598-r3 { fill: #9a9b99 } -.terminal-1123202598-r4 { fill: #608ab1 } -.terminal-1123202598-r5 { fill: #d0b344 } -.terminal-1123202598-r6 { fill: #00823d;font-weight: bold } -.terminal-1123202598-r7 { fill: #68a0b3;font-weight: bold } + .terminal-1198110247-r1 { fill: #c5c8c6 } +.terminal-1198110247-r2 { fill: #98a84b } +.terminal-1198110247-r3 { fill: #9a9b99 } +.terminal-1198110247-r4 { fill: #608ab1 } +.terminal-1198110247-r5 { fill: #d0b344 } +.terminal-1198110247-r6 { fill: #00823d;font-weight: bold } +.terminal-1198110247-r7 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -93,23 +93,23 @@ - + - - $ nf-core modules mulled pysam==0.16.0.1 biopython==1.78 - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Found docker image on quay.io! ✨                                                           -INFO     Mulled container hash:                                                                      -mulled-v2-3a59640f3fe1ed11819984087d31d68600200c3f:185a25ca79923df85b58f42deb48f5ac4481e91f-0 + + $ nf-core modules mulled pysam==0.16.0.1 biopython==1.78 + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Found docker image on quay.io! ✨                                                           +INFO     Mulled container hash:                                                                      +mulled-v2-3a59640f3fe1ed11819984087d31d68600200c3f:185a25ca79923df85b58f42deb48f5ac4481e91f-0 diff --git a/docs/images/nf-core-modules-patch.svg b/docs/images/nf-core-modules-patch.svg index f54bff1e97..729bb1d519 100644 --- a/docs/images/nf-core-modules-patch.svg +++ b/docs/images/nf-core-modules-patch.svg @@ -19,65 +19,65 @@ font-weight: 700; } - .terminal-2789283426-matrix { + .terminal-2827097699-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2789283426-title { + .terminal-2827097699-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2789283426-r1 { fill: #c5c8c6 } -.terminal-2789283426-r2 { fill: #98a84b } -.terminal-2789283426-r3 { fill: #9a9b99 } -.terminal-2789283426-r4 { fill: #608ab1 } -.terminal-2789283426-r5 { fill: #d0b344 } -.terminal-2789283426-r6 { fill: #cc555a;font-weight: bold } + .terminal-2827097699-r1 { fill: #c5c8c6 } +.terminal-2827097699-r2 { fill: #98a84b } +.terminal-2827097699-r3 { fill: #9a9b99 } +.terminal-2827097699-r4 { fill: #608ab1 } +.terminal-2827097699-r5 { fill: #d0b344 } +.terminal-2827097699-r6 { fill: #cc555a;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -89,22 +89,22 @@ - + - - $ nf-core modules patch fastqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -ERROR    Module 'modules/nf-core/fastqc' is unchanged. No patch to compute                           + + $ nf-core modules patch fastqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +ERROR    Module 'modules/nf-core/fastqc' is unchanged. No patch to compute                           diff --git a/docs/images/nf-core-modules-remove.svg b/docs/images/nf-core-modules-remove.svg index e495def404..ce72c00e13 100644 --- a/docs/images/nf-core-modules-remove.svg +++ b/docs/images/nf-core-modules-remove.svg @@ -19,64 +19,64 @@ font-weight: 700; } - .terminal-2407804337-matrix { + .terminal-2450992562-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2407804337-title { + .terminal-2450992562-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2407804337-r1 { fill: #c5c8c6 } -.terminal-2407804337-r2 { fill: #98a84b } -.terminal-2407804337-r3 { fill: #9a9b99 } -.terminal-2407804337-r4 { fill: #608ab1 } -.terminal-2407804337-r5 { fill: #d0b344 } + .terminal-2450992562-r1 { fill: #c5c8c6 } +.terminal-2450992562-r2 { fill: #98a84b } +.terminal-2450992562-r3 { fill: #9a9b99 } +.terminal-2450992562-r4 { fill: #608ab1 } +.terminal-2450992562-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -88,22 +88,22 @@ - + - - $ nf-core modules remove abacas - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Removed files for 'abacas' and it's dependencies 'abacas'.                                  + + $ nf-core modules remove abacas + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Removed files for 'abacas' and it's dependencies 'abacas'.                                  diff --git a/docs/images/nf-core-modules-test.svg b/docs/images/nf-core-modules-test.svg index 1ff788e24b..c11314a7d1 100644 --- a/docs/images/nf-core-modules-test.svg +++ b/docs/images/nf-core-modules-test.svg @@ -19,67 +19,67 @@ font-weight: 700; } - .terminal-367250223-matrix { + .terminal-424201008-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-367250223-title { + .terminal-424201008-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-367250223-r1 { fill: #c5c8c6 } -.terminal-367250223-r2 { fill: #98a84b } -.terminal-367250223-r3 { fill: #9a9b99 } -.terminal-367250223-r4 { fill: #608ab1 } -.terminal-367250223-r5 { fill: #d0b344 } + .terminal-424201008-r1 { fill: #c5c8c6 } +.terminal-424201008-r2 { fill: #98a84b } +.terminal-424201008-r3 { fill: #9a9b99 } +.terminal-424201008-r4 { fill: #608ab1 } +.terminal-424201008-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -91,23 +91,23 @@ - + - - $ nf-core modules test samtools/view --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -────────────────────────────────────────── samtools/view ─────────────────────────────────────────── -INFO     Running pytest for module 'samtools/view' + + $ nf-core modules test samtools/view --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +────────────────────────────────────────── samtools/view ─────────────────────────────────────────── +INFO     Running pytest for module 'samtools/view' diff --git a/docs/images/nf-core-modules-update.svg b/docs/images/nf-core-modules-update.svg index 34ee63f06e..161c6b2a56 100644 --- a/docs/images/nf-core-modules-update.svg +++ b/docs/images/nf-core-modules-update.svg @@ -19,76 +19,76 @@ font-weight: 700; } - .terminal-586434981-matrix { + .terminal-555766662-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-586434981-title { + .terminal-555766662-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-586434981-r1 { fill: #c5c8c6 } -.terminal-586434981-r2 { fill: #98a84b } -.terminal-586434981-r3 { fill: #9a9b99 } -.terminal-586434981-r4 { fill: #608ab1 } -.terminal-586434981-r5 { fill: #d0b344 } + .terminal-555766662-r1 { fill: #c5c8c6 } +.terminal-555766662-r2 { fill: #98a84b } +.terminal-555766662-r3 { fill: #9a9b99 } +.terminal-555766662-r4 { fill: #608ab1 } +.terminal-555766662-r5 { fill: #d0b344 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -100,26 +100,26 @@ - + - - $ nf-core modules update --all --no-preview - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO    'modules/nf-core/abacas' is already up to date                                              -INFO     Updating 'nf-core/custom/dumpsoftwareversions' -INFO     Updating 'nf-core/fastqc' -INFO    'modules/nf-core/multiqc' is already up to date                                             -INFO     Updates complete ✨                                                                         + + $ nf-core modules update --all --no-preview + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO    'modules/nf-core/abacas' is already up to date                                              +INFO    'modules/nf-core/custom/dumpsoftwareversions' is already up to date                         +INFO    'modules/nf-core/fastqc' is already up to date                                              +INFO    'modules/nf-core/multiqc' is already up to date                                             +INFO     Updates complete ✨                                                                         diff --git a/docs/images/nf-core-schema-build.svg b/docs/images/nf-core-schema-build.svg index 91b1c4482f..ac95ebba84 100644 --- a/docs/images/nf-core-schema-build.svg +++ b/docs/images/nf-core-schema-build.svg @@ -19,72 +19,72 @@ font-weight: 700; } - .terminal-1763756786-matrix { + .terminal-1833749233-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1763756786-title { + .terminal-1833749233-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1763756786-r1 { fill: #c5c8c6 } -.terminal-1763756786-r2 { fill: #98a84b } -.terminal-1763756786-r3 { fill: #9a9b99 } -.terminal-1763756786-r4 { fill: #608ab1 } -.terminal-1763756786-r5 { fill: #d0b344 } -.terminal-1763756786-r6 { fill: #98a84b;font-weight: bold } -.terminal-1763756786-r7 { fill: #868887;font-weight: bold } -.terminal-1763756786-r8 { fill: #868887 } -.terminal-1763756786-r9 { fill: #4e707b;font-weight: bold } -.terminal-1763756786-r10 { fill: #68a0b3;font-weight: bold } + .terminal-1833749233-r1 { fill: #c5c8c6 } +.terminal-1833749233-r2 { fill: #98a84b } +.terminal-1833749233-r3 { fill: #9a9b99 } +.terminal-1833749233-r4 { fill: #608ab1 } +.terminal-1833749233-r5 { fill: #d0b344 } +.terminal-1833749233-r6 { fill: #98a84b;font-weight: bold } +.terminal-1833749233-r7 { fill: #868887;font-weight: bold } +.terminal-1833749233-r8 { fill: #868887 } +.terminal-1833749233-r9 { fill: #4e707b;font-weight: bold } +.terminal-1833749233-r10 { fill: #68a0b3;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96,23 +96,23 @@ - + - - $ nf-core schema build --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 31 params) -INFO     Writing schema with 32 params: './nextflow_schema.json' + + $ nf-core schema build --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 30 params) +INFO     Writing schema with 31 params: './nextflow_schema.json' diff --git a/docs/images/nf-core-schema-lint.svg b/docs/images/nf-core-schema-lint.svg index 9bb3f251e6..79113e70ec 100644 --- a/docs/images/nf-core-schema-lint.svg +++ b/docs/images/nf-core-schema-lint.svg @@ -19,68 +19,68 @@ font-weight: 700; } - .terminal-953635754-matrix { + .terminal-1041388458-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-953635754-title { + .terminal-1041388458-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-953635754-r1 { fill: #c5c8c6 } -.terminal-953635754-r2 { fill: #98a84b } -.terminal-953635754-r3 { fill: #9a9b99 } -.terminal-953635754-r4 { fill: #608ab1 } -.terminal-953635754-r5 { fill: #d0b344 } -.terminal-953635754-r6 { fill: #98a84b;font-weight: bold } -.terminal-953635754-r7 { fill: #868887;font-weight: bold } -.terminal-953635754-r8 { fill: #868887 } -.terminal-953635754-r9 { fill: #4e707b;font-weight: bold } + .terminal-1041388458-r1 { fill: #c5c8c6 } +.terminal-1041388458-r2 { fill: #98a84b } +.terminal-1041388458-r3 { fill: #9a9b99 } +.terminal-1041388458-r4 { fill: #608ab1 } +.terminal-1041388458-r5 { fill: #d0b344 } +.terminal-1041388458-r6 { fill: #98a84b;font-weight: bold } +.terminal-1041388458-r7 { fill: #868887;font-weight: bold } +.terminal-1041388458-r8 { fill: #868887 } +.terminal-1041388458-r9 { fill: #4e707b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -92,22 +92,22 @@ - + - - $ nf-core schema lint nextflow_schema.json - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 32 params) + + $ nf-core schema lint nextflow_schema.json + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 31 params) diff --git a/docs/images/nf-core-schema-validate.svg b/docs/images/nf-core-schema-validate.svg index 8cc98e50b9..3133ec66b8 100644 --- a/docs/images/nf-core-schema-validate.svg +++ b/docs/images/nf-core-schema-validate.svg @@ -19,71 +19,71 @@ font-weight: 700; } - .terminal-2859597691-matrix { + .terminal-2998337404-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2859597691-title { + .terminal-2998337404-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2859597691-r1 { fill: #c5c8c6 } -.terminal-2859597691-r2 { fill: #98a84b } -.terminal-2859597691-r3 { fill: #9a9b99 } -.terminal-2859597691-r4 { fill: #608ab1 } -.terminal-2859597691-r5 { fill: #d0b344 } -.terminal-2859597691-r6 { fill: #98a84b;font-weight: bold } -.terminal-2859597691-r7 { fill: #868887;font-weight: bold } -.terminal-2859597691-r8 { fill: #868887 } -.terminal-2859597691-r9 { fill: #4e707b;font-weight: bold } + .terminal-2998337404-r1 { fill: #c5c8c6 } +.terminal-2998337404-r2 { fill: #98a84b } +.terminal-2998337404-r3 { fill: #9a9b99 } +.terminal-2998337404-r4 { fill: #608ab1 } +.terminal-2998337404-r5 { fill: #d0b344 } +.terminal-2998337404-r6 { fill: #98a84b;font-weight: bold } +.terminal-2998337404-r7 { fill: #868887;font-weight: bold } +.terminal-2998337404-r8 { fill: #868887 } +.terminal-2998337404-r9 { fill: #4e707b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -95,23 +95,23 @@ - + - - $ nf-core schema validate nf-core-rnaseq/workflow nf-params.json - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO    [] Default parameters match schema validation -INFO    [] Pipeline schema looks valid(found 93 params) -INFO    [] Input parameters look valid + + $ nf-core schema validate nf-core-rnaseq/workflow nf-params.json + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO    [] Default parameters match schema validation +INFO    [] Pipeline schema looks valid(found 93 params) +INFO    [] Input parameters look valid diff --git a/docs/images/nf-core-subworkflows-create-test.svg b/docs/images/nf-core-subworkflows-create-test.svg index efe5f5bd5e..5e8841a50e 100644 --- a/docs/images/nf-core-subworkflows-create-test.svg +++ b/docs/images/nf-core-subworkflows-create-test.svg @@ -19,107 +19,107 @@ font-weight: 700; } - .terminal-374083174-matrix { + .terminal-464653927-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-374083174-title { + .terminal-464653927-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-374083174-r1 { fill: #c5c8c6 } -.terminal-374083174-r2 { fill: #98a84b } -.terminal-374083174-r3 { fill: #9a9b99 } -.terminal-374083174-r4 { fill: #608ab1 } -.terminal-374083174-r5 { fill: #d0b344 } -.terminal-374083174-r6 { fill: #cc555a } + .terminal-464653927-r1 { fill: #c5c8c6 } +.terminal-464653927-r2 { fill: #98a84b } +.terminal-464653927-r3 { fill: #9a9b99 } +.terminal-464653927-r4 { fill: #608ab1 } +.terminal-464653927-r5 { fill: #d0b344 } +.terminal-464653927-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -131,36 +131,36 @@ - + - - $ nf-core subworkflows create-test-yml bam_stats_samtools --no-prompts --force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -Aborted. + + $ nf-core subworkflows create-test-yml bam_stats_samtools --no-prompts --force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +Aborted. diff --git a/docs/images/nf-core-subworkflows-create.svg b/docs/images/nf-core-subworkflows-create.svg index 9542f9758d..763a5a5d94 100644 --- a/docs/images/nf-core-subworkflows-create.svg +++ b/docs/images/nf-core-subworkflows-create.svg @@ -19,90 +19,90 @@ font-weight: 700; } - .terminal-2185943670-matrix { + .terminal-2389301879-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2185943670-title { + .terminal-2389301879-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2185943670-r1 { fill: #c5c8c6 } -.terminal-2185943670-r2 { fill: #98a84b } -.terminal-2185943670-r3 { fill: #9a9b99 } -.terminal-2185943670-r4 { fill: #608ab1 } -.terminal-2185943670-r5 { fill: #d0b344 } -.terminal-2185943670-r6 { fill: #68a0b3;font-weight: bold } -.terminal-2185943670-r7 { fill: #868887 } -.terminal-2185943670-r8 { fill: #4a637a } -.terminal-2185943670-r9 { fill: #4a637a;font-weight: bold } -.terminal-2185943670-r10 { fill: #cc555a } + .terminal-2389301879-r1 { fill: #c5c8c6 } +.terminal-2389301879-r2 { fill: #98a84b } +.terminal-2389301879-r3 { fill: #9a9b99 } +.terminal-2389301879-r4 { fill: #608ab1 } +.terminal-2389301879-r5 { fill: #d0b344 } +.terminal-2389301879-r6 { fill: #68a0b3;font-weight: bold } +.terminal-2389301879-r7 { fill: #868887 } +.terminal-2389301879-r8 { fill: #4a637a } +.terminal-2389301879-r9 { fill: #4a637a;font-weight: bold } +.terminal-2389301879-r10 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -114,29 +114,29 @@ - + - - $ nf-core subworkflows create bam_stats_samtools --author @nf-core-bot  --label process_low --meta  ---force - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -Usage: nf-core subworkflows create [OPTIONS] subworkflow name                                       - -Try 'nf-core subworkflows create -h' for help. -╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────╮ - No such option: --label Did you mean --help?                                                      -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ - + + $ nf-core subworkflows create bam_stats_samtools --author @nf-core-bot  --label process_low --meta  +--force + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +Usage: nf-core subworkflows create [OPTIONS] subworkflow name                                       + +Try 'nf-core subworkflows create -h' for help. +╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────╮ + No such option: --label Did you mean --help?                                                      +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ + diff --git a/docs/images/nf-core-subworkflows-info.svg b/docs/images/nf-core-subworkflows-info.svg index 680dbfc817..b00f918056 100644 --- a/docs/images/nf-core-subworkflows-info.svg +++ b/docs/images/nf-core-subworkflows-info.svg @@ -19,333 +19,333 @@ font-weight: 700; } - .terminal-1096786593-matrix { + .terminal-884777647-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1096786593-title { + .terminal-884777647-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1096786593-r1 { fill: #c5c8c6 } -.terminal-1096786593-r2 { fill: #98a84b } -.terminal-1096786593-r3 { fill: #9a9b99 } -.terminal-1096786593-r4 { fill: #608ab1 } -.terminal-1096786593-r5 { fill: #d0b344 } -.terminal-1096786593-r6 { fill: #cc555a } -.terminal-1096786593-r7 { fill: #cc555a;font-weight: bold } -.terminal-1096786593-r8 { fill: #8a4346;font-weight: bold } -.terminal-1096786593-r9 { fill: #8d7b39 } -.terminal-1096786593-r10 { fill: #d0b344;font-weight: bold } -.terminal-1096786593-r11 { fill: #1984e9 } -.terminal-1096786593-r12 { fill: #00823d } -.terminal-1096786593-r13 { fill: #868887 } -.terminal-1096786593-r14 { fill: #398280 } -.terminal-1096786593-r15 { fill: #ff2c7a } -.terminal-1096786593-r16 { fill: #ff2627;font-weight: bold } + .terminal-884777647-r1 { fill: #c5c8c6 } +.terminal-884777647-r2 { fill: #98a84b } +.terminal-884777647-r3 { fill: #9a9b99 } +.terminal-884777647-r4 { fill: #608ab1 } +.terminal-884777647-r5 { fill: #d0b344 } +.terminal-884777647-r6 { fill: #cc555a } +.terminal-884777647-r7 { fill: #cc555a;font-weight: bold } +.terminal-884777647-r8 { fill: #8a4346;font-weight: bold } +.terminal-884777647-r9 { fill: #8d7b39 } +.terminal-884777647-r10 { fill: #d0b344;font-weight: bold } +.terminal-884777647-r11 { fill: #1984e9 } +.terminal-884777647-r12 { fill: #00823d } +.terminal-884777647-r13 { fill: #868887 } +.terminal-884777647-r14 { fill: #398280 } +.terminal-884777647-r15 { fill: #ff2c7a } +.terminal-884777647-r16 { fill: #ff2627;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -357,108 +357,108 @@ - + - - $ nf-core subworkflows info bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -╭───────────────────────────────Traceback (most recent call last)────────────────────────────────╮ -/opt/hostedtoolcache/Python/3.11.0/x64/bin/nf-core:8 in <module> - -│   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$''', sys.argv[0])                          -❱ │   sys.exit(run_nf_core())                                                                   - - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/nf_core/__main__.py:105 in    -run_nf_core - - 104 │   # Launch the click cli -❱  105 │   nf_core_cli(auto_envvar_prefix="NFCORE")                                               - 106  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:1130 in         -__call__ - -1129 │   │   """Alias for :meth:`main`.""" -❱ 1130 │   │   returnself.main(*args, **kwargs)                                                  -1131  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/rich_click/rich_group.py:21 - in main - -20 │   │   try:                                                                                 -❱ 21 │   │   │   rv = super().main(*args, standalone_mode=False, **kwargs)                        -22 │   │   │   ifnot standalone_mode:                                                          - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:1055 in main - -1054 │   │   │   │   withself.make_context(prog_name, args, **extra) as ctx:                   -❱ 1055 │   │   │   │   │   rv = self.invoke(ctx)                                                  -1056 │   │   │   │   │   ifnot standalone_mode:                                                - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:1657 in invoke - -1656 │   │   │   │   with sub_ctx:                                                              -❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))                -1658  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:1657 in invoke - -1656 │   │   │   │   with sub_ctx:                                                              -❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))                -1658  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:1404 in invoke - -1403 │   │   ifself.callback isnotNone:                                                      -❱ 1404 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                 -1405  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/core.py:760 in invoke - - 759 │   │   │   with ctx:                                                                      -❱  760 │   │   │   │   return __callback(*args, **kwargs)                                         - 761  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/click/decorators.py:26 in     -new_func - - 25 │   defnew_func(*args, **kwargs):  # type: ignore -❱  26 │   │   return f(get_current_context(), *args, **kwargs)                                    - 27  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/nf_core/__main__.py:1087 in   -info - -1086 │   │   )                                                                                  -❱ 1087 │   │   stdout.print(subworkflow_info.get_component_info())                                -1088 │   except (UserWarningLookupErroras e:                                                - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/nf_core/components/info.py:1 -49 in get_component_info - -148 │   │    -❱ 149 │   │   returnself.generate_component_info_help()                                          -150  - -/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/nf_core/components/info.py:2 -62 in generate_component_info_help - -261 │   │   │   │   │   inputs_table.add_row(                                                   -❱ 262 │   │   │   │   │   │   f"[orange1 on black] {key} [/][dim i] ({info['type']})",            -263 │   │   │   │   │   │   Markdown(info["description"if info["description"else""),       -╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ -TypeError: 'NoneType' object is not subscriptable + + $ nf-core subworkflows info bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +╭───────────────────────────────Traceback (most recent call last)────────────────────────────────╮ +/opt/hostedtoolcache/Python/3.11.1/x64/bin/nf-core:8 in <module> + +│   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$''', sys.argv[0])                          +❱ │   sys.exit(run_nf_core())                                                                   + + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/nf_core/__main__.py:105 in    +run_nf_core + + 104 │   # Launch the click cli +❱  105 │   nf_core_cli(auto_envvar_prefix="NFCORE")                                               + 106  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:1130 in         +__call__ + +1129 │   │   """Alias for :meth:`main`.""" +❱ 1130 │   │   returnself.main(*args, **kwargs)                                                  +1131  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/rich_click/rich_group.py:21 + in main + +20 │   │   try:                                                                                 +❱ 21 │   │   │   rv = super().main(*args, standalone_mode=False, **kwargs)                        +22 │   │   │   ifnot standalone_mode:                                                          + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:1055 in main + +1054 │   │   │   │   withself.make_context(prog_name, args, **extra) as ctx:                   +❱ 1055 │   │   │   │   │   rv = self.invoke(ctx)                                                  +1056 │   │   │   │   │   ifnot standalone_mode:                                                + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:1657 in invoke + +1656 │   │   │   │   with sub_ctx:                                                              +❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))                +1658  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:1657 in invoke + +1656 │   │   │   │   with sub_ctx:                                                              +❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))                +1658  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:1404 in invoke + +1403 │   │   ifself.callback isnotNone:                                                      +❱ 1404 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                 +1405  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/core.py:760 in invoke + + 759 │   │   │   with ctx:                                                                      +❱  760 │   │   │   │   return __callback(*args, **kwargs)                                         + 761  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/click/decorators.py:26 in     +new_func + + 25 │   defnew_func(*args, **kwargs):  # type: ignore +❱  26 │   │   return f(get_current_context(), *args, **kwargs)                                    + 27  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/nf_core/__main__.py:1087 in   +info + +1086 │   │   )                                                                                  +❱ 1087 │   │   stdout.print(subworkflow_info.get_component_info())                                +1088 │   except (UserWarningLookupErroras e:                                                + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/nf_core/components/info.py:1 +49 in get_component_info + +148 │   │    +❱ 149 │   │   returnself.generate_component_info_help()                                          +150  + +/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/nf_core/components/info.py:2 +62 in generate_component_info_help + +261 │   │   │   │   │   inputs_table.add_row(                                                   +❱ 262 │   │   │   │   │   │   f"[orange1 on black] {key} [/][dim i] ({info['type']})",            +263 │   │   │   │   │   │   Markdown(info["description"if info["description"else""),       +╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ +TypeError: 'NoneType' object is not subscriptable diff --git a/docs/images/nf-core-subworkflows-install.svg b/docs/images/nf-core-subworkflows-install.svg index 4ad2943f2d..a440ce839e 100644 --- a/docs/images/nf-core-subworkflows-install.svg +++ b/docs/images/nf-core-subworkflows-install.svg @@ -19,107 +19,107 @@ font-weight: 700; } - .terminal-1152843897-matrix { + .terminal-1243414650-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1152843897-title { + .terminal-1243414650-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1152843897-r1 { fill: #c5c8c6 } -.terminal-1152843897-r2 { fill: #98a84b } -.terminal-1152843897-r3 { fill: #9a9b99 } -.terminal-1152843897-r4 { fill: #608ab1 } -.terminal-1152843897-r5 { fill: #d0b344 } -.terminal-1152843897-r6 { fill: #cc555a } + .terminal-1243414650-r1 { fill: #c5c8c6 } +.terminal-1243414650-r2 { fill: #98a84b } +.terminal-1243414650-r3 { fill: #9a9b99 } +.terminal-1243414650-r4 { fill: #608ab1 } +.terminal-1243414650-r5 { fill: #d0b344 } +.terminal-1243414650-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -131,36 +131,36 @@ - + - - $ nf-core subworkflows install bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -Aborted. + + $ nf-core subworkflows install bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +Aborted. diff --git a/docs/images/nf-core-subworkflows-list-local.svg b/docs/images/nf-core-subworkflows-list-local.svg index 3338be6182..208e28e40e 100644 --- a/docs/images/nf-core-subworkflows-list-local.svg +++ b/docs/images/nf-core-subworkflows-list-local.svg @@ -19,108 +19,108 @@ font-weight: 700; } - .terminal-85784132-matrix { + .terminal-174716485-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-85784132-title { + .terminal-174716485-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-85784132-r1 { fill: #c5c8c6 } -.terminal-85784132-r2 { fill: #98a84b } -.terminal-85784132-r3 { fill: #9a9b99 } -.terminal-85784132-r4 { fill: #608ab1 } -.terminal-85784132-r5 { fill: #d0b344 } -.terminal-85784132-r6 { fill: #cc555a } -.terminal-85784132-r7 { fill: #868887;font-style: italic; } + .terminal-174716485-r1 { fill: #c5c8c6 } +.terminal-174716485-r2 { fill: #98a84b } +.terminal-174716485-r3 { fill: #9a9b99 } +.terminal-174716485-r4 { fill: #608ab1 } +.terminal-174716485-r5 { fill: #d0b344 } +.terminal-174716485-r6 { fill: #cc555a } +.terminal-174716485-r7 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -132,36 +132,36 @@ - + - - $ nf-core subworkflows list local - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -[..truncated..] + + $ nf-core subworkflows list local + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +[..truncated..] diff --git a/docs/images/nf-core-subworkflows-list-remote.svg b/docs/images/nf-core-subworkflows-list-remote.svg index 9c60556afe..4e2ff9f8a5 100644 --- a/docs/images/nf-core-subworkflows-list-remote.svg +++ b/docs/images/nf-core-subworkflows-list-remote.svg @@ -19,109 +19,109 @@ font-weight: 700; } - .terminal-4078322582-matrix { + .terminal-4215096215-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-4078322582-title { + .terminal-4215096215-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-4078322582-r1 { fill: #c5c8c6 } -.terminal-4078322582-r2 { fill: #98a84b } -.terminal-4078322582-r3 { fill: #9a9b99 } -.terminal-4078322582-r4 { fill: #608ab1 } -.terminal-4078322582-r5 { fill: #d0b344 } -.terminal-4078322582-r6 { fill: #1984e9;text-decoration: underline; } -.terminal-4078322582-r7 { fill: #c5c8c6;font-weight: bold } -.terminal-4078322582-r8 { fill: #868887;font-style: italic; } + .terminal-4215096215-r1 { fill: #c5c8c6 } +.terminal-4215096215-r2 { fill: #98a84b } +.terminal-4215096215-r3 { fill: #9a9b99 } +.terminal-4215096215-r4 { fill: #608ab1 } +.terminal-4215096215-r5 { fill: #d0b344 } +.terminal-4215096215-r6 { fill: #1984e9;text-decoration: underline; } +.terminal-4215096215-r7 { fill: #c5c8c6;font-weight: bold } +.terminal-4215096215-r8 { fill: #868887;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -133,36 +133,36 @@ - + - - $ nf-core subworkflows list remote - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -INFO     Subworkflows available from https://github.com/nf-core/modules.git(master):                - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ -Subworkflow Name                             -┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ -│ bam_dedup_stats_samtools_umitools            │ -│ bam_markduplicates_picard                    │ -│ bam_qc_picard                                │ -│ bam_rseqc                                    │ -│ bam_sort_stats_samtools                      │ -│ bam_stats_samtools                           │ -│ bcl_demultiplex                              │ -│ bed_scatter_bedtools                         │ -│ bedgraph_bedclip_bedgraphtobigwig            │ -[..truncated..] + + $ nf-core subworkflows list remote + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +INFO     Subworkflows available from https://github.com/nf-core/modules.git(master):                + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +Subworkflow Name                             +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ +│ bam_dedup_stats_samtools_umitools            │ +│ bam_markduplicates_picard                    │ +│ bam_qc_picard                                │ +│ bam_rseqc                                    │ +│ bam_sort_stats_samtools                      │ +│ bam_stats_samtools                           │ +│ bcl_demultiplex                              │ +│ bed_scatter_bedtools                         │ +│ bedgraph_bedclip_bedgraphtobigwig            │ +[..truncated..] diff --git a/docs/images/nf-core-subworkflows-remove.svg b/docs/images/nf-core-subworkflows-remove.svg index d6a95b7b77..33b93f5c19 100644 --- a/docs/images/nf-core-subworkflows-remove.svg +++ b/docs/images/nf-core-subworkflows-remove.svg @@ -19,107 +19,107 @@ font-weight: 700; } - .terminal-559218704-matrix { + .terminal-649789457-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-559218704-title { + .terminal-649789457-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-559218704-r1 { fill: #c5c8c6 } -.terminal-559218704-r2 { fill: #98a84b } -.terminal-559218704-r3 { fill: #9a9b99 } -.terminal-559218704-r4 { fill: #608ab1 } -.terminal-559218704-r5 { fill: #d0b344 } -.terminal-559218704-r6 { fill: #cc555a } + .terminal-649789457-r1 { fill: #c5c8c6 } +.terminal-649789457-r2 { fill: #98a84b } +.terminal-649789457-r3 { fill: #9a9b99 } +.terminal-649789457-r4 { fill: #608ab1 } +.terminal-649789457-r5 { fill: #d0b344 } +.terminal-649789457-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -131,36 +131,36 @@ - + - - $ nf-core subworkflows remove bam_rseqc - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -Aborted. + + $ nf-core subworkflows remove bam_rseqc + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +Aborted. diff --git a/docs/images/nf-core-subworkflows-test.svg b/docs/images/nf-core-subworkflows-test.svg index 0e3904fc3c..44d0a5fc48 100644 --- a/docs/images/nf-core-subworkflows-test.svg +++ b/docs/images/nf-core-subworkflows-test.svg @@ -19,107 +19,107 @@ font-weight: 700; } - .terminal-2420114395-matrix { + .terminal-2510685148-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2420114395-title { + .terminal-2510685148-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2420114395-r1 { fill: #c5c8c6 } -.terminal-2420114395-r2 { fill: #98a84b } -.terminal-2420114395-r3 { fill: #9a9b99 } -.terminal-2420114395-r4 { fill: #608ab1 } -.terminal-2420114395-r5 { fill: #d0b344 } -.terminal-2420114395-r6 { fill: #cc555a } + .terminal-2510685148-r1 { fill: #c5c8c6 } +.terminal-2510685148-r2 { fill: #98a84b } +.terminal-2510685148-r3 { fill: #9a9b99 } +.terminal-2510685148-r4 { fill: #608ab1 } +.terminal-2510685148-r5 { fill: #d0b344 } +.terminal-2510685148-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -131,36 +131,36 @@ - + - - $ nf-core subworkflows test bam_rseqc --no-prompts - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -Aborted. + + $ nf-core subworkflows test bam_rseqc --no-prompts + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +Aborted. diff --git a/docs/images/nf-core-subworkflows-update.svg b/docs/images/nf-core-subworkflows-update.svg index cee91fa471..4769128e73 100644 --- a/docs/images/nf-core-subworkflows-update.svg +++ b/docs/images/nf-core-subworkflows-update.svg @@ -19,107 +19,107 @@ font-weight: 700; } - .terminal-1454637681-matrix { + .terminal-1545208434-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1454637681-title { + .terminal-1545208434-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1454637681-r1 { fill: #c5c8c6 } -.terminal-1454637681-r2 { fill: #98a84b } -.terminal-1454637681-r3 { fill: #9a9b99 } -.terminal-1454637681-r4 { fill: #608ab1 } -.terminal-1454637681-r5 { fill: #d0b344 } -.terminal-1454637681-r6 { fill: #cc555a } + .terminal-1545208434-r1 { fill: #c5c8c6 } +.terminal-1545208434-r2 { fill: #98a84b } +.terminal-1545208434-r3 { fill: #9a9b99 } +.terminal-1545208434-r4 { fill: #608ab1 } +.terminal-1545208434-r5 { fill: #d0b344 } +.terminal-1545208434-r6 { fill: #cc555a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -131,36 +131,36 @@ - + - - $ nf-core subworkflows update --all --no-preview - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - - -WARNING 'repository_type' not defined in .nf-core.yml                                               -Warning: Input is not a terminal (fd=0). -? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - » Pipeline -   nf-core/modules - - - -        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr -                                                                               o -w keys) - -Aborted. + + $ nf-core subworkflows update --all --no-preview + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + + +WARNING 'repository_type' not defined in .nf-core.yml                                               +Warning: Input is not a terminal (fd=0). +? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + » Pipeline +   nf-core/modules + + + +        ? Is this repository an nf-core pipeline or a fork of nf-core/modules? (Use arr +                                                                               o +w keys) + +Aborted. diff --git a/docs/images/nf-core-sync.svg b/docs/images/nf-core-sync.svg index 2f22643569..99c164c146 100644 --- a/docs/images/nf-core-sync.svg +++ b/docs/images/nf-core-sync.svg @@ -19,72 +19,72 @@ font-weight: 700; } - .terminal-739183148-matrix { + .terminal-832309805-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-739183148-title { + .terminal-832309805-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-739183148-r1 { fill: #c5c8c6 } -.terminal-739183148-r2 { fill: #98a84b } -.terminal-739183148-r3 { fill: #9a9b99 } -.terminal-739183148-r4 { fill: #608ab1 } -.terminal-739183148-r5 { fill: #d0b344 } -.terminal-739183148-r6 { fill: #98729f } -.terminal-739183148-r7 { fill: #ff2c7a } + .terminal-832309805-r1 { fill: #c5c8c6 } +.terminal-832309805-r2 { fill: #98a84b } +.terminal-832309805-r3 { fill: #9a9b99 } +.terminal-832309805-r4 { fill: #608ab1 } +.terminal-832309805-r5 { fill: #d0b344 } +.terminal-832309805-r6 { fill: #98729f } +.terminal-832309805-r7 { fill: #ff2c7a } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96,24 +96,24 @@ - + - - $ nf-core sync - -                                          ,--./,-. -          ___     __   __   __   ___     /,-._.--~\ -    |\ | |__  __ /  ` /  \ |__) |__         }  { -    | \| |       \__, \__/ |  \ |___     \`-._,-`-, -                                          `._,._,' - -    nf-core/tools version 2.7.1 - https://nf-co.re - - -INFO     Pipeline directory: /home/runner/work/tools/tools/tmp/nf-core-nextbigthing -INFO     Original pipeline repository branch is 'master' -INFO     Deleting all files in 'TEMPLATE' branch                                                     -INFO     Making a new template pipeline using pipeline variables                                     + + $ nf-core sync + +                                          ,--./,-. +          ___     __   __   __   ___     /,-._.--~\ +    |\ | |__  __ /  ` /  \ |__) |__         }  { +    | \| |       \__, \__/ |  \ |___     \`-._,-`-, +                                          `._,._,' + +    nf-core/tools version 2.7.2 - https://nf-co.re + + +INFO     Pipeline directory: /home/runner/work/tools/tools/tmp/nf-core-nextbigthing +INFO     Original pipeline repository branch is 'master' +INFO     Deleting all files in 'TEMPLATE' branch                                                     +INFO     Making a new template pipeline using pipeline variables                                     From 9203455d4e31ceb2ff0ca55da9f875a10032bf62 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Thu, 2 Feb 2023 16:14:01 +0100 Subject: [PATCH 02/12] modify jinja2 modules template --- nf_core/module-template/modules/main.nf | 18 +++++++++++++-- nf_core/module-template/modules/meta.yml | 28 +++++++++++++++++------- nf_core/module-template/tests/test.yml | 4 ++++ 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index e8f043f083..c9fe8361b5 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -1,3 +1,4 @@ +{% if not_minimal -%} // TODO nf-core: If in doubt look at other nf-core/modules to see how we are doing things! :) // https://github.com/nf-core/modules/tree/master/modules/nf-core/ // You can also ask for help via your pull request or on the #modules channel on the nf-core Slack workspace: @@ -14,33 +15,42 @@ // bwa mem | samtools view -B -T ref.fasta // TODO nf-core: Optional inputs are not currently supported by Nextflow. However, using an empty // list (`[]`) instead of a file can be used to work around this issue. +{%- endif %} process {{ tool_name_underscore|upper }} { tag {{ '"$meta.id"' if has_meta else "'$bam'" }} label '{{ process_label }}' + {% if not_minimal -%} // TODO nf-core: List required Conda package(s). // Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). // For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. + {%- endif %} conda "{{ bioconda if bioconda else 'YOUR-TOOL-HERE' }}" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? '{{ singularity_container if singularity_container else 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE' }}': '{{ docker_container if docker_container else 'quay.io/biocontainers/YOUR-TOOL-HERE' }}' }" input: + {% if not_minimal -%} // TODO nf-core: Where applicable all sample-specific information e.g. "id", "single_end", "read_group" // MUST be provided as an input via a Groovy Map called "meta". // This information may not be required in some instances e.g. indexing reference genome files: // https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf // TODO nf-core: Where applicable please provide/convert compressed files as input/output // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. - {{ 'tuple val(meta), path(bam)' if has_meta else 'path bam' }} + {%- endif %} + {{ {'tuple val(meta), path(bam)' if not_minimal else 'tuple val(meta), path(input)'} if has_meta else {'path bam' if not_minimal else 'path input'} }} output: + {% if not_minimal -%} // TODO nf-core: Named file extensions MUST be emitted for ALL output channels - {{ 'tuple val(meta), path("*.bam")' if has_meta else 'path "*.bam"' }}, emit: bam + {%- endif %} + {{ {'tuple val(meta), path("*.bam")' if not_minimal else 'tuple val(meta), path("*")'} if has_meta else {'path "*.bam"' if not_minimal else 'path "*"'} }}, emit: {bam if not_minimal else output} + {% if not_minimal -%} // TODO nf-core: List additional required output channels/values here + {%- endif %} path "versions.yml" , emit: versions when: @@ -51,6 +61,7 @@ process {{ tool_name_underscore|upper }} { {% if has_meta -%} def prefix = task.ext.prefix ?: "${meta.id}" {%- endif %} + {% if not_minimal -%} // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 // If the software is unable to output a version number on the command-line then it can be manually specified // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf @@ -60,7 +71,9 @@ process {{ tool_name_underscore|upper }} { // using the Nextflow "task" variable e.g. "--threads $task.cpus" // TODO nf-core: Please replace the example samtools command below with your module's command // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) + {%- endif %} """ + {% if not_minimal -%} samtools \\ sort \\ $args \\ @@ -70,6 +83,7 @@ process {{ tool_name_underscore|upper }} { -T $prefix \\ {%- endif %} $bam + {%- endif %} cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/nf_core/module-template/modules/meta.yml b/nf_core/module-template/modules/meta.yml index c95e3e1d84..fa3011585b 100644 --- a/nf_core/module-template/modules/meta.yml +++ b/nf_core/module-template/modules/meta.yml @@ -1,11 +1,15 @@ name: "{{ tool_name_underscore }}" +#{% if not_minimal -%} ## TODO nf-core: Add a description of the module and list keywords +#{%- endif %} description: write your description here keywords: - sort tools: - "{{ tool }}": + #{% if not_minimal -%} ## TODO nf-core: Add a description and other details for the software below + #{%- endif %} description: "{{ tool_description }}" homepage: "{{ tool_doc_url }}" documentation: "{{ tool_doc_url }}" @@ -13,7 +17,9 @@ tools: doi: "" licence: "{{ tool_licence }}" +#{% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as input +#{%- endif %} input: #{% if has_meta %} Only when we have meta - meta: @@ -22,13 +28,17 @@ input: Groovy Map containing sample information e.g. [ id:'test', single_end:false ] #{% endif %} + #{% if not_minimal -%} ## TODO nf-core: Delete / customise this example input - - bam: - type: file - description: BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" + #{%- endif %} + - #{{ 'bam:' if not_minimal else "input:" }} + type: file + description: #{{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} + pattern: #{{ '"*.{bam,cram,sam}"' if not_minimal else "" }} +#{% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as output +#{%- endif %} output: #{% if has_meta -%} Only when we have meta - meta: @@ -41,11 +51,13 @@ output: type: file description: File containing software versions pattern: "versions.yml" + #{% if not_minimal -%} ## TODO nf-core: Delete / customise this example output - - bam: - type: file - description: Sorted BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" + #{%- endif %} + - #{{ 'bam:' if not_minimal else "output:" }} + type: file + description: #{{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} + pattern: #{{ '"*.{bam,cram,sam}"' if not_minimal else "" }} authors: - "{{ author }}" diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index a65b127c97..4095c1108c 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -1,12 +1,16 @@ +#{% if not_minimal -%} ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} +#{%- endif %} - name: "{{ tool }}{{ ' '+subtool if subtool else '' }}" command: nextflow run ./tests/modules/{{ org }}/{{ tool_dir }} -entry test_{{ tool_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ tool_dir }}/nextflow.config tags: - "{{ tool }}{% if subtool -%}" - "{{ tool }}/{{ subtool }}{%- endif %}" files: + #{% if not_minimal -%} - path: "output/{{ tool }}/test.bam" md5sum: e667c7caad0bc4b7ac383fd023c654fc - path: "output/{{ tool }}/versions.yml" md5sum: a01fe51bc4c6a3a6226fbf77b2c7cf3b + #{%- endif %} From f13cc5e8b1ac379cee2c9d35788499675ddc35c7 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 09:31:50 +0100 Subject: [PATCH 03/12] run isort --- nf_core/components/create.py | 438 +++++++++++++++++++++++++++++++++ nf_core/modules/create.py | 232 +---------------- nf_core/subworkflows/create.py | 112 +-------- 3 files changed, 454 insertions(+), 328 deletions(-) create mode 100644 nf_core/components/create.py diff --git a/nf_core/components/create.py b/nf_core/components/create.py new file mode 100644 index 0000000000..d44eb02c47 --- /dev/null +++ b/nf_core/components/create.py @@ -0,0 +1,438 @@ +""" +The ComponentCreate class handles generating of module and subworkflow templates +""" + +from __future__ import print_function + +import glob +import json +import logging +import os +import re +import subprocess + +import jinja2 +import questionary +import rich +import yaml +from packaging.version import parse as parse_version + +import nf_core +import nf_core.components.components_create +import nf_core.utils +from nf_core.components.components_command import ComponentCommand + +log = logging.getLogger(__name__) + + +class ComponentCreate(ComponentCommand): + def __init__( + self, + component_type, + directory=".", + component="", + author=None, + process_label=None, + has_meta=None, + force=False, + conda_name=None, + conda_version=None, + ): + super().__init__(component_type, directory) + self.directory = directory + self.component = component + self.author = author + self.process_label = process_label + self.has_meta = has_meta + self.force_overwrite = force + self.subtool = None + self.tool_conda_name = conda_name + self.tool_conda_version = conda_version + self.tool_licence = None + self.tool_licence = "" + self.tool_description = "" + self.tool_doc_url = "" + self.tool_dev_url = "" + self.bioconda = None + self.singularity_container = None + self.docker_container = None + self.file_paths = {} + + def create(self): + """ + Create a new DSL2 module or subworkflow from the nf-core template. + + A module should be named just or + e.g fastqc or samtools/sort, respectively. + + The subworkflow should be named as the main file type it operates on and a short description of the task performed + e.g bam_sort or bam_sort_samtools, respectively. + + If is a pipeline, this function creates a file called: + '/modules/local/tool.nf' + OR + '/modules/local/tool_subtool.nf' + OR for subworkflows + '/subworkflows/local/subworkflow_name.nf' + + If is a clone of nf-core/modules, it creates or modifies the following files: + + For modules: + + modules/modules/nf-core/tool/subtool/ + * main.nf + * meta.yml + modules/tests/modules/nf-core/tool/subtool/ + * main.nf + * test.yml + * nextflow.config + tests/config/pytest_modules.yml + + The function will attempt to automatically find a Bioconda package called + and matching Docker / Singularity images from BioContainers. + + For subworkflows: + subworkflows/nf-core/subworkflow_name/ + * main.nf + * meta.yml + tests/subworkflows/nf-core/subworkflow_name/ + * main.nf + * test.yml + * nextflow.config + tests/config/pytest_modules.yml + + """ + + if self.component_type == "modules": + # Check modules directory structure + self.check_modules_structure() + + # Check whether the given directory is a nf-core pipeline or a clone of nf-core/modules + log.info(f"Repository type: [blue]{self.repo_type}") + if self.directory != ".": + log.info(f"Base directory: '{self.directory}'") + + log.info( + "[yellow]Press enter to use default values [cyan bold](shown in brackets)[/] [yellow]or type your own responses. " + "ctrl+click [link=https://youtu.be/dQw4w9WgXcQ]underlined text[/link] to open links." + ) + + # Collect component info via prompt if empty or invalid + self.component, self.subtool = self._collect_name_prompt() + + # Determine the component name + self.component_name = self.component + self.component_dir = self.component + + if self.subtool: + self.component_name = f"{self.component}/{self.subtool}" + self.component_dir = os.path.join(self.component, self.subtool) + + self.component_name_underscore = self.component_name.replace("/", "_") + + # Check existence of directories early for fast-fail + self.file_paths = self._get_component_dirs() + + if self.component_type == "modules": + # Try to find a bioconda package for 'component' + self._get_bioconda_tool() + + # Prompt for GitHub username + self._get_username() + + self._get_module_structure_components() + + # Create component template with jinja2 + self._render_template() + + if self.repo_type == "modules": + # Add entry to pytest_modules.yml + try: + with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "r") as fh: + pytest_modules_yml = yaml.safe_load(fh) + if self.subtool: + pytest_modules_yml[self.component_name] = [ + f"modules/{self.org}/{self.component}/{self.subtool}/**", + f"tests/modules/{self.org}/{self.component}/{self.subtool}/**", + ] + else: + pytest_modules_yml[ + ("" if self.component_type == "modules" else self.component_type + "/") + self.component_name + ] = [ + f"{self.component_type}/{self.org}/{self.component}/**", + f"tests/{self.component_type}/{self.org}/{self.component}/**", + ] + pytest_modules_yml = dict(sorted(pytest_modules_yml.items())) + with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "w") as fh: + yaml.dump(pytest_modules_yml, fh, sort_keys=True, Dumper=nf_core.utils.custom_yaml_dumper()) + except FileNotFoundError: + raise UserWarning("Could not open 'tests/config/pytest_modules.yml' file!") + + new_files = list(self.file_paths.values()) + if self.repo_type == "modules": + new_files.append(os.path.join(self.directory, "tests", "config", "pytest_modules.yml")) + log.info("Created / edited following files:\n " + "\n ".join(new_files)) + + def _get_bioconda_tool(self): + """ + Try to find a bioconda package for 'tool' + """ + while True: + try: + if self.tool_conda_name: + anaconda_response = nf_core.utils.anaconda_package(self.tool_conda_name, ["bioconda"]) + else: + anaconda_response = nf_core.utils.anaconda_package(self.tool, ["bioconda"]) + + if not self.tool_conda_version: + version = anaconda_response.get("latest_version") + if not version: + version = str(max([parse_version(v) for v in anaconda_response["versions"]])) + else: + version = self.tool_conda_version + + self.tool_licence = nf_core.utils.parse_anaconda_licence(anaconda_response, version) + self.tool_description = anaconda_response.get("summary", "") + self.tool_doc_url = anaconda_response.get("doc_url", "") + self.tool_dev_url = anaconda_response.get("dev_url", "") + if self.tool_conda_name: + self.bioconda = "bioconda::" + self.tool_conda_name + "=" + version + else: + self.bioconda = "bioconda::" + self.tool + "=" + version + log.info(f"Using Bioconda package: '{self.bioconda}'") + break + except (ValueError, LookupError) as e: + log.warning( + f"Could not find Conda dependency using the Anaconda API: '{self.tool_conda_name if self.tool_conda_name else self.tool}'" + ) + if rich.prompt.Confirm.ask("[violet]Do you want to enter a different Bioconda package name?"): + self.tool_conda_name = rich.prompt.Prompt.ask("[violet]Name of Bioconda package").strip() + continue + else: + log.warning( + f"{e}\nBuilding module without tool software and meta, you will need to enter this information manually." + ) + break + + # Try to get the container tag (only if bioconda package was found) + if self.bioconda: + try: + if self.tool_conda_name: + self.docker_container, self.singularity_container = nf_core.utils.get_biocontainer_tag( + self.tool_conda_name, version + ) + else: + self.docker_container, self.singularity_container = nf_core.utils.get_biocontainer_tag( + self.tool, version + ) + log.info(f"Using Docker container: '{self.docker_container}'") + log.info(f"Using Singularity container: '{self.singularity_container}'") + except (ValueError, LookupError) as e: + log.info(f"Could not find a Docker/Singularity container ({e})") + + def _get_module_structure_components(self): + process_label_defaults = ["process_single", "process_low", "process_medium", "process_high", "process_long"] + if self.process_label is None: + log.info( + "Provide an appropriate resource label for the process, taken from the " + "[link=https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config#L29]nf-core pipeline template[/link].\n" + "For example: {}".format(", ".join(process_label_defaults)) + ) + while self.process_label is None: + self.process_label = questionary.autocomplete( + "Process resource label:", + choices=process_label_defaults, + style=nf_core.utils.nfcore_question_style, + default="process_single", + ).unsafe_ask() + + if self.has_meta is None: + log.info( + "Where applicable all sample-specific information e.g. 'id', 'single_end', 'read_group' " + "MUST be provided as an input via a Groovy Map called 'meta'. " + "This information may [italic]not[/] be required in some instances, for example " + "[link=https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf]indexing reference genome files[/link]." + ) + while self.has_meta is None: + self.has_meta = rich.prompt.Confirm.ask( + "[violet]Will the module require a meta map of sample information?", default=True + ) + + def _render_template(self): + """ + Create new module/subworkflow files with Jinja2. + """ + object_attrs = vars(self) + # Run jinja2 for each file in the template folder + env = jinja2.Environment( + loader=jinja2.PackageLoader("nf_core", f"{self.component_type[:-1]}-template"), keep_trailing_newline=True + ) + for template_fn, dest_fn in self.file_paths.items(): + log.debug(f"Rendering template file: '{template_fn}'") + j_template = env.get_template(template_fn) + object_attrs["nf_core_version"] = nf_core.__version__ + rendered_output = j_template.render(object_attrs) + + # Write output to the target file + os.makedirs(os.path.dirname(dest_fn), exist_ok=True) + with open(dest_fn, "w") as fh: + log.debug(f"Writing output to: '{dest_fn}'") + fh.write(rendered_output) + + # Mirror file permissions + template_stat = os.stat( + os.path.join(os.path.dirname(nf_core.__file__), f"{self.component_type[:-1]}-template", template_fn) + ) + os.chmod(dest_fn, template_stat.st_mode) + + def _collect_name_prompt(self): + """ + Collect module/subworkflow info via prompt if empty or invalid + """ + # Collect module info via prompt if empty or invalid + subname = None + if self.component_type == "modules": + pattern = r"[^a-z\d/]" + elif self.component_type == "subworkflows": + pattern = r"[^a-z\d_/]" + if self.component is None: + self.component = "" + while self.component == "" or re.search(pattern, self.component) or self.component.count("/") > 0: + # Check + auto-fix for invalid chacters + if re.search(pattern, self.component): + if self.component_type == "modules": + log.warning("Tool/subtool name must be lower-case letters only, with no punctuation") + elif self.component_type == "subworkflows": + log.warning("Subworkflow name must be lower-case letters only, with no punctuation") + name_clean = re.sub(r"[^a-z\d/]", "", self.component.lower()) + if rich.prompt.Confirm.ask(f"[violet]Change '{self.component}' to '{name_clean}'?"): + self.component = name_clean + else: + self.component = "" + + if self.component_type == "modules": + # Split into tool and subtool + if self.component.count("/") > 1: + log.warning("Tool/subtool can have maximum one '/' character") + self.component = "" + elif self.component.count("/") == 1: + self.component, subname = self.component.split("/") + else: + subname = None # Reset edge case: entered '/subtool' as name and gone round loop again + + # Prompt for new entry if we reset + if self.component == "": + if self.component_type == "modules": + self.component = rich.prompt.Prompt.ask("[violet]Name of tool/subtool").strip() + elif self.component_type == "subworkflows": + self.component = rich.prompt.Prompt.ask("[violet]Name of subworkflow").strip() + + if self.component_type == "modules": + return self.component, subname + elif self.component_type == "subworkflows": + return self.component + + def _get_component_dirs(self): + """Given a directory and a tool/subtool or subworkflow, set the file paths and check if they already exist + + Returns dict: keys are relative paths to template files, vals are target paths. + """ + file_paths = {} + if self.repo_type == "pipeline": + local_component_dir = os.path.join(self.directory, self.component_type, "local") + # Check whether component file already exists + component_file = os.path.join(local_component_dir, f"{self.component_name}.nf") + if os.path.exists(component_file) and not self.force_overwrite: + raise UserWarning( + f"{self.component_type[:-1].title()} file exists already: '{component_file}'. Use '--force' to overwrite" + ) + + if self.component_type == "modules": + # If a subtool, check if there is a module called the base tool name already + if self.subtool and os.path.exists(os.path.join(local_component_dir, f"{self.component}.nf")): + raise UserWarning( + f"Module '{self.component}' exists already, cannot make subtool '{self.component_name}'" + ) + + # If no subtool, check that there isn't already a tool/subtool + tool_glob = glob.glob(f"{local_component_dir}/{self.component}_*.nf") + if not self.subtool and tool_glob: + raise UserWarning( + f"Module subtool '{tool_glob[0]}' exists already, cannot make tool '{self.component_name}'" + ) + + # Set file paths + file_paths[os.path.join(self.component_type, "main.nf")] = component_file + + if self.repo_type == "modules": + software_dir = os.path.join(self.directory, self.component_type, self.org, self.component_dir) + test_dir = os.path.join(self.directory, "tests", self.component_type, self.org, self.component_dir) + + # Check if module/subworkflow directories exist already + if os.path.exists(software_dir) and not self.force_overwrite: + raise UserWarning( + f"{self.component_type[:-1]} directory exists: '{software_dir}'. Use '--force' to overwrite" + ) + if os.path.exists(test_dir) and not self.force_overwrite: + raise UserWarning( + f"{self.component_type[:-1]} test directory exists: '{test_dir}'. Use '--force' to overwrite" + ) + + if self.component_type == "modules": + # If a subtool, check if there is a module called the base tool name already + parent_tool_main_nf = os.path.join( + self.directory, self.component_type, self.org, self.component, "main.nf" + ) + parent_tool_test_nf = os.path.join( + self.directory, self.component_type, self.org, self.component, "main.nf" + ) + if self.subtool and os.path.exists(parent_tool_main_nf): + raise UserWarning( + f"Module '{parent_tool_main_nf}' exists already, cannot make subtool '{self.component_name}'" + ) + if self.subtool and os.path.exists(parent_tool_test_nf): + raise UserWarning( + f"Module '{parent_tool_test_nf}' exists already, cannot make subtool '{self.component_name}'" + ) + + # If no subtool, check that there isn't already a tool/subtool + tool_glob = glob.glob( + f"{os.path.join(self.directory, self.component_type, self.org, self.component)}/*/main.nf" + ) + if not self.subtool and tool_glob: + raise UserWarning( + f"Module subtool '{tool_glob[0]}' exists already, cannot make tool '{self.component_name}'" + ) + + # Set file paths + # For modules - can be tool/ or tool/subtool/ so can't do in template directory structure + file_paths[os.path.join(self.component_type, "main.nf")] = os.path.join(software_dir, "main.nf") + file_paths[os.path.join(self.component_type, "meta.yml")] = os.path.join(software_dir, "meta.yml") + file_paths[os.path.join("tests", "main.nf")] = os.path.join(test_dir, "main.nf") + file_paths[os.path.join("tests", "test.yml")] = os.path.join(test_dir, "test.yml") + file_paths[os.path.join("tests", "nextflow.config")] = os.path.join(test_dir, "nextflow.config") + + return file_paths + + def _get_username(self): + """ + Prompt for GitHub username + """ + # Try to guess the current user if `gh` is installed + author_default = None + try: + with open(os.devnull, "w") as devnull: + gh_auth_user = json.loads(subprocess.check_output(["gh", "api", "/user"], stderr=devnull)) + author_default = f"@{gh_auth_user['login']}" + except Exception as e: + log.debug(f"Could not find GitHub username using 'gh' cli command: [red]{e}") + + # Regex to valid GitHub username: https://github.com/shinnn/github-username-regex + github_username_regex = re.compile(r"^@[a-zA-Z\d](?:[a-zA-Z\d]|-(?=[a-zA-Z\d])){0,38}$") + while self.author is None or not github_username_regex.match(self.author): + if self.author is not None and not github_username_regex.match(self.author): + log.warning("Does not look like a valid GitHub username (must start with an '@')!") + self.author = rich.prompt.Prompt.ask( + f"[violet]GitHub Username:[/]{' (@author)' if author_default is None else ''}", + default=author_default, + ) diff --git a/nf_core/modules/create.py b/nf_core/modules/create.py index 019a77c71f..bb744af021 100644 --- a/nf_core/modules/create.py +++ b/nf_core/modules/create.py @@ -1,30 +1,15 @@ -""" -The ModuleCreate class handles generating of module templates -""" - -from __future__ import print_function - import logging -import os -import questionary -import rich -import yaml -from packaging.version import parse as parse_version - -import nf_core -import nf_core.components.components_create -import nf_core.utils -from nf_core.components.components_command import ComponentCommand +from nf_core.components.create import ComponentCreate log = logging.getLogger(__name__) -class ModuleCreate(ComponentCommand): +class ModuleCreate(ComponentCreate): def __init__( self, - directory=".", - tool="", + pipeline_dir, + component="", author=None, process_label=None, has_meta=None, @@ -32,211 +17,6 @@ def __init__( conda_name=None, conda_version=None, ): - super().__init__("modules", directory) - self.directory = directory - self.tool = tool - self.author = author - self.process_label = process_label - self.has_meta = has_meta - self.force_overwrite = force - self.subtool = None - self.tool_conda_name = conda_name - self.tool_conda_version = conda_version - self.tool_licence = None - self.tool_licence = "" - self.tool_description = "" - self.tool_doc_url = "" - self.tool_dev_url = "" - self.bioconda = None - self.singularity_container = None - self.docker_container = None - self.file_paths = {} - - def create(self): - """ - Create a new DSL2 module from the nf-core template. - - Tool should be named just or - e.g fastqc or samtools/sort, respectively. - - If is a pipeline, this function creates a file called: - '/modules/local/tool.nf' - OR - '/modules/local/tool_subtool.nf' - - If is a clone of nf-core/modules, it creates or modifies the following files: - - modules/modules/nf-core/tool/subtool/ - * main.nf - * meta.yml - modules/tests/modules/nf-core/tool/subtool/ - * main.nf - * test.yml - * nextflow.config - tests/config/pytest_modules.yml - - The function will attempt to automatically find a Bioconda package called - and matching Docker / Singularity images from BioContainers. - """ - - # Check modules directory structure - self.check_modules_structure() - - log.info(f"Repository type: [blue]{self.repo_type}") - if self.directory != ".": - log.info(f"Base directory: '{self.directory}'") - - log.info( - "[yellow]Press enter to use default values [cyan bold](shown in brackets)[/] [yellow]or type your own responses. " - "ctrl+click [link=https://youtu.be/dQw4w9WgXcQ]underlined text[/link] to open links." + super().__init__( + "modules", pipeline_dir, component, author, process_label, has_meta, force, conda_name, conda_version ) - - # Collect module info via prompt if empty or invalid - self.tool, self.subtool = nf_core.components.components_create.collect_name_prompt( - self.tool, self.component_type - ) - - # Determine the tool name - self.tool_name = self.tool - self.tool_dir = self.tool - - if self.subtool: - self.tool_name = f"{self.tool}/{self.subtool}" - self.tool_dir = os.path.join(self.tool, self.subtool) - - self.tool_name_underscore = self.tool_name.replace("/", "_") - - # Check existence of directories early for fast-fail - self.file_paths = nf_core.components.components_create.get_component_dirs( - self.component_type, - self.repo_type, - self.directory, - self.org, - self.tool_name, - self.tool, - self.subtool, - self.tool_dir, - self.force_overwrite, - ) - - # Try to find a bioconda package for 'tool' - self._get_bioconda_tool() - - # Prompt for GitHub username - self.author = nf_core.components.components_create.get_username(self.author) - - self._get_module_structure_components() - - # Create module template with jinja2 - nf_core.components.components_create.render_template(self.component_type, vars(self), self.file_paths) - - if self.repo_type == "modules": - # Add entry to pytest_modules.yml - try: - with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "r") as fh: - pytest_modules_yml = yaml.safe_load(fh) - if self.subtool: - pytest_modules_yml[self.tool_name] = [ - f"modules/{self.org}/{self.tool}/{self.subtool}/**", - f"tests/modules/{self.org}/{self.tool}/{self.subtool}/**", - ] - else: - pytest_modules_yml[self.tool_name] = [ - f"modules/{self.org}/{self.tool}/**", - f"tests/modules/{self.org}/{self.tool}/**", - ] - pytest_modules_yml = dict(sorted(pytest_modules_yml.items())) - with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "w") as fh: - yaml.dump(pytest_modules_yml, fh, sort_keys=True, Dumper=nf_core.utils.custom_yaml_dumper()) - except FileNotFoundError: - raise UserWarning("Could not open 'tests/config/pytest_modules.yml' file!") - - new_files = list(self.file_paths.values()) - if self.repo_type == "modules": - new_files.append(os.path.join(self.directory, "tests", "config", "pytest_modules.yml")) - log.info("Created / edited following files:\n " + "\n ".join(new_files)) - - def _get_bioconda_tool(self): - """ - Try to find a bioconda package for 'tool' - """ - while True: - try: - if self.tool_conda_name: - anaconda_response = nf_core.utils.anaconda_package(self.tool_conda_name, ["bioconda"]) - else: - anaconda_response = nf_core.utils.anaconda_package(self.tool, ["bioconda"]) - - if not self.tool_conda_version: - version = anaconda_response.get("latest_version") - if not version: - version = str(max([parse_version(v) for v in anaconda_response["versions"]])) - else: - version = self.tool_conda_version - - self.tool_licence = nf_core.utils.parse_anaconda_licence(anaconda_response, version) - self.tool_description = anaconda_response.get("summary", "") - self.tool_doc_url = anaconda_response.get("doc_url", "") - self.tool_dev_url = anaconda_response.get("dev_url", "") - if self.tool_conda_name: - self.bioconda = "bioconda::" + self.tool_conda_name + "=" + version - else: - self.bioconda = "bioconda::" + self.tool + "=" + version - log.info(f"Using Bioconda package: '{self.bioconda}'") - break - except (ValueError, LookupError) as e: - log.warning( - f"Could not find Conda dependency using the Anaconda API: '{self.tool_conda_name if self.tool_conda_name else self.tool}'" - ) - if rich.prompt.Confirm.ask("[violet]Do you want to enter a different Bioconda package name?"): - self.tool_conda_name = rich.prompt.Prompt.ask("[violet]Name of Bioconda package").strip() - continue - else: - log.warning( - f"{e}\nBuilding module without tool software and meta, you will need to enter this information manually." - ) - break - - # Try to get the container tag (only if bioconda package was found) - if self.bioconda: - try: - if self.tool_conda_name: - self.docker_container, self.singularity_container = nf_core.utils.get_biocontainer_tag( - self.tool_conda_name, version - ) - else: - self.docker_container, self.singularity_container = nf_core.utils.get_biocontainer_tag( - self.tool, version - ) - log.info(f"Using Docker container: '{self.docker_container}'") - log.info(f"Using Singularity container: '{self.singularity_container}'") - except (ValueError, LookupError) as e: - log.info(f"Could not find a Docker/Singularity container ({e})") - - def _get_module_structure_components(self): - process_label_defaults = ["process_single", "process_low", "process_medium", "process_high", "process_long"] - if self.process_label is None: - log.info( - "Provide an appropriate resource label for the process, taken from the " - "[link=https://github.com/nf-core/tools/blob/master/nf_core/pipeline-template/conf/base.config#L29]nf-core pipeline template[/link].\n" - "For example: {}".format(", ".join(process_label_defaults)) - ) - while self.process_label is None: - self.process_label = questionary.autocomplete( - "Process resource label:", - choices=process_label_defaults, - style=nf_core.utils.nfcore_question_style, - default="process_single", - ).unsafe_ask() - - if self.has_meta is None: - log.info( - "Where applicable all sample-specific information e.g. 'id', 'single_end', 'read_group' " - "MUST be provided as an input via a Groovy Map called 'meta'. " - "This information may [italic]not[/] be required in some instances, for example " - "[link=https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf]indexing reference genome files[/link]." - ) - while self.has_meta is None: - self.has_meta = rich.prompt.Confirm.ask( - "[violet]Will the module require a meta map of sample information?", default=True - ) diff --git a/nf_core/subworkflows/create.py b/nf_core/subworkflows/create.py index e61f0c6c8d..bd4e5a4fbd 100644 --- a/nf_core/subworkflows/create.py +++ b/nf_core/subworkflows/create.py @@ -1,114 +1,22 @@ -""" -The SubworkflowCreate class handles generating of subworkflow templates -""" - -from __future__ import print_function - import logging -import os - -import yaml -import nf_core -import nf_core.components.components_create -import nf_core.utils -from nf_core.components.components_command import ComponentCommand +from nf_core.components.create import ComponentCreate log = logging.getLogger(__name__) -class SubworkflowCreate(ComponentCommand): +class SubworkflowCreate(ComponentCreate): def __init__( self, - directory=".", - subworkflow="", + pipeline_dir, + component="", author=None, + process_label=None, + has_meta=None, force=False, + conda_name=None, + conda_version=None, ): - super().__init__("subworkflows", directory) - self.directory = directory - self.subworkflow = subworkflow - self.author = author - self.force_overwrite = force - self.file_paths = {} - - def create(self): - """ - Create a new subworkflow from the nf-core template. - - The subworkflow should be named as the main file type it operates on and a short description of the task performed - e.g bam_sort or bam_sort_samtools, respectively. - - If is a pipeline, this function creates a file called: - '/subworkflows/local/subworkflow_name.nf' - - If is a clone of nf-core/modules, it creates or modifies the following files: - - subworkflows/nf-core/subworkflow_name/ - * main.nf - * meta.yml - tests/subworkflows/nf-core/subworkflow_name/ - * main.nf - * test.yml - * nextflow.config - tests/config/pytest_modules.yml - - """ - - # Check whether the given directory is a nf-core pipeline or a clone of nf-core/modules - log.info(f"Repository type: [blue]{self.repo_type}") - if self.directory != ".": - log.info(f"Base directory: '{self.directory}'") - - log.info( - "[yellow]Press enter to use default values [cyan bold](shown in brackets)[/] [yellow]or type your own responses. " - "ctrl+click [link=https://youtu.be/dQw4w9WgXcQ]underlined text[/link] to open links." - ) - - # Collect module info via prompt if empty or invalid - self.subworkflow = nf_core.components.components_create.collect_name_prompt( - self.subworkflow, self.component_type - ) - - # Determine the tool name - self.subworkflow_name = self.subworkflow - self.subworkflow_dir = self.subworkflow - - # Check existence of directories early for fast-fail - self.file_paths = nf_core.components.components_create.get_component_dirs( - self.component_type, - self.repo_type, - self.directory, - self.org, - self.subworkflow_name, - None, - None, - self.subworkflow_dir, - self.force_overwrite, + super().__init__( + "subworkflows", pipeline_dir, component, author, process_label, has_meta, force, conda_name, conda_version ) - - # Prompt for GitHub username - self.author = nf_core.components.components_create.get_username(self.author) - - # Create subworkflow template with jinja2 - nf_core.components.components_create.render_template(self.component_type, vars(self), self.file_paths) - - if self.repo_type == "modules": - # Add entry to pytest_modules.yml - try: - with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "r") as fh: - pytest_modules_yml = yaml.safe_load(fh) - pytest_modules_yml["subworkflows/" + self.subworkflow] = [ - f"subworkflows/{self.org}/{self.subworkflow}/**", - f"tests/subworkflows/{self.org}/{self.subworkflow}/**", - ] - pytest_modules_yml = dict(sorted(pytest_modules_yml.items())) - with open(os.path.join(self.directory, "tests", "config", "pytest_modules.yml"), "w") as fh: - yaml.dump(pytest_modules_yml, fh, sort_keys=True, Dumper=nf_core.utils.custom_yaml_dumper()) - except FileNotFoundError: - raise UserWarning("Could not open 'tests/config/pytest_modules.yml' file!") - - new_files = list(self.file_paths.values()) - if self.repo_type == "modules": - new_files.append(os.path.join(self.directory, "tests", "config", "pytest_modules.yml")) - log.info("Created / edited following files:\n " + "\n ".join(new_files)) From ccc3530237df9231d5244ca19c7b97537c2e7cb4 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 09:32:25 +0100 Subject: [PATCH 04/12] remove unneeded common functions --- nf_core/components/components_create.py | 177 ------------------------ 1 file changed, 177 deletions(-) delete mode 100644 nf_core/components/components_create.py diff --git a/nf_core/components/components_create.py b/nf_core/components/components_create.py deleted file mode 100644 index 86c42c0373..0000000000 --- a/nf_core/components/components_create.py +++ /dev/null @@ -1,177 +0,0 @@ -import glob -import json -import logging -import os -import re -import subprocess - -import jinja2 -import rich - -import nf_core.utils - -log = logging.getLogger(__name__) - - -def render_template(component_type, object_attrs, file_paths): - """ - Create new module/subworkflow files with Jinja2. - """ - # Run jinja2 for each file in the template folder - env = jinja2.Environment( - loader=jinja2.PackageLoader("nf_core", f"{component_type[:-1]}-template"), keep_trailing_newline=True - ) - for template_fn, dest_fn in file_paths.items(): - log.debug(f"Rendering template file: '{template_fn}'") - j_template = env.get_template(template_fn) - object_attrs["nf_core_version"] = nf_core.__version__ - rendered_output = j_template.render(object_attrs) - - # Write output to the target file - os.makedirs(os.path.dirname(dest_fn), exist_ok=True) - with open(dest_fn, "w") as fh: - log.debug(f"Writing output to: '{dest_fn}'") - fh.write(rendered_output) - - # Mirror file permissions - template_stat = os.stat( - os.path.join(os.path.dirname(nf_core.__file__), f"{component_type[:-1]}-template", template_fn) - ) - os.chmod(dest_fn, template_stat.st_mode) - - -def collect_name_prompt(name, component_type): - """ - Collect module/subworkflow info via prompt if empty or invalid - """ - # Collect module info via prompt if empty or invalid - subname = None - if component_type == "modules": - pattern = r"[^a-z\d/]" - elif component_type == "subworkflows": - pattern = r"[^a-z\d_/]" - if name is None: - name = "" - while name == "" or re.search(pattern, name) or name.count("/") > 0: - # Check + auto-fix for invalid chacters - if re.search(pattern, name): - if component_type == "modules": - log.warning("Tool/subtool name must be lower-case letters only, with no punctuation") - elif component_type == "subworkflows": - log.warning("Subworkflow name must be lower-case letters only, with no punctuation") - name_clean = re.sub(r"[^a-z\d/]", "", name.lower()) - if rich.prompt.Confirm.ask(f"[violet]Change '{name}' to '{name_clean}'?"): - name = name_clean - else: - name = "" - - if component_type == "modules": - # Split into tool and subtool - if name.count("/") > 1: - log.warning("Tool/subtool can have maximum one '/' character") - name = "" - elif name.count("/") == 1: - name, subname = name.split("/") - else: - subname = None # Reset edge case: entered '/subtool' as name and gone round loop again - - # Prompt for new entry if we reset - if name == "": - if component_type == "modules": - name = rich.prompt.Prompt.ask("[violet]Name of tool/subtool").strip() - elif component_type == "subworkflows": - name = rich.prompt.Prompt.ask("[violet]Name of subworkflow").strip() - - if component_type == "modules": - return name, subname - elif component_type == "subworkflows": - return name - - -def get_component_dirs(component_type, repo_type, directory, org, name, supername, subname, new_dir, force_overwrite): - """Given a directory and a tool/subtool or subworkflow, set the file paths and check if they already exist - - Returns dict: keys are relative paths to template files, vals are target paths. - """ - file_paths = {} - if repo_type == "pipeline": - local_component_dir = os.path.join(directory, component_type, "local") - # Check whether component file already exists - component_file = os.path.join(local_component_dir, f"{name}.nf") - if os.path.exists(component_file) and not force_overwrite: - raise UserWarning( - f"{component_type[:-1].title()} file exists already: '{component_file}'. Use '--force' to overwrite" - ) - - if component_type == "modules": - # If a subtool, check if there is a module called the base tool name already - if subname and os.path.exists(os.path.join(local_component_dir, f"{supername}.nf")): - raise UserWarning(f"Module '{supername}' exists already, cannot make subtool '{name}'") - - # If no subtool, check that there isn't already a tool/subtool - tool_glob = glob.glob(f"{local_component_dir}/{supername}_*.nf") - if not subname and tool_glob: - raise UserWarning(f"Module subtool '{tool_glob[0]}' exists already, cannot make tool '{name}'") - - # Set file paths - file_paths[os.path.join(component_type, "main.nf")] = component_file - - if repo_type == "modules": - software_dir = os.path.join(directory, component_type, org, new_dir) - test_dir = os.path.join(directory, "tests", component_type, org, new_dir) - - # Check if module/subworkflow directories exist already - if os.path.exists(software_dir) and not force_overwrite: - raise UserWarning(f"{component_type[:-1]} directory exists: '{software_dir}'. Use '--force' to overwrite") - if os.path.exists(test_dir) and not force_overwrite: - raise UserWarning(f"{component_type[:-1]} test directory exists: '{test_dir}'. Use '--force' to overwrite") - - if component_type == "modules": - # If a subtool, check if there is a module called the base tool name already - parent_tool_main_nf = os.path.join(directory, component_type, org, supername, "main.nf") - parent_tool_test_nf = os.path.join(directory, component_type, org, supername, "main.nf") - if subname and os.path.exists(parent_tool_main_nf): - raise UserWarning(f"Module '{parent_tool_main_nf}' exists already, cannot make subtool '{name}'") - if subname and os.path.exists(parent_tool_test_nf): - raise UserWarning(f"Module '{parent_tool_test_nf}' exists already, cannot make subtool '{name}'") - - # If no subtool, check that there isn't already a tool/subtool - tool_glob = glob.glob(f"{os.path.join(directory, component_type, org, supername)}/*/main.nf") - if not subname and tool_glob: - raise UserWarning(f"Module subtool '{tool_glob[0]}' exists already, cannot make tool '{name}'") - - # Set file paths - # For modules - can be tool/ or tool/subtool/ so can't do in template directory structure - file_paths[os.path.join(component_type, "main.nf")] = os.path.join(software_dir, "main.nf") - file_paths[os.path.join(component_type, "meta.yml")] = os.path.join(software_dir, "meta.yml") - file_paths[os.path.join("tests", "main.nf")] = os.path.join(test_dir, "main.nf") - file_paths[os.path.join("tests", "test.yml")] = os.path.join(test_dir, "test.yml") - file_paths[os.path.join("tests", "nextflow.config")] = os.path.join(test_dir, "nextflow.config") - - return file_paths - - -def get_username(author): - """ - Prompt for GitHub username - """ - # Try to guess the current user if `gh` is installed - author_default = None - try: - with open(os.devnull, "w") as devnull: - gh_auth_user = json.loads(subprocess.check_output(["gh", "api", "/user"], stderr=devnull)) - author_default = f"@{gh_auth_user['login']}" - except Exception as e: - log.debug(f"Could not find GitHub username using 'gh' cli command: [red]{e}") - - # Regex to valid GitHub username: https://github.com/shinnn/github-username-regex - github_username_regex = re.compile(r"^@[a-zA-Z\d](?:[a-zA-Z\d]|-(?=[a-zA-Z\d])){0,38}$") - while author is None or not github_username_regex.match(author): - if author is not None and not github_username_regex.match(author): - log.warning("Does not look like a valid GitHub username (must start with an '@')!") - author = rich.prompt.Prompt.ask( - f"[violet]GitHub Username:[/]{' (@author)' if author_default is None else ''}", - default=author_default, - ) - - return author From 190f5e3089644e2dcdc291d6c5287aa0a9797112 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 10:15:27 +0100 Subject: [PATCH 05/12] linting --- nf_core/__main__.py | 10 ++++++---- nf_core/components/create.py | 24 ++++++++++-------------- nf_core/module-template/modules/main.nf | 8 ++++++-- nf_core/modules/create.py | 12 +++++++++++- nf_core/subworkflows/create.py | 12 +++++++++++- 5 files changed, 44 insertions(+), 22 deletions(-) diff --git a/nf_core/__main__.py b/nf_core/__main__.py index 555783d8d4..d8911f9c98 100644 --- a/nf_core/__main__.py +++ b/nf_core/__main__.py @@ -678,7 +678,8 @@ def remove(ctx, dir, tool): @click.option("-f", "--force", is_flag=True, default=False, help="Overwrite any files if they already exist") @click.option("-c", "--conda-name", type=str, default=None, help="Name of the conda package to use") @click.option("-p", "--conda-package-version", type=str, default=None, help="Version of conda package to use") -def create_module(ctx, tool, dir, author, label, meta, no_meta, force, conda_name, conda_package_version): +@click.option("-i", "--minimal", is_flag=True, default=False, help="Create a minimal version of the template") +def create_module(ctx, tool, dir, author, label, meta, no_meta, force, conda_name, conda_package_version, minimal): """ Create a new DSL2 module from the nf-core template. @@ -700,7 +701,7 @@ def create_module(ctx, tool, dir, author, label, meta, no_meta, force, conda_nam # Run function try: module_create = nf_core.modules.ModuleCreate( - dir, tool, author, label, has_meta, force, conda_name, conda_package_version + dir, tool, author, label, has_meta, force, conda_name, conda_package_version, minimal ) module_create.create() except UserWarning as e: @@ -936,7 +937,8 @@ def test_module(ctx, tool, no_prompts, pytest_args): @click.option("-d", "--dir", type=click.Path(exists=True), default=".", metavar="") @click.option("-a", "--author", type=str, metavar="", help="Module author's GitHub username prefixed with '@'") @click.option("-f", "--force", is_flag=True, default=False, help="Overwrite any files if they already exist") -def create_subworkflow(ctx, subworkflow, dir, author, force): +@click.option("-i", "--minimap", is_flag=True, default=False, help="Create a minimal version of the template") +def create_subworkflow(ctx, subworkflow, dir, author, force, minimal): """ Create a new subworkflow from the nf-core template. @@ -949,7 +951,7 @@ def create_subworkflow(ctx, subworkflow, dir, author, force): # Run function try: - subworkflow_create = nf_core.subworkflows.SubworkflowCreate(dir, subworkflow, author, force) + subworkflow_create = nf_core.subworkflows.SubworkflowCreate(dir, subworkflow, author, force, minimal) subworkflow_create.create() except UserWarning as e: log.critical(e) diff --git a/nf_core/components/create.py b/nf_core/components/create.py index d44eb02c47..527cb0c556 100644 --- a/nf_core/components/create.py +++ b/nf_core/components/create.py @@ -18,7 +18,6 @@ from packaging.version import parse as parse_version import nf_core -import nf_core.components.components_create import nf_core.utils from nf_core.components.components_command import ComponentCommand @@ -37,6 +36,7 @@ def __init__( force=False, conda_name=None, conda_version=None, + minimal=False, ): super().__init__(component_type, directory) self.directory = directory @@ -57,6 +57,7 @@ def __init__( self.singularity_container = None self.docker_container = None self.file_paths = {} + self.not_minimal = not minimal def create(self): """ @@ -118,7 +119,7 @@ def create(self): ) # Collect component info via prompt if empty or invalid - self.component, self.subtool = self._collect_name_prompt() + self._collect_name_prompt() # Determine the component name self.component_name = self.component @@ -182,7 +183,7 @@ def _get_bioconda_tool(self): if self.tool_conda_name: anaconda_response = nf_core.utils.anaconda_package(self.tool_conda_name, ["bioconda"]) else: - anaconda_response = nf_core.utils.anaconda_package(self.tool, ["bioconda"]) + anaconda_response = nf_core.utils.anaconda_package(self.component, ["bioconda"]) if not self.tool_conda_version: version = anaconda_response.get("latest_version") @@ -198,12 +199,12 @@ def _get_bioconda_tool(self): if self.tool_conda_name: self.bioconda = "bioconda::" + self.tool_conda_name + "=" + version else: - self.bioconda = "bioconda::" + self.tool + "=" + version + self.bioconda = "bioconda::" + self.component + "=" + version log.info(f"Using Bioconda package: '{self.bioconda}'") break except (ValueError, LookupError) as e: log.warning( - f"Could not find Conda dependency using the Anaconda API: '{self.tool_conda_name if self.tool_conda_name else self.tool}'" + f"Could not find Conda dependency using the Anaconda API: '{self.tool_conda_name if self.tool_conda_name else self.component}'" ) if rich.prompt.Confirm.ask("[violet]Do you want to enter a different Bioconda package name?"): self.tool_conda_name = rich.prompt.Prompt.ask("[violet]Name of Bioconda package").strip() @@ -223,7 +224,7 @@ def _get_bioconda_tool(self): ) else: self.docker_container, self.singularity_container = nf_core.utils.get_biocontainer_tag( - self.tool, version + self.component, version ) log.info(f"Using Docker container: '{self.docker_container}'") log.info(f"Using Singularity container: '{self.singularity_container}'") @@ -290,7 +291,7 @@ def _collect_name_prompt(self): Collect module/subworkflow info via prompt if empty or invalid """ # Collect module info via prompt if empty or invalid - subname = None + self.subtool = None if self.component_type == "modules": pattern = r"[^a-z\d/]" elif self.component_type == "subworkflows": @@ -316,9 +317,9 @@ def _collect_name_prompt(self): log.warning("Tool/subtool can have maximum one '/' character") self.component = "" elif self.component.count("/") == 1: - self.component, subname = self.component.split("/") + self.component, self.subtool = self.component.split("/") else: - subname = None # Reset edge case: entered '/subtool' as name and gone round loop again + self.subtool = None # Reset edge case: entered '/subtool' as name and gone round loop again # Prompt for new entry if we reset if self.component == "": @@ -327,11 +328,6 @@ def _collect_name_prompt(self): elif self.component_type == "subworkflows": self.component = rich.prompt.Prompt.ask("[violet]Name of subworkflow").strip() - if self.component_type == "modules": - return self.component, subname - elif self.component_type == "subworkflows": - return self.component - def _get_component_dirs(self): """Given a directory and a tool/subtool or subworkflow, set the file paths and check if they already exist diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index c9fe8361b5..3199e46367 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -40,14 +40,18 @@ process {{ tool_name_underscore|upper }} { // https://github.com/nf-core/modules/blob/master/modules/nf-core/bwa/index/main.nf // TODO nf-core: Where applicable please provide/convert compressed files as input/output // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. + {{ 'tuple val(meta), path(bam)' if has_meta else 'path bam' }} + {%- else %} + {{ 'tuple val(meta), path(input)' if has_meta else 'path input' }} {%- endif %} - {{ {'tuple val(meta), path(bam)' if not_minimal else 'tuple val(meta), path(input)'} if has_meta else {'path bam' if not_minimal else 'path input'} }} output: {% if not_minimal -%} // TODO nf-core: Named file extensions MUST be emitted for ALL output channels + {{ 'tuple val(meta), path("*.bam")' if has_meta else 'path "*.bam"' }}, emit: bam + {%- else %} + {{ 'tuple val(meta), path("*")' if has_meta else 'path "*"' }}, emit: output {%- endif %} - {{ {'tuple val(meta), path("*.bam")' if not_minimal else 'tuple val(meta), path("*")'} if has_meta else {'path "*.bam"' if not_minimal else 'path "*"'} }}, emit: {bam if not_minimal else output} {% if not_minimal -%} // TODO nf-core: List additional required output channels/values here {%- endif %} diff --git a/nf_core/modules/create.py b/nf_core/modules/create.py index bb744af021..16d14ef6aa 100644 --- a/nf_core/modules/create.py +++ b/nf_core/modules/create.py @@ -16,7 +16,17 @@ def __init__( force=False, conda_name=None, conda_version=None, + minimal=False, ): super().__init__( - "modules", pipeline_dir, component, author, process_label, has_meta, force, conda_name, conda_version + "modules", + pipeline_dir, + component, + author, + process_label, + has_meta, + force, + conda_name, + conda_version, + minimal, ) diff --git a/nf_core/subworkflows/create.py b/nf_core/subworkflows/create.py index bd4e5a4fbd..47181e477d 100644 --- a/nf_core/subworkflows/create.py +++ b/nf_core/subworkflows/create.py @@ -16,7 +16,17 @@ def __init__( force=False, conda_name=None, conda_version=None, + minimal=False, ): super().__init__( - "subworkflows", pipeline_dir, component, author, process_label, has_meta, force, conda_name, conda_version + "subworkflows", + pipeline_dir, + component, + author, + process_label, + has_meta, + force, + conda_name, + conda_version, + minimal, ) From f20614dfa4e425583e34b06ed452146f234b0380 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 10:53:58 +0100 Subject: [PATCH 06/12] refine new lines --- .prettierignore | 3 +- nf_core/module-template/modules/main.nf | 14 ++++---- nf_core/module-template/modules/meta.yml | 42 ++++++++++++------------ nf_core/module-template/tests/main.nf | 6 ++-- nf_core/module-template/tests/test.yml | 10 +++--- 5 files changed, 38 insertions(+), 37 deletions(-) diff --git a/.prettierignore b/.prettierignore index bd1a8bee9c..4cd77bb4ed 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,4 +3,5 @@ adaptivecard.json slackreport.json docs/api/_build testing - +nf_core/module-template/modules/meta.yml +nf_core/module-template/tests/test.yml diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index 3199e46367..3736c91655 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -17,7 +17,7 @@ // list (`[]`) instead of a file can be used to work around this issue. {%- endif %} -process {{ tool_name_underscore|upper }} { +process {{ component_name_underscore|upper }} { tag {{ '"$meta.id"' if has_meta else "'$bam'" }} label '{{ process_label }}' @@ -26,7 +26,7 @@ process {{ tool_name_underscore|upper }} { // Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). // For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. - {%- endif %} + {%- endif -%} conda "{{ bioconda if bioconda else 'YOUR-TOOL-HERE' }}" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? '{{ singularity_container if singularity_container else 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE' }}': @@ -41,7 +41,7 @@ process {{ tool_name_underscore|upper }} { // TODO nf-core: Where applicable please provide/convert compressed files as input/output // e.g. "*.fastq.gz" and NOT "*.fastq", "*.bam" and NOT "*.sam" etc. {{ 'tuple val(meta), path(bam)' if has_meta else 'path bam' }} - {%- else %} + {%- else -%} {{ 'tuple val(meta), path(input)' if has_meta else 'path input' }} {%- endif %} @@ -49,10 +49,10 @@ process {{ tool_name_underscore|upper }} { {% if not_minimal -%} // TODO nf-core: Named file extensions MUST be emitted for ALL output channels {{ 'tuple val(meta), path("*.bam")' if has_meta else 'path "*.bam"' }}, emit: bam - {%- else %} + {%- else -%} {{ 'tuple val(meta), path("*")' if has_meta else 'path "*"' }}, emit: output {%- endif %} - {% if not_minimal -%} + {%- if not_minimal -%} // TODO nf-core: List additional required output channels/values here {%- endif %} path "versions.yml" , emit: versions @@ -65,7 +65,7 @@ process {{ tool_name_underscore|upper }} { {% if has_meta -%} def prefix = task.ext.prefix ?: "${meta.id}" {%- endif %} - {% if not_minimal -%} + {%- if not_minimal -%} // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 // If the software is unable to output a version number on the command-line then it can be manually specified // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf @@ -77,7 +77,7 @@ process {{ tool_name_underscore|upper }} { // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) {%- endif %} """ - {% if not_minimal -%} + {%- if not_minimal -%} samtools \\ sort \\ $args \\ diff --git a/nf_core/module-template/modules/meta.yml b/nf_core/module-template/modules/meta.yml index fa3011585b..6a949772ad 100644 --- a/nf_core/module-template/modules/meta.yml +++ b/nf_core/module-template/modules/meta.yml @@ -1,15 +1,15 @@ -name: "{{ tool_name_underscore }}" -#{% if not_minimal -%} +name: "{{ component_name_underscore }}" +{% if not_minimal -%} ## TODO nf-core: Add a description of the module and list keywords -#{%- endif %} +{%- endif -%} description: write your description here keywords: - sort tools: - "{{ tool }}": - #{% if not_minimal -%} + {% if not_minimal -%} ## TODO nf-core: Add a description and other details for the software below - #{%- endif %} + {%- endif -%} description: "{{ tool_description }}" homepage: "{{ tool_doc_url }}" documentation: "{{ tool_doc_url }}" @@ -17,9 +17,9 @@ tools: doi: "" licence: "{{ tool_licence }}" -#{% if not_minimal -%} +{% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as input -#{%- endif %} +{%- endif -%} input: #{% if has_meta %} Only when we have meta - meta: @@ -27,18 +27,18 @@ input: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - #{% endif %} - #{% if not_minimal -%} + {% endif %} + {% if not_minimal -%} ## TODO nf-core: Delete / customise this example input - #{%- endif %} - - #{{ 'bam:' if not_minimal else "input:" }} + {%- endif %} + - {{ 'bam:' if not_minimal else "input:" }} type: file - description: #{{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} - pattern: #{{ '"*.{bam,cram,sam}"' if not_minimal else "" }} + description: {{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} + pattern: {{ '"*.{bam,cram,sam}"' if not_minimal else "" }} -#{% if not_minimal -%} +{% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as output -#{%- endif %} +{%- endif -%} output: #{% if has_meta -%} Only when we have meta - meta: @@ -46,18 +46,18 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - #{% endif %} + {% endif %} - versions: type: file description: File containing software versions pattern: "versions.yml" - #{% if not_minimal -%} + {% if not_minimal -%} ## TODO nf-core: Delete / customise this example output - #{%- endif %} - - #{{ 'bam:' if not_minimal else "output:" }} + {%- endif %} + - {{ 'bam:' if not_minimal else "output:" }} type: file - description: #{{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} - pattern: #{{ '"*.{bam,cram,sam}"' if not_minimal else "" }} + description: {{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} + pattern: {{ '"*.{bam,cram,sam}"' if not_minimal else "" }} authors: - "{{ author }}" diff --git a/nf_core/module-template/tests/main.nf b/nf_core/module-template/tests/main.nf index 351de72385..fcb7195fe4 100644 --- a/nf_core/module-template/tests/main.nf +++ b/nf_core/module-template/tests/main.nf @@ -2,9 +2,9 @@ nextflow.enable.dsl = 2 -include { {{ tool_name_underscore|upper }} } from '../../../../{{ "../" if subtool else "" }}modules/{{ org }}/{{ tool_dir }}/main.nf' +include { {{ component_name_underscore|upper }} } from '../../../../{{ "../" if subtool else "" }}modules/{{ org }}/{{ component_dir }}/main.nf' -workflow test_{{ tool_name_underscore }} { +workflow test_{{ component_name_underscore }} { {% if has_meta %} input = [ [ id:'test', single_end:false ], // meta map @@ -14,5 +14,5 @@ workflow test_{{ tool_name_underscore }} { input = file(params.test_data['sarscov2']['illumina']['test_single_end_bam'], checkIfExists: true) {%- endif %} - {{ tool_name_underscore|upper }} ( input ) + {{ component_name_underscore|upper }} ( input ) } diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index 4095c1108c..5483f3f70f 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -1,16 +1,16 @@ -#{% if not_minimal -%} +{%- if not_minimal -%} ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} -#{%- endif %} +{%- endif %} - name: "{{ tool }}{{ ' '+subtool if subtool else '' }}" - command: nextflow run ./tests/modules/{{ org }}/{{ tool_dir }} -entry test_{{ tool_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ tool_dir }}/nextflow.config + command: nextflow run ./tests/modules/{{ org }}/{{ component_dir }} -entry test_{{ component_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ component_dir }}/nextflow.config tags: - "{{ tool }}{% if subtool -%}" - "{{ tool }}/{{ subtool }}{%- endif %}" files: - #{% if not_minimal -%} + {%- if not_minimal -%} - path: "output/{{ tool }}/test.bam" md5sum: e667c7caad0bc4b7ac383fd023c654fc - path: "output/{{ tool }}/versions.yml" md5sum: a01fe51bc4c6a3a6226fbf77b2c7cf3b - #{%- endif %} + {%- endif %} From cb8c6122a2f012b4e816a3ef5d1fdb82866c16eb Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 12:36:54 +0100 Subject: [PATCH 07/12] run isort --- nf_core/__main__.py | 5 ++--- nf_core/components/create.py | 3 ++- nf_core/module-template/modules/meta.yml | 8 ++++---- nf_core/module-template/tests/test.yml | 14 ++++++++------ nf_core/subworkflows/create.py | 12 +----------- tests/subworkflows/create.py | 2 +- 6 files changed, 18 insertions(+), 26 deletions(-) diff --git a/nf_core/__main__.py b/nf_core/__main__.py index d8911f9c98..b02348c753 100644 --- a/nf_core/__main__.py +++ b/nf_core/__main__.py @@ -937,8 +937,7 @@ def test_module(ctx, tool, no_prompts, pytest_args): @click.option("-d", "--dir", type=click.Path(exists=True), default=".", metavar="") @click.option("-a", "--author", type=str, metavar="", help="Module author's GitHub username prefixed with '@'") @click.option("-f", "--force", is_flag=True, default=False, help="Overwrite any files if they already exist") -@click.option("-i", "--minimap", is_flag=True, default=False, help="Create a minimal version of the template") -def create_subworkflow(ctx, subworkflow, dir, author, force, minimal): +def create_subworkflow(ctx, subworkflow, dir, author, force): """ Create a new subworkflow from the nf-core template. @@ -951,7 +950,7 @@ def create_subworkflow(ctx, subworkflow, dir, author, force, minimal): # Run function try: - subworkflow_create = nf_core.subworkflows.SubworkflowCreate(dir, subworkflow, author, force, minimal) + subworkflow_create = nf_core.subworkflows.SubworkflowCreate(dir, subworkflow, author, force) subworkflow_create.create() except UserWarning as e: log.critical(e) diff --git a/nf_core/components/create.py b/nf_core/components/create.py index 527cb0c556..fc31aac306 100644 --- a/nf_core/components/create.py +++ b/nf_core/components/create.py @@ -141,7 +141,8 @@ def create(self): # Prompt for GitHub username self._get_username() - self._get_module_structure_components() + if self.component_type == "modules": + self._get_module_structure_components() # Create component template with jinja2 self._render_template() diff --git a/nf_core/module-template/modules/meta.yml b/nf_core/module-template/modules/meta.yml index 6a949772ad..236fab2aec 100644 --- a/nf_core/module-template/modules/meta.yml +++ b/nf_core/module-template/modules/meta.yml @@ -6,10 +6,10 @@ description: write your description here keywords: - sort tools: - - "{{ tool }}": + - "{{ component }}": {% if not_minimal -%} ## TODO nf-core: Add a description and other details for the software below - {%- endif -%} + {% endif -%} description: "{{ tool_description }}" homepage: "{{ tool_doc_url }}" documentation: "{{ tool_doc_url }}" @@ -19,7 +19,7 @@ tools: {% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as input -{%- endif -%} +{% endif -%} input: #{% if has_meta %} Only when we have meta - meta: @@ -38,7 +38,7 @@ input: {% if not_minimal -%} ## TODO nf-core: Add a description of all of the variables used as output -{%- endif -%} +{% endif -%} output: #{% if has_meta -%} Only when we have meta - meta: diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index 5483f3f70f..deabcf23a9 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -2,15 +2,17 @@ ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} {%- endif %} -- name: "{{ tool }}{{ ' '+subtool if subtool else '' }}" +- name: "{{ component }}{{ ' '+subtool if subtool else '' }}" command: nextflow run ./tests/modules/{{ org }}/{{ component_dir }} -entry test_{{ component_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ component_dir }}/nextflow.config tags: - - "{{ tool }}{% if subtool -%}" - - "{{ tool }}/{{ subtool }}{%- endif %}" + - "{{ component }}{% if subtool -%}" + - "{{ component }}/{{ subtool }}{%- endif %}" files: - {%- if not_minimal -%} - - path: "output/{{ tool }}/test.bam" + {% if not_minimal -%} + - path: "output/{{ component }}/test.bam" md5sum: e667c7caad0bc4b7ac383fd023c654fc - - path: "output/{{ tool }}/versions.yml" + - path: "output/{{ component }}/versions.yml" md5sum: a01fe51bc4c6a3a6226fbf77b2c7cf3b + {% else %} + - path: "" {%- endif %} diff --git a/nf_core/subworkflows/create.py b/nf_core/subworkflows/create.py index 47181e477d..963076455e 100644 --- a/nf_core/subworkflows/create.py +++ b/nf_core/subworkflows/create.py @@ -11,22 +11,12 @@ def __init__( pipeline_dir, component="", author=None, - process_label=None, - has_meta=None, force=False, - conda_name=None, - conda_version=None, - minimal=False, ): super().__init__( "subworkflows", pipeline_dir, component, author, - process_label, - has_meta, - force, - conda_name, - conda_version, - minimal, + force=force, ) diff --git a/tests/subworkflows/create.py b/tests/subworkflows/create.py index eac4929136..60ee6add9a 100644 --- a/tests/subworkflows/create.py +++ b/tests/subworkflows/create.py @@ -28,7 +28,7 @@ def test_subworkflows_create_fail_exists(self): def test_subworkflows_create_nfcore_modules(self): """Create a subworkflow in nf-core/modules clone""" subworkflow_create = nf_core.subworkflows.SubworkflowCreate( - self.nfcore_modules, "test_subworkflow", "@author", True + self.nfcore_modules, "test_subworkflow", "@author", force=True ) subworkflow_create.create() assert os.path.exists(os.path.join(self.nfcore_modules, "subworkflows", "nf-core", "test_subworkflow", "main.nf")) From c65b36c10d22588e65d9223b3d67432af7270cd9 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 13:13:12 +0100 Subject: [PATCH 08/12] fix some more new lines --- nf_core/module-template/modules/main.nf | 4 ++-- nf_core/module-template/tests/test.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index 3736c91655..6bfa9eaa92 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -1,4 +1,4 @@ -{% if not_minimal -%} +{%- if not_minimal -%} // TODO nf-core: If in doubt look at other nf-core/modules to see how we are doing things! :) // https://github.com/nf-core/modules/tree/master/modules/nf-core/ // You can also ask for help via your pull request or on the #modules channel on the nf-core Slack workspace: @@ -15,7 +15,7 @@ // bwa mem | samtools view -B -T ref.fasta // TODO nf-core: Optional inputs are not currently supported by Nextflow. However, using an empty // list (`[]`) instead of a file can be used to work around this issue. -{%- endif %} +{%- endif -%} process {{ component_name_underscore|upper }} { tag {{ '"$meta.id"' if has_meta else "'$bam'" }} diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index deabcf23a9..61486b9249 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -1,7 +1,7 @@ {%- if not_minimal -%} ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} -{%- endif %} +{%- endif -%} - name: "{{ component }}{{ ' '+subtool if subtool else '' }}" command: nextflow run ./tests/modules/{{ org }}/{{ component_dir }} -entry test_{{ component_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ component_dir }}/nextflow.config tags: @@ -13,6 +13,6 @@ md5sum: e667c7caad0bc4b7ac383fd023c654fc - path: "output/{{ component }}/versions.yml" md5sum: a01fe51bc4c6a3a6226fbf77b2c7cf3b - {% else %} + {% else -%} - path: "" {%- endif %} From a54b54a9673a2db9a2b7732dcac7bc9960a0c95e Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 13:20:43 +0100 Subject: [PATCH 09/12] run black with new version --- nf_core/bump_version.py | 2 -- nf_core/create.py | 1 - nf_core/download.py | 1 - nf_core/launch.py | 3 --- nf_core/lint/__init__.py | 1 - nf_core/lint/files_unchanged.py | 2 -- nf_core/lint/template_strings.py | 1 - nf_core/list.py | 1 - nf_core/modules/bump_versions.py | 1 - nf_core/utils.py | 2 -- tests/test_download.py | 1 - tests/test_test_utils.py | 1 - 12 files changed, 17 deletions(-) diff --git a/nf_core/bump_version.py b/nf_core/bump_version.py index 1f38775bb6..129016fa38 100644 --- a/nf_core/bump_version.py +++ b/nf_core/bump_version.py @@ -133,12 +133,10 @@ def update_file_version(filename, pipeline_obj, patterns): replacements = [] for pattern in patterns: - found_match = False newcontent = [] for line in content.splitlines(): - # Match the pattern matches_pattern = re.findall(rf"^.*{pattern[0]}.*$", line) if matches_pattern: diff --git a/nf_core/create.py b/nf_core/create.py index 045c35d1b4..74c9df1b87 100644 --- a/nf_core/create.py +++ b/nf_core/create.py @@ -283,7 +283,6 @@ def render_template(self): # Set the paths to skip according to customization for template_fn_path_obj in template_files: - template_fn_path = str(template_fn_path_obj) # Skip files that are in the self.skip_paths list diff --git a/nf_core/download.py b/nf_core/download.py index 2f964b3afd..9d430e3352 100644 --- a/nf_core/download.py +++ b/nf_core/download.py @@ -506,7 +506,6 @@ def get_singularity_images(self): containers_download = [] containers_pull = [] for container in self.containers: - # Fetch the output and cached filenames for this container out_path, cache_path = self.singularity_image_filenames(container) diff --git a/nf_core/launch.py b/nf_core/launch.py index 87150172f7..648c8775f8 100644 --- a/nf_core/launch.py +++ b/nf_core/launch.py @@ -98,7 +98,6 @@ def __init__( self.cli_launch = True def launch_pipeline(self): - # Prompt for pipeline if not supplied and no web launch ID if self.pipeline is None and self.web_id is None: launch_type = questionary.select( @@ -461,7 +460,6 @@ def prompt_group(self, group_id, group_obj): answers = {} error_msgs = [] while not while_break: - if len(error_msgs) == 0: self.print_param_header(group_id, group_obj, True) @@ -698,7 +696,6 @@ def build_command(self): # Pipeline parameters if len(self.schema_obj.input_params) > 0: - # Write the user selection to a file and run nextflow with that if self.use_params_file: dump_json_with_prettier(self.params_out, self.schema_obj.input_params) diff --git a/nf_core/lint/__init__.py b/nf_core/lint/__init__.py index b46399eb97..e014a933ea 100644 --- a/nf_core/lint/__init__.py +++ b/nf_core/lint/__init__.py @@ -434,7 +434,6 @@ def format_result(test_results): ) def _print_summary(self): - # Summary table summary_colour = "red" if len(self.failed) > 0 else "green" table = Table(box=rich.box.ROUNDED, style=summary_colour) diff --git a/nf_core/lint/files_unchanged.py b/nf_core/lint/files_unchanged.py index cadced5483..c0be64d0d7 100644 --- a/nf_core/lint/files_unchanged.py +++ b/nf_core/lint/files_unchanged.py @@ -147,7 +147,6 @@ def _tf(file_path): # Files that must be completely unchanged from template for files in files_exact: - # Ignore if file specified in linting config ignore_files = self.lint_config.get("files_unchanged", []) if any([f in ignore_files for f in files]): @@ -177,7 +176,6 @@ def _tf(file_path): # Files that can be added to, but that must contain the template contents for files in files_partial: - # Ignore if file specified in linting config ignore_files = self.lint_config.get("files_unchanged", []) if any([f in ignore_files for f in files]): diff --git a/nf_core/lint/template_strings.py b/nf_core/lint/template_strings.py index 436abe7b2b..fb1f0f32e5 100644 --- a/nf_core/lint/template_strings.py +++ b/nf_core/lint/template_strings.py @@ -24,7 +24,6 @@ def template_strings(self): # Loop through files, searching for string num_matches = 0 for fn in self.files: - # Skip binary files binary_ftypes = ["image", "application/java-archive"] (ftype, encoding) = mimetypes.guess_type(fn) diff --git a/nf_core/list.py b/nf_core/list.py index 53307ac9bd..77a9ac3919 100644 --- a/nf_core/list.py +++ b/nf_core/list.py @@ -328,7 +328,6 @@ def get_local_nf_workflow_details(self): """Get full details about a local cached workflow""" if self.local_path is None: - # Try to guess the local cache directory if len(os.environ.get("NXF_ASSETS", "")) > 0: nf_wfdir = os.path.join(os.environ.get("NXF_ASSETS"), self.full_name) diff --git a/nf_core/modules/bump_versions.py b/nf_core/modules/bump_versions.py index 7b9702622e..6d61d4c750 100644 --- a/nf_core/modules/bump_versions.py +++ b/nf_core/modules/bump_versions.py @@ -187,7 +187,6 @@ def bump_module_version(self, module): found_match = False newcontent = [] for line in content.splitlines(): - # Match the pattern matches_pattern = re.findall(rf"^.*{pattern[0]}.*$", line) if matches_pattern: diff --git a/nf_core/utils.py b/nf_core/utils.py index b60f61fff0..55703ab450 100644 --- a/nf_core/utils.py +++ b/nf_core/utils.py @@ -872,7 +872,6 @@ def get_repo_releases_branches(pipeline, wfs): # Repo is a nf-core pipeline for wf in wfs.remote_workflows: if wf.full_name == pipeline or wf.name == pipeline: - # Set to full name just in case it didn't have the nf-core/ prefix pipeline = wf.full_name @@ -883,7 +882,6 @@ def get_repo_releases_branches(pipeline, wfs): # Arbitrary GitHub repo else: if pipeline.count("/") == 1: - # Looks like a GitHub address - try working with this repo log.debug( f"Pipeline '{pipeline}' not in nf-core, but looks like a GitHub address - fetching releases from API" diff --git a/tests/test_download.py b/tests/test_download.py index 4577a83992..e2ae882394 100644 --- a/tests/test_download.py +++ b/tests/test_download.py @@ -18,7 +18,6 @@ class DownloadTest(unittest.TestCase): - # # Tests for 'get_release_hash' # diff --git a/tests/test_test_utils.py b/tests/test_test_utils.py index ddf88ef74a..c4e3d49ae0 100644 --- a/tests/test_test_utils.py +++ b/tests/test_test_utils.py @@ -33,7 +33,6 @@ def test_tmp_folder_does_not_exist_after(): def test_set_wd(): - with tempfile.TemporaryDirectory() as tmpdirname: with set_wd(tmpdirname): context_wd = Path().resolve() From c89a94c6eb0f6f861c966c35331e450216234cf3 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 13:56:54 +0100 Subject: [PATCH 10/12] make tests pass because of template new lines --- nf_core/module-template/modules/main.nf | 10 +++++----- nf_core/module-template/tests/test.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index 6bfa9eaa92..d7a2bb9826 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -15,7 +15,7 @@ // bwa mem | samtools view -B -T ref.fasta // TODO nf-core: Optional inputs are not currently supported by Nextflow. However, using an empty // list (`[]`) instead of a file can be used to work around this issue. -{%- endif -%} +{%- endif %} process {{ component_name_underscore|upper }} { tag {{ '"$meta.id"' if has_meta else "'$bam'" }} @@ -26,7 +26,7 @@ process {{ component_name_underscore|upper }} { // Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). // For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. - {%- endif -%} + {% endif -%} conda "{{ bioconda if bioconda else 'YOUR-TOOL-HERE' }}" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? '{{ singularity_container if singularity_container else 'https://depot.galaxyproject.org/singularity/YOUR-TOOL-HERE' }}': @@ -52,7 +52,7 @@ process {{ component_name_underscore|upper }} { {%- else -%} {{ 'tuple val(meta), path("*")' if has_meta else 'path "*"' }}, emit: output {%- endif %} - {%- if not_minimal -%} + {% if not_minimal -%} // TODO nf-core: List additional required output channels/values here {%- endif %} path "versions.yml" , emit: versions @@ -65,7 +65,7 @@ process {{ component_name_underscore|upper }} { {% if has_meta -%} def prefix = task.ext.prefix ?: "${meta.id}" {%- endif %} - {%- if not_minimal -%} + {% if not_minimal -%} // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 // If the software is unable to output a version number on the command-line then it can be manually specified // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf @@ -77,7 +77,7 @@ process {{ component_name_underscore|upper }} { // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) {%- endif %} """ - {%- if not_minimal -%} + {% if not_minimal -%} samtools \\ sort \\ $args \\ diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index 61486b9249..21fa60dd5e 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -1,7 +1,7 @@ {%- if not_minimal -%} ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} -{%- endif -%} +{% endif -%} - name: "{{ component }}{{ ' '+subtool if subtool else '' }}" command: nextflow run ./tests/modules/{{ org }}/{{ component_dir }} -entry test_{{ component_name_underscore }} -c ./tests/config/nextflow.config -c ./tests/modules/{{ org }}/{{ component_dir }}/nextflow.config tags: From 5c5ae91c71fc24dd9ef9a714e16f2fdb40f04cd7 Mon Sep 17 00:00:00 2001 From: mirpedrol Date: Fri, 3 Feb 2023 14:45:26 +0100 Subject: [PATCH 11/12] update CHANGELOG --- CHANGELOG.md | 2 ++ nf_core/__main__.py | 14 +++++++++++--- nf_core/components/create.py | 4 ++-- nf_core/module-template/modules/main.nf | 14 +++++++------- nf_core/module-template/modules/meta.yml | 24 ++++++++++++------------ nf_core/module-template/tests/test.yml | 4 ++-- nf_core/modules/create.py | 4 ++-- 7 files changed, 38 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 575049e505..0c86f897f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ ### Modules +- Add an `--empty-template` option to create a module without TODO statements or examples ([#2175](https://github.com/nf-core/tools/pull/2175)) + ### Subworkflows ### General diff --git a/nf_core/__main__.py b/nf_core/__main__.py index b02348c753..1372ff7fbc 100644 --- a/nf_core/__main__.py +++ b/nf_core/__main__.py @@ -678,8 +678,16 @@ def remove(ctx, dir, tool): @click.option("-f", "--force", is_flag=True, default=False, help="Overwrite any files if they already exist") @click.option("-c", "--conda-name", type=str, default=None, help="Name of the conda package to use") @click.option("-p", "--conda-package-version", type=str, default=None, help="Version of conda package to use") -@click.option("-i", "--minimal", is_flag=True, default=False, help="Create a minimal version of the template") -def create_module(ctx, tool, dir, author, label, meta, no_meta, force, conda_name, conda_package_version, minimal): +@click.option( + "-i", + "--empty-template", + is_flag=True, + default=False, + help="Create a version of the template without TODOs or examples", +) +def create_module( + ctx, tool, dir, author, label, meta, no_meta, force, conda_name, conda_package_version, empty_template +): """ Create a new DSL2 module from the nf-core template. @@ -701,7 +709,7 @@ def create_module(ctx, tool, dir, author, label, meta, no_meta, force, conda_nam # Run function try: module_create = nf_core.modules.ModuleCreate( - dir, tool, author, label, has_meta, force, conda_name, conda_package_version, minimal + dir, tool, author, label, has_meta, force, conda_name, conda_package_version, empty_template ) module_create.create() except UserWarning as e: diff --git a/nf_core/components/create.py b/nf_core/components/create.py index fc31aac306..e626de4aaa 100644 --- a/nf_core/components/create.py +++ b/nf_core/components/create.py @@ -36,7 +36,7 @@ def __init__( force=False, conda_name=None, conda_version=None, - minimal=False, + empty_template=False, ): super().__init__(component_type, directory) self.directory = directory @@ -57,7 +57,7 @@ def __init__( self.singularity_container = None self.docker_container = None self.file_paths = {} - self.not_minimal = not minimal + self.not_empty_template = not empty_template def create(self): """ diff --git a/nf_core/module-template/modules/main.nf b/nf_core/module-template/modules/main.nf index d7a2bb9826..895ad8f68c 100644 --- a/nf_core/module-template/modules/main.nf +++ b/nf_core/module-template/modules/main.nf @@ -1,4 +1,4 @@ -{%- if not_minimal -%} +{%- if not_empty_template -%} // TODO nf-core: If in doubt look at other nf-core/modules to see how we are doing things! :) // https://github.com/nf-core/modules/tree/master/modules/nf-core/ // You can also ask for help via your pull request or on the #modules channel on the nf-core Slack workspace: @@ -21,7 +21,7 @@ process {{ component_name_underscore|upper }} { tag {{ '"$meta.id"' if has_meta else "'$bam'" }} label '{{ process_label }}' - {% if not_minimal -%} + {% if not_empty_template -%} // TODO nf-core: List required Conda package(s). // Software MUST be pinned to channel (i.e. "bioconda"), version (i.e. "1.10"). // For Conda, the build (i.e. "h9402c20_2") must be EXCLUDED to support installation on different operating systems. @@ -33,7 +33,7 @@ process {{ component_name_underscore|upper }} { '{{ docker_container if docker_container else 'quay.io/biocontainers/YOUR-TOOL-HERE' }}' }" input: - {% if not_minimal -%} + {% if not_empty_template -%} // TODO nf-core: Where applicable all sample-specific information e.g. "id", "single_end", "read_group" // MUST be provided as an input via a Groovy Map called "meta". // This information may not be required in some instances e.g. indexing reference genome files: @@ -46,13 +46,13 @@ process {{ component_name_underscore|upper }} { {%- endif %} output: - {% if not_minimal -%} + {% if not_empty_template -%} // TODO nf-core: Named file extensions MUST be emitted for ALL output channels {{ 'tuple val(meta), path("*.bam")' if has_meta else 'path "*.bam"' }}, emit: bam {%- else -%} {{ 'tuple val(meta), path("*")' if has_meta else 'path "*"' }}, emit: output {%- endif %} - {% if not_minimal -%} + {% if not_empty_template -%} // TODO nf-core: List additional required output channels/values here {%- endif %} path "versions.yml" , emit: versions @@ -65,7 +65,7 @@ process {{ component_name_underscore|upper }} { {% if has_meta -%} def prefix = task.ext.prefix ?: "${meta.id}" {%- endif %} - {% if not_minimal -%} + {% if not_empty_template -%} // TODO nf-core: Where possible, a command MUST be provided to obtain the version number of the software e.g. 1.10 // If the software is unable to output a version number on the command-line then it can be manually specified // e.g. https://github.com/nf-core/modules/blob/master/modules/nf-core/homer/annotatepeaks/main.nf @@ -77,7 +77,7 @@ process {{ component_name_underscore|upper }} { // TODO nf-core: Please indent the command appropriately (4 spaces!!) to help with readability ;) {%- endif %} """ - {% if not_minimal -%} + {% if not_empty_template -%} samtools \\ sort \\ $args \\ diff --git a/nf_core/module-template/modules/meta.yml b/nf_core/module-template/modules/meta.yml index 236fab2aec..05ecb6f980 100644 --- a/nf_core/module-template/modules/meta.yml +++ b/nf_core/module-template/modules/meta.yml @@ -1,5 +1,5 @@ name: "{{ component_name_underscore }}" -{% if not_minimal -%} +{% if not_empty_template -%} ## TODO nf-core: Add a description of the module and list keywords {%- endif -%} description: write your description here @@ -7,7 +7,7 @@ keywords: - sort tools: - "{{ component }}": - {% if not_minimal -%} + {% if not_empty_template -%} ## TODO nf-core: Add a description and other details for the software below {% endif -%} description: "{{ tool_description }}" @@ -17,7 +17,7 @@ tools: doi: "" licence: "{{ tool_licence }}" -{% if not_minimal -%} +{% if not_empty_template -%} ## TODO nf-core: Add a description of all of the variables used as input {% endif -%} input: @@ -28,15 +28,15 @@ input: Groovy Map containing sample information e.g. [ id:'test', single_end:false ] {% endif %} - {% if not_minimal -%} + {% if not_empty_template -%} ## TODO nf-core: Delete / customise this example input {%- endif %} - - {{ 'bam:' if not_minimal else "input:" }} + - {{ 'bam:' if not_empty_template else "input:" }} type: file - description: {{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} - pattern: {{ '"*.{bam,cram,sam}"' if not_minimal else "" }} + description: {{ 'Sorted BAM/CRAM/SAM file' if not_empty_template else "" }} + pattern: {{ '"*.{bam,cram,sam}"' if not_empty_template else "" }} -{% if not_minimal -%} +{% if not_empty_template -%} ## TODO nf-core: Add a description of all of the variables used as output {% endif -%} output: @@ -51,13 +51,13 @@ output: type: file description: File containing software versions pattern: "versions.yml" - {% if not_minimal -%} + {% if not_empty_template -%} ## TODO nf-core: Delete / customise this example output {%- endif %} - - {{ 'bam:' if not_minimal else "output:" }} + - {{ 'bam:' if not_empty_template else "output:" }} type: file - description: {{ 'Sorted BAM/CRAM/SAM file' if not_minimal else "" }} - pattern: {{ '"*.{bam,cram,sam}"' if not_minimal else "" }} + description: {{ 'Sorted BAM/CRAM/SAM file' if not_empty_template else "" }} + pattern: {{ '"*.{bam,cram,sam}"' if not_empty_template else "" }} authors: - "{{ author }}" diff --git a/nf_core/module-template/tests/test.yml b/nf_core/module-template/tests/test.yml index 21fa60dd5e..4f38dec298 100644 --- a/nf_core/module-template/tests/test.yml +++ b/nf_core/module-template/tests/test.yml @@ -1,4 +1,4 @@ -{%- if not_minimal -%} +{%- if not_empty_template -%} ## TODO nf-core: Please run the following command to build this file: # nf-core modules create-test-yml {{ tool }}{%- if subtool %}/{{ subtool }}{%- endif %} {% endif -%} @@ -8,7 +8,7 @@ - "{{ component }}{% if subtool -%}" - "{{ component }}/{{ subtool }}{%- endif %}" files: - {% if not_minimal -%} + {% if not_empty_template -%} - path: "output/{{ component }}/test.bam" md5sum: e667c7caad0bc4b7ac383fd023c654fc - path: "output/{{ component }}/versions.yml" diff --git a/nf_core/modules/create.py b/nf_core/modules/create.py index 16d14ef6aa..b5368130ce 100644 --- a/nf_core/modules/create.py +++ b/nf_core/modules/create.py @@ -16,7 +16,7 @@ def __init__( force=False, conda_name=None, conda_version=None, - minimal=False, + empty_template=False, ): super().__init__( "modules", @@ -28,5 +28,5 @@ def __init__( force, conda_name, conda_version, - minimal, + empty_template, ) From c6cf507be77f5123a8582909b8e333177b96b0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlia=20Mir=20Pedrol?= Date: Fri, 3 Feb 2023 15:09:22 +0100 Subject: [PATCH 12/12] Update nf_core/__main__.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matthias Hörtenhuber --- nf_core/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nf_core/__main__.py b/nf_core/__main__.py index 1372ff7fbc..841cb9f7e7 100644 --- a/nf_core/__main__.py +++ b/nf_core/__main__.py @@ -683,7 +683,7 @@ def remove(ctx, dir, tool): "--empty-template", is_flag=True, default=False, - help="Create a version of the template without TODOs or examples", + help="Create a module from the template without TODOs or examples", ) def create_module( ctx, tool, dir, author, label, meta, no_meta, force, conda_name, conda_package_version, empty_template