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

Container configs #1515

Draft
wants to merge 13 commits into
base: dev
Choose a base branch
from
Draft

Container configs #1515

wants to merge 13 commits into from

Conversation

edmundmiller
Copy link
Contributor

No description provided.

@edmundmiller edmundmiller added this to the 3.18.0 milestone Mar 17, 2025
@edmundmiller edmundmiller requested a review from ewels March 17, 2025 15:29
@edmundmiller edmundmiller self-assigned this Mar 17, 2025
@edmundmiller edmundmiller changed the base branch from master to dev March 17, 2025 15:29
@maxulysse
Copy link
Member

maxulysse commented Mar 17, 2025

How do you generate/update the list?

Copy link

github-actions bot commented Mar 17, 2025

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit dd3b67c

+| ✅ 191 tests passed       |+
#| ❔   9 tests were ignored |#
!| ❗  10 tests had warnings |!

❗ Test warnings:

  • files_exist - File not found: assets/multiqc_config.yml
  • files_exist - File not found: .github/workflows/awstest.yml
  • files_exist - File not found: .github/workflows/awsfulltest.yml
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in ro-crate-metadata.json: "description": "

    \n \n <source media="(prefers-color-scheme: dark)" srcset="docs/images/nf-core-rnaseq_logo_dark.png">\n <img alt="nf-core/rnaseq" src="docs/images/nf-core-rnaseq_logo_light.png">\n \n

    \n\nGitHub Actions CI Status\nGitHub Actions Linting StatusAWS CICite with Zenodo\nnf-test\n\nNextflow\nrun with conda\nrun with docker\nrun with singularity\nLaunch on Seqera Platform\n\nGet help on SlackFollow on TwitterFollow on MastodonWatch on YouTube\n\n## Introduction\n\nnf-core/rnaseq is a bioinformatics pipeline that ...\n\n TODO nf-core:\n Complete this sentence with a 2-3 sentence summary of what types of data the pipeline ingests, a brief overview of the\n major pipeline sections and the types of output it produces. You're giving an overview to someone new\n to nf-core here, in 15-20 seconds. For an example, see https://github.com/nf-core/rnaseq/blob/master/README.md#introduction\n\n\n Include a figure that guides the user through the major workflow steps. Many nf-core\n workflows use the "tube map" design for that. See https://nf-co.re/docs/contributing/design_guidelines#examples for examples. \n Fill in short bullet-pointed list of the default steps in the pipeline 1. Read QC (FastQC)2. Present QC for raw reads (MultiQC)\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.\n\n Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.\n Explain what rows and columns represent. For instance (please edit as appropriate):\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\nsamplesheet.csv:\n\ncsv\nsample,fastq_1,fastq_2\nCONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz\n\n\nEach row represents a fastq file (single-end) or a pair of fastq files (paired end).\n\n\n\nNow, you can run the pipeline using:\n\n update the following command to include all required parameters for a minimal example \n\nbash\nnextflow run nf-core/rnaseq \\\n -profile <docker/singularity/.../institute> \\\n --input samplesheet.csv \\\n --outdir <OUTDIR>\n\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.\n\nFor more details and further functionality, please refer to the usage documentation and the parameter documentation.\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\noutput documentation.\n\n## Credits\n\nnf-core/rnaseq was originally written by Harshil Patel, Phil Ewels, Rickard Hammar\u00e9n.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n If applicable, make list of people who have also contributed \n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the contributing guidelines.\n\nFor further information or help, don't hesitate to get in touch on the Slack #rnaseq channel (you can join with this invite).\n\n## Citations\n\n Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. \n If you use nf-core/rnaseq for your analysis, please cite it using the following doi: 10.5281/zenodo.XXXXXX \n\n Add bibliography of tools and data used in your pipeline \n\nAn extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.\n\nYou can cite the nf-core publication as follows:\n\n> The nf-core framework for community-curated bioinformatics pipelines.\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.\n",
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 3.2.0
  • Run at 2025-03-17 19:13:02

@nf-core nf-core deleted a comment from github-actions bot Mar 17, 2025
@MatthiasZepper
Copy link
Member

Nice! I love to see some work in that direction and will need to take a closer look. A few quick questions that came to my mind at the first glance:

  • I seem to recall the idea was creating these configs upon release of a pipeline from YAMLs in the modules?
  • Do you think nf-core download should still run nextflow inspect by itself, or just read the config and use those paths?
  • Isn't it a bit dicey that we are always using the rnaseq pipeline for experimentation? After all, it is the most used nf-core pipeline, so any oversight or bug will affect lots of people and projects.

@edmundmiller
Copy link
Contributor Author

  • I seem to recall the idea was creating these configs upon release of a pipeline from YAMLs in the modules?

Yeah, that was the original idea. I think we've fallen into the waterfall trap and tried to plan before we implemented it. Still a high possibility, but just building out the parts that we can at this point, and trying to figure out where users are getting value out of it.

  • Do you think nf-core download should still run nextflow inspect by itself, or just read the config and use those paths?

Either or! I think it'll make everyone's lives easier if we at least write down the containers somewhere(and maybe back them up) on a version release. I'd imagine you could use the "latest" on nf-core download.

  • Isn't it a bit dicey that we are always using the rnaseq pipeline for experimentation? After all, it is the most used nf-core pipeline, so any oversight or bug will affect lots of people and projects.

This one specifically had to be rnaseq(for now) because I knew all of the software built on ARM via conda. So I 100% agree it's dicey to use for experimentation. It's also got the most eyes on it, so bugs are more likely to be caught sooner rather than later. For example, you and @maxulysse hopping on draft PR, moments after I open it and asking questions 😉

process { withName: 'GFFREAD' { container = 'community.wave.seqera.io/library/gffread:0.12.7--33b95f1cfcc0e572' } }
process { withName: 'GTF2BED' { container = 'community.wave.seqera.io/library/perl:5.26.2--e6570c5f08d3e12c' } }
process { withName: 'GTF_FILTER' { container = 'community.wave.seqera.io/library/python:3.9.5--0ee01a3faebf676a' } }
process { withName: 'GUNZIP' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } }

Choose a reason for hiding this comment

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

This is an linux/amd64 container

$ docker inspect community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc | grep Architecture
        "Architecture": "amd64",

process { withName: 'UMITOOLS_DEDUP' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } }
process { withName: 'UMITOOLS_EXTRACT' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } }
process { withName: 'UMITOOLS_PREPAREFORRSEM' { container = 'community.wave.seqera.io/library/umi_tools:1.1.5--a4e9770134f31e60' } }
process { withName: 'UNTAR' { container = 'community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc' } }

Choose a reason for hiding this comment

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

This is an linux/amd64 container

$ docker inspect community.wave.seqera.io/library/grep_sed_tar:4f61255d5eff93dc | grep Architecture
        "Architecture": "amd64",

@delagoya
Copy link

Tested this out on AWS Graviton instance and did not work. What did work was copying the containers from the deleted conf/arm.config to conf/containers/containers_docker_arm64.config and removing --platform=linux/amd64 from profiles.arm. docker.runOptions in nextflow.config file

@ewels
Copy link
Member

ewels commented Mar 19, 2025

Yeah, containers_docker_arm64.config seems to be identical to containers_docker_amd64.config so need to update the arm config to have the arm containers.

Also need several more config files in here - singularity arm / amd, https / oras, conda-lock for example. But moving in the right direction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Status: No status
Status: No status
Development

Successfully merging this pull request may close these issues.

6 participants