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

Add in IRIDA Next updates Pipeline Best Practices #7

Merged
merged 36 commits into from
Jan 23, 2025

Conversation

DarianHole
Copy link
Member

@DarianHole DarianHole commented Dec 23, 2024

Added

  • nf-schema plugin and associated functions
    • Schemas
    • Param summary, param help, version
    • samplesheetToList
  • params.input <CSV> to allow input samplesheets
  • iridanext plugin
  • nf-prov plugin
  • Required nf-core files
  • CI tests and linting

Changed

  • Final quality metrics output is a CSV now to work with IRIDA next
  • Logic for input data
  • Logic for skipping specific modules
    • Allowed to skip el_gato ST
    • Allowed to skip el_gato allele plotting
  • All process publishDir now in the modules.conf file
  • Container for allele plotting
  • Adjusted default warn and fail parameters for quality module based on testing
    • min_reads to 60,000 from 150,000

Updated

  • Usage and README docs for the input adjustments

Issues Addressed

@DarianHole DarianHole changed the title Add in IRIDA Next updates and work towards best practices WIP: Add in IRIDA Next updates and work towards best practices Dec 23, 2024
@DarianHole DarianHole marked this pull request as draft December 23, 2024 21:25
@DarianHole DarianHole changed the base branch from main to dev January 10, 2025 14:31
@DarianHole DarianHole marked this pull request as ready for review January 15, 2025 15:01
@DarianHole DarianHole changed the title WIP: Add in IRIDA Next updates and work towards best practices Add in IRIDA Next updates Pipeline Best Practices Jan 15, 2025
Copy link
Member

@apetkau apetkau left a comment

Choose a reason for hiding this comment

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

This is amazing work. Thanks so much Darian 😄 . You've done a great job with this.

I have some in-line comments for you. Some of these are more meant for later PRs, or just recommendations or comments for your information for later. Please let me know if you have any questions.

"type": "string",
"pattern": "^\\S+$",
"errorMessage": "Sample name must be provided and cannot contain spaces",
"meta": ["id"]
Copy link
Member

Choose a reason for hiding this comment

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

Just as a note, there are some additional changes we will need to make for identifiers if you wish to use the sample names in IRIDA Next. But, I would recommend we leave this for a later PR, and even a later release to make things simpler.

As the pipeline is right now, this will work in IRIDA Next, but will use the IRIDA Next assigned identifiers (like INXT_1234) as the sample name instead of user-provided names (like 08-5578).

},
"prepped_schema": {
"type": "string",
"default": "data/SeqSphere_1521_schema",
Copy link
Member

Choose a reason for hiding this comment

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

This can be for later, but I would recommend a bit of change in logic here for integration with IRIDA Next. Specifically, I'd recommend leaving this to a default of empty and in the pipeline, if empty, using the default data/SeqSphere_1521_schema that comes with the pipeline code.

That way, in IRIDA Next, we can always override it later on if it needs to be updated, but otherwise will default to the database distributed with the pipeline.

}

//--- Test 4
test("Stub Run Test") {
Copy link
Member

Choose a reason for hiding this comment

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

Thanks so much for including this test 😄

In general, I recommend not using stub runs for testing, but instead creating very small inputs and databases and running the full pipeline including all underlying dependency software.

However, doing that all requires time. This is a good first step and later on a full test can be added in here.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, echoing this. Testing the stub run only tests that the stub part works, not that the pipeline works under normal circumstances.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I thought that it may be a good spot to put it as a test but makes sense not to. I've changed it to actual data

}

//--- Test 4
test("Stub Run Test") {
Copy link
Member

Choose a reason for hiding this comment

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

Yeah, echoing this. Testing the stub run only tests that the stub part works, not that the pipeline works under normal circumstances.

@DarianHole DarianHole added this to the v0.2.0 milestone Jan 20, 2025
@DarianHole DarianHole merged commit 7f26c64 into dev Jan 23, 2025
6 checks passed
@DarianHole DarianHole deleted the add/iridanext-updates branch January 24, 2025 15:41
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.

3 participants