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

Deprecating SSW in scikit-bio: recommendation for alignment algorithms in Python #1814

Open
ebolyen opened this issue May 23, 2022 · 8 comments

Comments

@ebolyen
Copy link
Contributor

ebolyen commented May 23, 2022

Hello everyone,

We're planning on removing the SSW module from scikit-bio. This will occur sometime before the next release (which should be sometime in October).

It has been a general source of maintenance issues and limits our ability to target Windows platforms. While there have been some very lovely contributions such as #1709 and #1797 (from @mr-c and @theAeon respectively), we think the best approach is to remove this module.

Instead, we recommend using @jeffdaily's library Parasail and corresponding Python bindings: jeffdaily/parasail-python.

The documentation for this package is quite complete, and supports a similar usage pattern as our SSW bindings:
https://github.com/jeffdaily/parasail-python#ssw-library-emulation

The only difficulty you may encounter from this transition is converting the cigar strings (from the "traceable" algorithms, into scikit-bio alignment objects). We would be happy to accept pull requests to this end, but we don't have anything in particular planned.

If you find @jeffdaily's Parasail useful, please remember to cite it :)

@ebolyen
Copy link
Contributor Author

ebolyen commented May 23, 2022

And here is a worked example comparing skbio's SSW with Parasail:
https://gist.github.com/ebolyen/f759644a67d97a808f0ddb0933bcb4a0

@theAeon
Copy link
Contributor

theAeon commented May 23, 2022

Would this skbio-ified parasail package (that I shamelessly copied and packaged from @jvkersch) be of any use?

@ebolyen
Copy link
Contributor Author

ebolyen commented May 23, 2022

That is super lovely @theAeon! Thanks for sharing!

@ebolyen
Copy link
Contributor Author

ebolyen commented May 23, 2022

I will mention we are looking for maintainers for this project, so if anyone feels particularly strongly about alignment and how that should work in skbio (or other parts of scikit-bio), feel free to get in touch!

@jeffdaily
Copy link

Wow, I'm flattered you all still find parasail useful! I wrote parasail as part of my dissertation and always hoped it would help the community. Unfortunately, in my current role I barely have time to maintain what is there. Perhaps someone from this community could help? I don't know how such transitions work; this was my first solo open source project.

@gregcaporaso
Copy link
Contributor

pywfa was pointed out in #254 as another performant Python-accessible aligner.

@gregcaporaso
Copy link
Contributor

gregcaporaso commented Dec 9, 2022

We've decided to delay this removal, most likely for one more release. We identified two tools that are using local_pairwise_align_ssw: IAB and q2-feature-classifier. We suspect therefore that there may be others, so we're going to save this for 0.6.0.

@theAeon
Copy link
Contributor

theAeon commented Dec 9, 2022

Also makes sense from a semver perspective for sure.

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

No branches or pull requests

4 participants