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

[TheiaProk] Update default versions for TB-Profiler and tbp-parser #673

Merged
merged 44 commits into from
Dec 13, 2024

Conversation

sage-wright
Copy link
Member

@sage-wright sage-wright commented Nov 8, 2024

This PR closes #427

🗑️ This dev branch should be deleted after merging to main.

🧠 Summary

This PR implements several changes that were requested by users, and sets the default variant caller in TBProfiler to GATK. These changes lived on various different development branches that are very out of sync with the latest updates. This branch collects those changes.

Other changes include:

  • the ability to provide multilane Illumina data as input to TheiaProk Illumina PE and SE is now available
    • activate the lane concatenation subworkflow by providing a read1_lane2 file; you may provide up to 4 lanes per read file.
    • use the read1 and read2 input variables for their respective lane1 data
  • TBProfiler task has been tidied
  • TBProfiler version has been bumped to v6.4.1
  • TBProfiler default variant caller is now GATK.
  • tbp-parser version has been bumped to v2.2.1
  • tbp-parser is now activated by call_tbp_parser not tbprofiler_additional_outputs
  • tNGS options and other optional inputs to tbp-parser are now available to be modified by the user in merlin_magic
    • TBProfiler_tNGS is still the recommended method for analyzing tNGS data. However, some of the customization options may be of interest to WGS users
  • a silent-ish syntax error has been corrected in tbp-parser
    • I was passing a WDL variable incorrectly to an awk script
  • various documentation updates

⚡ Impacted Workflows/Tasks

  • TBProfiler_tNGS
  • TheiaProk_Illumina_PE
  • TheiaProk_Illumina_SE
  • TheiaProk_ONT

This PR may lead to different results in pre-existing outputs: Yes

  • TBProfiler outputs will be different due to using the WHO v2 mutation catalogue.
  • tbp-parser results will also be changed since it relies on TBProfiler results.

This PR uses an element that could cause duplicate runs to have different results: No

🛠️ Changes

⚙️ Algorithm

TBProfiler -> v6.4.1
tbp-parser -> v2.1.1

➡️ Inputs

Boolean tbprofiler_additional_parameters -> Boolean call_tbp_parser
All tbp-parser optional inputs are now available for modification.

⬅️ Outputs

Int? tbprofiler_median_coverage -> Float? tbprofiler_median_depth

🧪 Testing

TheiaProk_Illumina_PE here

Suggested Scenarios for Reviewer to Test

🔬 Final Developer Checklist

  • The workflow/task has been tested and results, including file contents, are as anticipated
  • The CI/CD has been adjusted and tests are passing (Theiagen developers)
  • Code changes follow the style guide
  • Documentation and/or workflow diagrams have been updated if applicable (Theiagen developers only)

🎯 Reviewer Checklist

  • All changed results have been confirmed
  • You have tested the PR appropriately (see the testing guide for more information)
  • All code adheres to the style guide
  • MD5 sums have been updated
  • The PR author has addressed all comments
  • The documentation has been updated

@sage-wright sage-wright marked this pull request as ready for review November 12, 2024 15:53
@sage-wright sage-wright requested a review from a team as a code owner November 12, 2024 15:53
@sage-wright sage-wright marked this pull request as draft November 12, 2024 16:09
@sage-wright sage-wright marked this pull request as ready for review December 13, 2024 17:25
Copy link
Contributor

@Michal-Babins Michal-Babins left a comment

Choose a reason for hiding this comment

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

Code changes and doc changes look good. Will test.

Copy link
Contributor

Choose a reason for hiding this comment

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

Logic looks good to me here. read1_lane2 triggers the cascade for reads to concat which will be handled by the concatenate_lanes_workflow. Select first added for down stream side effect.

Copy link
Contributor

Choose a reason for hiding this comment

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

Follows suit and style of addition of concat_lanes_workflow in wf_theiaprok_illumina_pe but with single end reads

Copy link
Contributor

Choose a reason for hiding this comment

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

All tbp parser specific additions.

@Michal-Babins
Copy link
Contributor

Confirming the following tests:

TheiaProk_illumina_PE on ca_tb_combined
TheiaProk_Illumina_PE with multiple lanes
TheiaProk_SE
TBProfiler_tNGS
TheiaProk_ONT(Just checking nothing disrupted for ONT)

Everything ran and outputs look good. Good work. Happy to merge.

@Michal-Babins Michal-Babins merged commit cdd853f into main Dec 13, 2024
16 checks passed
@Michal-Babins Michal-Babins deleted the smw-tbprofiler-updates-dev branch December 13, 2024 20:04
@Michal-Babins Michal-Babins restored the smw-tbprofiler-updates-dev branch December 13, 2024 20:18
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.

[TheiaProk] tbprofiler optimizations
2 participants