-
Notifications
You must be signed in to change notification settings - Fork 80
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
[MRG] Move greyhound-core into sourmash #1238
Conversation
Codecov Report
@@ Coverage Diff @@
## latest #1238 +/- ##
==========================================
+ Coverage 83.58% 89.94% +6.35%
==========================================
Files 113 88 -25
Lines 12185 8592 -3593
Branches 1684 1705 +21
==========================================
- Hits 10185 7728 -2457
+ Misses 1743 600 -1143
- Partials 257 264 +7
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Hmm. 👎 I instead propose that we add an "experimental" subcommand in sourmash CLI that is explicitly not stable. Alternatively, as long as it's exposed by the Rust API to Python, I can use it in scripts. So we could keep it away from the CLI, at the cost of not being able to evolve a better CLI as we play with use cases. Motivation: I do most of my experimentation in Python, as do others, and I think sourmash has benefited substantially from this kind of experimentation. So I want to keep this available! |
ab74189
to
b37b51f
Compare
Fair point. Note that we can request "experimental" features from the Rust side on any sourmash PRs just fine (add "--features experimental" to the cargo invocation in |
is there value in combining this with #1131 at all? (I don't really know, am wondering.) |
Probably... I see the LcaDB as a superset of RevIndex, and could probably extend the latter with the taxinfo bits from the former, but this becomes a larger PR than this one. |
c52ab78
to
05f34f4
Compare
as I suspected, shoehorning greyhound into how sourmash does gather is more First hurdle is that I did the greyhound demos using on-disk signatures (and paths), Next, the gather issue discussed in #1263 |
4013982
to
ef5c62f
Compare
Is fine by me! |
add getset, wip parallel feature flag wip colors simpler impl first parallel hash to color construction wip Revert "wip" This reverts commit d65da76. must insert small_color into large_color before setting it trying out a small set impl try compressing colors inside reduce size test use new released vec-collections update cbindgen make parallel/sequential more maintainable some notes on partial serde start revindex in py start ffi first test passing second test passing modify colors.update to accept an iter instead of slices color count tracker update sourmash.h blanket implementation for counter_gather start working on memstorage niv update avoid a mut ref in save by using lots of mutexes fix codecov path fixes expose InnerStorage basic test passing in-memory sigs working revert counter_gather to gather in search.py lint cleanup cbindgen fixes moved MemStorage to #1463 implement signatures() fix initialization
🎉 🎉 🎉 🎉 🎉 🎉 |
After a frustrating 15 minutes of debugging, I feel like the reorganization of |
This PR moves the
greyhound-core
(RevIndex
andgather
) into sourmash. It doesn't bring the CLI, web server or browser frontend.(The CLI should probably be exposed here at some point, the web server and frontend should go into
wort
).I created a new feature on the Rust side, "experimental". The idea is to allow experimentation without making stability guarantees, including passing all checks required for merging (like wasm support). #1221 is another example of an "experimental" feature.
In order to avoid piling up experimental features, I also propose a requirement that sourmash-Python CAN'T use the "experimental" feature. This keeps us honest, and force stabilization in the Rust side =]
This is sort of equivalent to the
nightly
features in the Rust compiler.Lots left to do, but a small list:
parallel
feature to expose rayon