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

MAINT: update SPAdes to 4.0.0 #108

Merged
merged 5 commits into from
Jan 9, 2025
Merged

MAINT: update SPAdes to 4.0.0 #108

merged 5 commits into from
Jan 9, 2025

Conversation

misialq
Copy link
Contributor

@misialq misialq commented Dec 20, 2024

In response to the issue reported on the QIIME 2 forum: https://forum.qiime2.org/t/q2-assembly-assemble-spades-failing/32165/3.

@lizgehret
Copy link
Contributor

Hey @misialq - I fixed the merge conflicts here bc I wanted to check and see if spades 4.0.0 would work (since we'll also need to include this in our environment file updates). if it doesn't, we should be able to try 3.15.5 (there's a confirmed report of someone having success with that version for python 3.10).

Copy link

codecov bot commented Jan 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.32%. Comparing base (8926cb0) to head (e02e2ac).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #108   +/-   ##
=======================================
  Coverage   98.32%   98.32%           
=======================================
  Files          38       38           
  Lines        2745     2745           
=======================================
  Hits         2699     2699           
  Misses         46       46           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@misialq
Copy link
Contributor Author

misialq commented Jan 8, 2025

Hey @lizgehret, thanks! I still need to test that everything works ok with that new version - maybe we can just merge this for now (I guess you need that to happen today, right?) and I test afterwards?

@lizgehret
Copy link
Contributor

Hey @lizgehret, thanks! I still need to test that everything works ok with that new version - maybe we can just merge this for now (I guess you need that to happen today, right?) and I test afterwards?

Hey @misialq - what you could actually do is remove the version pin entirely from assembly's recipe file (this would actually make my changes in distributions easier as well). Then I'd just add the version pin into distributions, and you could test out the updated environment that contains that newer version - and if you run into any problems, you can just update the requisite code in assembly, and the next round of prepare PRs will include those changes. LMK if that makes sense or if you have any questions!

@misialq
Copy link
Contributor Author

misialq commented Jan 8, 2025

Oh, that would make it easier... However, that means that information about pinned versions (wrt to q2-assembly) would now be in two places: here and in distributions? The only problem I see with this approach is that if someone wants to install q2-assembly on its own they would not know that there is an actual pin required for the plugin, right?

@lizgehret
Copy link
Contributor

Oh, that would make it easier... However, that means that information about pinned versions (wrt to q2-assembly) would now be in two places: here and in distributions?

So technically it would just be in one place (if you remove the version pin here). For some background, we are hoping to slowly move all version pinning into distributions, so that there's just one location (or source of truth) for all of our package requirements.

Once we get a working distro build with spades 4.0.0, what you can do is update the spades instance in assembly's recipe file to be templated out- which will then just pull the version required from the environment file:

spades {{ spades }}

The only problem I see with this approach is that if someone wants to install q2-assembly on its own they would not know that there is an actual pin required for the plugin, right?

Hey good question - if folks were installing it on top of the tiny distribution (as an example), then they would need to specify the version of SPAdes. You could add a line into the install instructions (if installing separately from metagenome/pathogenome) that includes the following:

conda install -c bioconda spades=4.0.0

I'd say that's probably the easiest way of handling a separate install- is that something you think will be a common occurrence (vs a distro install)?

@misialq
Copy link
Contributor Author

misialq commented Jan 9, 2025

Alright, thanks for the explanation! I think that all makes sense - I'm going to drop the pin in the next commit then. I don't think non-distro installs would be super common - just trying to keep such use cases in mind :) Thanks!

@lizgehret
Copy link
Contributor

Thanks @misialq, this lgtm! Would you mind merging this as soon as you're able? I've got this distro PR open that won't pass until this is merged: qiime2/distributions#558

@misialq misialq merged commit ae9c336 into main Jan 9, 2025
9 checks passed
@misialq misialq deleted the update-spades branch January 9, 2025 22:15
@lizgehret
Copy link
Contributor

Awesome, thanks @misialq! 🙏

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.

2 participants