Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timelimit mods #548

Merged
merged 5 commits into from
Sep 14, 2020
Merged

Timelimit mods #548

merged 5 commits into from
Sep 14, 2020

Conversation

jfy133
Copy link
Member

@jfy133 jfy133 commented Sep 10, 2020

nf-core/eager pull request

This PR is to close #546. When users move on from the small tests, they may want to run their own test on 'real sized' data, which may exceed 2.h base walltimes. This bumps this up to 24.h, and sets limits for specific profiles (1h, to also speed up during CI pipeline exiting if crashes occur, given most test runs take ~2m)

This includes changes from #544 , please merge that first (sorry, wrong checkout procedure...)

PR checklist

  • This comment contains a description of changes (with reason)
  • If you've fixed a bug or added code that should be tested, add tests!
  • If necessary, also make a PR on the nf-core/eager branch on the nf-core/test-datasets repo
  • Ensure the test suite passes (nextflow run . -profile test,docker --paired_end).
  • Make sure your code lints (nf-core lint .).
  • Documentation in docs is updated
  • CHANGELOG.md is updated
  • README.md is updated

Learn more about contributing: CONTRIBUTING.md

@jfy133 jfy133 requested a review from a team September 10, 2020 09:01
@github-actions
Copy link

github-actions bot commented Sep 10, 2020

nf-core lint overall result: Passed ✅

Updated for pipeline commit 92e7b1a

+| ✅ 145 tests passed       |+
!| ❗ 14 tests had warnings |!
-| ❌  0 tests failed       |-

❗ Test warnings:

  • Test #8 - Conda package is not latest available: conda-forge::python=3.7.3, 3.8.5 available
  • Test #8 - Conda package is not latest available: conda-forge::pymdown-extensions=7.1, 8.0 available
  • Test #8 - Conda package is not latest available: conda-forge::pygments=2.6.1, 2.7.0 available
  • Test #8 - Conda package is not latest available: conda-forge::openjdk=8.0.144, 11.0.8 available
  • Test #8 - Conda package is not latest available: bioconda::picard=2.22.9, 2.23.4 available
  • Test #8 - Conda package is not latest available: bioconda::samtools=1.9, 1.10 available
  • Test #8 - Conda package is not latest available: bioconda::gatk4=4.1.7.0, 4.1.8.1 available
  • Test #8 - Conda package is not latest available: bioconda::damageprofiler=0.4.9, 0.5.0 available
  • Test #8 - Conda package is not latest available: conda-forge::libiconv=1.15, 1.16 available
  • Test #8 - Conda package is not latest available: pysam=0.15.4, 0.16.0.1 available
  • Test #8 - Conda package is not latest available: conda-forge::pandas=1.0.4, 1.1.2 available
  • Test #8 - Conda package is not latest available: conda-forge::biopython=1.76, 1.78 available
  • Test #15 - Schema param awsqueue not found from nextflow config
  • Test #15 - Schema param awsregion not found from nextflow config

