-
Notifications
You must be signed in to change notification settings - Fork 26
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
Implement GBZ database backend #367
Comments
The current prototype is a separate repository, but I'm eventually going to make it an optional feature in the Rust GBWT. |
If you want to try it, the prototype is starting to be somewhat functional. Things can change without warning, so you may have to update gbz-base and its dependencies and rebuild the database frequently. You can do that with the following commands, and even 8 GB memory should be enough with a HPRC v1.1 graph:
You can query the database like this:
Only generic and reference paths are indexed for querying. You can replace The above command should output something like this:
|
@jltsiren has a version of the GBZ that is actually a database (meaning it supports fast random access, potentially by URL), and he has code that can query coordinates and dump a subgraph and the local paths, with which one was the reference indicated.
We should add this as a backend for the tube map. Instead of
vg chunk
, we could call Jouni's implementation when we see our graph is a GBZ database. If the database is a URL, we should use Jouni's code against that URL, rather than downloading it to the server and running against it locally.Ideally, we would do the extraction client-side in WebAssembly, but to start we might have to run Jouni's tool on the server, until we can get a WASM build of Jouni's implementation.
The text was updated successfully, but these errors were encountered: