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

Document BioSequence interface(s) #328

Open
kescobo opened this issue Oct 28, 2024 · 1 comment
Open

Document BioSequence interface(s) #328

kescobo opened this issue Oct 28, 2024 · 1 comment
Assignees

Comments

@kescobo
Copy link
Member

kescobo commented Oct 28, 2024

Thought about this due to this comment from #322

This commit adds new methods for findnext and findprev for SeqOrView with known alphabets,...

It's only implemented for known alphabets because new alphabets may overload == in surprising ways, which makes the bitparallel ops invalid.

Possibly related to #296 and #140 ?

I know we've had this conversation before, but couldn't find it in issues - on the one hand, it would be cool if it were possible for people to come up with their own alphabets and be able to take advantage of all of these optimizations. On the other hand, I can't really think of what those alternative alphabets might be, and if someone is advanced enough to want them, maybe they can figure it out.

On the third hand 🐙, it might make it more feasible for others to provide package maintenance if all of this stuff is better documented, even if no extensions are desired. I am mindful of your development time though @jakobnissen, and I know documentation is often a low priority (you do a great job prioritizing it for user-facing stuff).

@jakobnissen
Copy link
Member

One common type of alphabet is reduced amino acid alphabets. E.g. leucine and isoleucine (and other, similar pairs) can be collapsed to the same symbol, such that it fits in fewer bits to save memory.
Yes, I agree this is a good idea! 👍 I think most of this package is written in a pretty generic manner, so it should be relatively easy.

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

2 participants