✅ Tests passed:

  • Test #1 - File found: nextflow.config
  • Test #1 - File found: nextflow_schema.json
  • Test #1 - File found: Dockerfile
  • Test #1 - File found: LICENSE or LICENSE.md or LICENCE or LICENCE.md
  • Test #1 - File found: README.md
  • Test #1 - File found: CHANGELOG.md
  • Test #1 - File found: docs/README.md
  • Test #1 - File found: docs/output.md
  • Test #1 - File found: docs/usage.md
  • Test #1 - File found: .github/workflows/branch.yml
  • Test #1 - File found: .github/workflows/ci.yml
  • Test #1 - File found: .github/workflows/linting.yml
  • Test #1 - File found: main.nf
  • Test #1 - File found: environment.yml
  • Test #1 - File found: conf/base.config
  • Test #1 - File found: .github/workflows/awstest.yml
  • Test #1 - File found: .github/workflows/awsfulltest.yml
  • Test #1 - File not found check: Singularity
  • Test #1 - File not found check: parameters.settings.json
  • Test #1 - File not found check: .travis.yml
  • Test #3 - Licence check passed
  • Test #2 - Dockerfile check passed
  • Test #4 - Config variable found: manifest.name
  • Test #4 - Config variable found: manifest.nextflowVersion
  • Test #4 - Config variable found: manifest.description
  • Test #4 - Config variable found: manifest.version
  • Test #4 - Config variable found: manifest.homePage
  • Test #4 - Config variable found: timeline.enabled
  • Test #4 - Config variable found: trace.enabled
  • Test #4 - Config variable found: report.enabled
  • Test #4 - Config variable found: dag.enabled
  • Test #4 - Config variable found: process.cpus
  • Test #4 - Config variable found: process.memory
  • Test #4 - Config variable found: process.time
  • Test #4 - Config variable found: params.outdir
  • Test #4 - Config variable found: params.input
  • Test #4 - Config variable found: manifest.mainScript
  • Test #4 - Config variable found: timeline.file
  • Test #4 - Config variable found: trace.file
  • Test #4 - Config variable found: report.file
  • Test #4 - Config variable found: dag.file
  • Test #4 - Config variable found: process.container
  • Test #4 - Config variable (correctly) not found: params.version
  • Test #4 - Config variable (correctly) not found: params.nf_required_version
  • Test #4 - Config variable (correctly) not found: params.container
  • Test #4 - Config variable (correctly) not found: params.singleEnd
  • Test #4 - Config variable (correctly) not found: params.igenomesIgnore
  • Test #4 - Config timeline.enabled had correct value: true
  • Test #4 - Config report.enabled had correct value: true
  • Test #4 - Config trace.enabled had correct value: true
  • Test #4 - Config dag.enabled had correct value: true
  • Test #4 - Config manifest.name began with nf-core/
  • Test #4 - Config variable manifest.homePage began with https://github.com/nf-core/
  • Test #4 - Config dag.file ended with .svg
  • Test #4 - Config variable manifest.nextflowVersion started with >= or !>=
  • Test #4 - Config process.container looks correct: nfcore/eager:dev
  • Test #4 - Config manifest.version ends in dev: '2.2.0dev'
  • Test #5 - GitHub Actions 'branch' workflow is triggered for PRs to master: /home/runner/work/eager/eager/.github/workflows/branch.yml
  • Test #5 - GitHub Actions 'branch' workflow looks good: /home/runner/work/eager/eager/.github/workflows/branch.yml
  • Test #5 - GitHub Actions CI is triggered on expected events: /home/runner/work/eager/eager/.github/workflows/ci.yml
  • Test #5 - CI is building the correct docker image: docker build --no-cache . -t nfcore/eager:dev
  • Test #5 - CI is pulling the correct docker image: docker pull nfcore/eager:dev
  • Test #5 - CI is tagging docker image correctly: docker tag nfcore/eager:dev nfcore/eager:dev
  • Test #5 - Continuous integration checks minimum NF version: /home/runner/work/eager/eager/.github/workflows/ci.yml
  • Test #5 - GitHub Actions linting workflow is triggered on PR and push: /home/runner/work/eager/eager/.github/workflows/linting.yml
  • Test #5 - Continuous integration runs Markdown lint Tests: /home/runner/work/eager/eager/.github/workflows/linting.yml
  • Test #5 - Continuous integration runs nf-core lint Tests: /home/runner/work/eager/eager/.github/workflows/linting.yml
  • Test #5 - GitHub Actions AWS test is triggered on push and not PRs: /home/runner/work/eager/eager/.github/workflows/awstest.yml
  • Test #5 - GitHub Actions AWS test is triggered only on push to master: /home/runner/work/eager/eager/.github/workflows/awstest.yml
  • Test #5 - GitHub Actions AWS full test is triggered only on published release: /home/runner/work/eager/eager/.github/workflows/awsfulltest.yml
  • Test #5 - GitHub Actions AWS full test should test full datasets: /home/runner/work/eager/eager/.github/workflows/awsfulltest.yml
  • Test #6 - README Nextflow minimum version badge matched config. Badge: 20.04.0, Config: 20.04.0
  • Test #6 - README had a bioconda badge
  • Test #8 - Conda environment name was correct (nf-core-eager-2.2.0dev)
  • Test #8 - Conda dependency had pinned version number: conda-forge::python=3.7.3
  • Test #8 - Conda dependency had pinned version number: conda-forge::markdown=3.2.2
  • Test #8 - Conda package is latest available: conda-forge::markdown=3.2.2
  • Test #8 - Conda dependency had pinned version number: conda-forge::pymdown-extensions=7.1
  • Test #8 - Conda dependency had pinned version number: conda-forge::pygments=2.6.1
  • Test #8 - Conda dependency had pinned version number: bioconda::rename=1.601
  • Test #8 - Conda package is latest available: bioconda::rename=1.601
  • Test #8 - Conda dependency had pinned version number: conda-forge::openjdk=8.0.144
  • Test #8 - Conda dependency had pinned version number: bioconda::fastqc=0.11.9
  • Test #8 - Conda package is latest available: bioconda::fastqc=0.11.9
  • Test #8 - Conda dependency had pinned version number: bioconda::adapterremoval=2.3.1
  • Test #8 - Conda package is latest available: bioconda::adapterremoval=2.3.1
  • Test #8 - Conda dependency had pinned version number: bioconda::adapterremovalfixprefix=0.0.5
  • Test #8 - Conda package is latest available: bioconda::adapterremovalfixprefix=0.0.5
  • Test #8 - Conda dependency had pinned version number: bioconda::bwa=0.7.17
  • Test #8 - Conda package is latest available: bioconda::bwa=0.7.17
  • Test #8 - Conda dependency had pinned version number: bioconda::picard=2.22.9
  • Test #8 - Conda dependency had pinned version number: bioconda::samtools=1.9
  • Test #8 - Conda dependency had pinned version number: bioconda::dedup=0.12.6
  • Test #8 - Conda package is latest available: bioconda::dedup=0.12.6
  • Test #8 - Conda dependency had pinned version number: bioconda::angsd=0.933
  • Test #8 - Conda package is latest available: bioconda::angsd=0.933
  • Test #8 - Conda dependency had pinned version number: bioconda::circularmapper=1.93.5
  • Test #8 - Conda package is latest available: bioconda::circularmapper=1.93.5
  • Test #8 - Conda dependency had pinned version number: bioconda::gatk4=4.1.7.0
  • Test #8 - Conda dependency had pinned version number: bioconda::qualimap=2.2.2d
  • Test #8 - Conda package is latest available: bioconda::qualimap=2.2.2d
  • Test #8 - Conda dependency had pinned version number: bioconda::vcf2genome=0.91
  • Test #8 - Conda package is latest available: bioconda::vcf2genome=0.91
  • Test #8 - Conda dependency had pinned version number: bioconda::damageprofiler=0.4.9
  • Test #8 - Conda dependency had pinned version number: bioconda::multiqc=1.9
  • Test #8 - Conda package is latest available: bioconda::multiqc=1.9
  • Test #8 - Conda dependency had pinned version number: bioconda::pmdtools=0.60
  • Test #8 - Conda package is latest available: bioconda::pmdtools=0.60
  • Test #8 - Conda dependency had pinned version number: bioconda::bedtools=2.29.2
  • Test #8 - Conda package is latest available: bioconda::bedtools=2.29.2
  • Test #8 - Conda dependency had pinned version number: conda-forge::libiconv=1.15
  • Test #8 - Conda dependency had pinned version number: conda-forge::pigz=2.3.4
  • Test #8 - Conda package is latest available: conda-forge::pigz=2.3.4
  • Test #8 - Conda dependency had pinned version number: bioconda::sequencetools=1.4.0.6
  • Test #8 - Conda package is latest available: bioconda::sequencetools=1.4.0.6
  • Test #8 - Conda dependency had pinned version number: bioconda::preseq=2.0.3
  • Test #8 - Conda package is latest available: bioconda::preseq=2.0.3
  • Test #8 - Conda dependency had pinned version number: bioconda::fastp=0.20.1
  • Test #8 - Conda package is latest available: bioconda::fastp=0.20.1
  • Test #8 - Conda dependency had pinned version number: bioconda::bamutil=1.0.14
  • Test #8 - Conda package is latest available: bioconda::bamutil=1.0.14
  • Test #8 - Conda dependency had pinned version number: bioconda::mtnucratio=0.7
  • Test #8 - Conda package is latest available: bioconda::mtnucratio=0.7
  • Test #8 - Conda dependency had pinned version number: pysam=0.15.4
  • Test #8 - Conda dependency had pinned version number: bioconda::kraken2=2.0.9beta
  • Test #8 - Conda package is latest available: bioconda::kraken2=2.0.9beta
  • Test #8 - Conda dependency had pinned version number: conda-forge::pandas=1.0.4
  • Test #8 - Conda dependency had pinned version number: bioconda::freebayes=1.3.2
  • Test #8 - Conda package is latest available: bioconda::freebayes=1.3.2
  • Test #8 - Conda dependency had pinned version number: bioconda::sexdeterrmine=1.1.2
  • Test #8 - Conda package is latest available: bioconda::sexdeterrmine=1.1.2
  • Test #8 - Conda dependency had pinned version number: bioconda::multivcfanalyzer=0.85.2
  • Test #8 - Conda package is latest available: bioconda::multivcfanalyzer=0.85.2
  • Test #8 - Conda dependency had pinned version number: bioconda::hops=0.34
  • Test #8 - Conda package is latest available: bioconda::hops=0.34
  • Test #8 - Conda dependency had pinned version number: conda-forge::biopython=1.76
  • Test #8 - Conda dependency had pinned version number: conda-forge::xopen=0.9.0
  • Test #8 - Conda package is latest available: conda-forge::xopen=0.9.0
  • Test #8 - Conda dependency had pinned version number: bioconda::bowtie2=2.4.1
  • Test #8 - Conda package is latest available: bioconda::bowtie2=2.4.1
  • Test #9 - Found all expected strings in Dockerfile file
  • Test #12 - Name adheres to nf-core convention
  • Test #13 - Did not find any cookiecutter template strings (137 files)
  • Test #14 - Schema lint passed
  • Test #14 - Schema title + description lint passed

