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

[Augur] Expose Augur versions #686

Merged
merged 15 commits into from
Dec 11, 2024
Merged

Conversation

Michal-Babins
Copy link
Contributor

@Michal-Babins Michal-Babins commented Dec 9, 2024

This PR closes #685

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

🧠 Summary

This PR captures versions for iqtree, fasttree, raxml, and version of iqtree model being used with Augur.

⚡ Impacted Workflows/Tasks

wf_augur
task_augur_tree

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

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

🛠️ Changes

Outputs have been added to capture the following version outputs for augur:

String iqtree_version = read_string("IQTREE_VERSION")
String fasttree_version = read_string("FASTTREE_VERSION")
String raxml_version = read_string("RAXML_VERSION")
String iqtree_model_used = read_string("FINAL_MODEL.txt")

Where iqtree_model_used is for the actual iqtree model and not iqtree software version which is captured in iqtree_version.

⚙️ Algorithm

In task_augur_tree, now depending on what method is chosen (iqtree,fasttree,raxml) that sofware version will be captured in the output.

➡️ Inputs

⬅️ Outputs

The following output has been added to task_augur_tree:

String iqtree_version = read_string("IQTREE_VERSION")
String fasttree_version = read_string("FASTTREE_VERSION")
String raxml_version = read_string("RAXML_VERSION")
String iqtree_model_used = read_string("FINAL_MODEL.txt")

The following outputs have been added top level to wf_augur:

String augur_iqtree_model_used = augur_tree.iqtree_model_used
String augur_iqtree_version = augur_tree.iqtree_version
String augur_fasttree_version = augur_tree.fasttree_version
String augur_raxml_version = augur_tree.raxml_version

🧪 Testing

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

Michal-Babins and others added 12 commits November 8, 2024 20:39
…titution model and rename iqtree model variable for clarity
…D file is supplied by user for masking. also added DEBUG echo statement to see model string printed to log file. tested successfully w miniwdl both with and without BED file supplied and "auto" used as substitution_model input string
…rings for mafft version and iqtree version. added these 2 output strings to Augur workflow
… -euo pipefail. tested successfully w miniwdl
…d thus 2 new String outputs. tested all 3 w miniwdl. Also updated augur wf to output these strings
@kapsakcj
Copy link
Contributor

kapsakcj commented Dec 9, 2024

For clarity - iqtree_model_used output String was implemented/added in a separate PR: #674

This PR adds the ability to capture the model used in the rare scenario that the user provides a BED file to augur_tree task for masking. This was not working previously.

Want to also note that this PR adds augur_mafft_version to the wf_augur top level workflow.

And lastly, we added set -euo pipefail to the augur_tree and augur_align tasks.

Here are links to my tests in Terra:

I'm going to launch one more test with a BED file used as input for the augur_tree task, just to ensure iqtree version and model output strings are still present

@kapsakcj
Copy link
Contributor

kapsakcj commented Dec 9, 2024

last test. Ran successfully ✅ and produced the augur_iqtree_model_used even when using a BED file as input to the exclude_sites variable for the augur_tree task for masking. https://app.terra.bio/#workspaces/cdph-terrabio-taborda-manual/CDPH_Support_Sandbox/job_history/5e89f9f8-221e-454b-965a-5be714810a10

Don't forget about updating the Augur docs for these new output strings

@Michal-Babins
Copy link
Contributor Author

Copy link
Contributor

@kapsakcj kapsakcj left a comment

Choose a reason for hiding this comment

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

Thanks for running those tests and updating the docs, much appreciated! Nice work on this PR 👍

CC @sage-wright I believe it's ready for merging

@kapsakcj kapsakcj marked this pull request as ready for review December 10, 2024 22:06
@kapsakcj kapsakcj requested a review from a team as a code owner December 10, 2024 22:06
# capture version information
augur version > VERSION
echo
Copy link
Member

Choose a reason for hiding this comment

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

you've got an extra echo here

Copy link
Member

Choose a reason for hiding this comment

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

ah i see you're using them as line breaks in the output log

Copy link
Member

@sage-wright sage-wright left a comment

Choose a reason for hiding this comment

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

@sage-wright sage-wright merged commit 2013e30 into main Dec 11, 2024
6 checks passed
@sage-wright sage-wright deleted the mb-augur-automodel-output-dev branch December 11, 2024 19:15
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.

[Augur] Add version tracking for tree software + iqtree model
3 participants