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

Activate multiqc ai summaries #1495

Closed
wants to merge 17 commits into from
Closed

Conversation

pinin4fjords
Copy link
Member

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 you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/rnaseq branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

Add support for MultiQC's AI-powered summaries feature via new parameter: - Add enable_multiqc_ai boolean parameter to schema - Add --ai flag to MultiQC args when enabled - Use nf-core standard array syntax for MultiQC args
@nf-core-bot
Copy link
Member

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 3.0.2.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.

Copy link

github-actions bot commented Jan 24, 2025

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

Posted for pipeline commit ae15852

+| ✅ 190 tests passed       |+
#| ❔   9 tests were ignored |#
!| ❗   8 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 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
  • 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!

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 3.0.2
  • Run at 2025-01-28 15:47:56

@pinin4fjords
Copy link
Member Author

Needs nf-core/modules#7364

@pinin4fjords
Copy link
Member Author

@nf-core-bot fix linting

@pinin4fjords
Copy link
Member Author

@nf-core-bot fix linting

Copy link
Member

@maxulysse maxulysse left a comment

Choose a reason for hiding this comment

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

<3

@pinin4fjords
Copy link
Member Author

Report from test profile: multiqc_report rnaseq_test.html.zip

Comment on lines +300 to +304
// Propagate API keys to MultiQC
System.getenv('SEQERA_ACCESS_TOKEN')?.with { SEQERA_ACCESS_TOKEN = it }
System.getenv('TOWER_ACCESS_TOKEN')?.with { TOWER_ACCESS_TOKEN = it }
System.getenv('OPENAI_API_KEY')?.with { OPENAI_API_KEY = it }
System.getenv('ANTHROPIC_API_KEY')?.with { ANTHROPIC_API_KEY = it }
Copy link
Contributor

Choose a reason for hiding this comment

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

I know nf-core wants to be 'batteries included', but this does feel like a lot of stuff when it's user configurable.

Copy link
Member

Choose a reason for hiding this comment

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

I quite like the approach, but I'm not sure that it'll be allowed with the new config parser :/

Copy link
Member Author

Choose a reason for hiding this comment

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

But I don't want to be the user that configures it ;-)

@pinin4fjords pinin4fjords marked this pull request as draft January 29, 2025 09:03
@pinin4fjords
Copy link
Member Author

Converted to draft pending conclusion of community discussions as to how good an idea this is

@pinin4fjords
Copy link
Member Author

pinin4fjords commented Jan 29, 2025

Closing for now after discussion, we'll wait and see how people end up using this. Once we update the multiqc module you will already be able to use this functionality by following the MultiQC docs.

If you come across this wanting to use the functionality, you'll need custom configuration like:

env{
    // Propagate API keys to MultiQC
    System.getenv('MULTIQC_AI')?.with { MULTIQC_AI = it }
    System.getenv('OPENAI_API_KEY')?.with { OPENAI_API_KEY = it }
}

... and then run the workflow like this:

export OPENAI_API_KEY=xxx
export MULTIQC_AI=1
nextflow run nf-core/rnaseq

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.

5 participants