Run details:

  • nf-core/tools version 1.10.2
  • Run at 2020-09-14 06:55:51

Copy link
Member

@apeltzer apeltzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments

conf/base.config Outdated
@@ -23,43 +23,43 @@ process {
withLabel:'sc_tiny'{
cpus = { check_max( 1, 'cpus' ) }
memory = { check_max( 1.GB * task.attempt, 'memory' ) }
time = { check_max( 2.h * task.attempt, 'time' ) }
time = { check_max( 24.h * task.attempt, 'time' ) }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't tiny jobs not also be less than 24hours? e.g. lets say 3 for tiny, 6 for small, 8 for medium and 16 for large?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My fear here is that some clusters actually send you to the end of the queue if you ask for more hours than you actually need - so it shouldn't be set to too much more than the initial process will most likely need.

Copy link
Member Author

@jfy133 jfy133 Sep 11, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tiny is actually referring to the resources rather than time (at least in the eager concept).

Hmm ok. That's tricky then. I originally honestly felt 2.h was enough but #545 made me realise this could occur when people run their own data. Maybe 4.h for everything? Half a day I think would be pretty solid for testing with your own data... (run at 8, check again at lunch?).

@apeltzer apeltzer merged commit 47c016b into dev Sep 14, 2020
@jfy133 jfy133 deleted the timelimit-mods branch September 25, 2020 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants