-
Notifications
You must be signed in to change notification settings - Fork 81
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
Add basic functionality to read indexed FASTA files #165
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brainstorm requested a review, so here it comes. Let me know, if I should have another look.
Dear @dlaehnemann, thank you very much for the review! |
* Cherry pick the pull request for faidx #165 (review) * Cargo formatting * Update faidx documentation for clarification * Implement faidx_open test * Run actions on faidx branch * Remove faidx from github actions * Activate CI for faidx branch * update osx bindings with faidx support * update linux bindings for faidx * Drop faidx branch from CI actions As requested by @brainstorm (see #214 (comment)) * Migrate faidx to use thiserror instead of snafu (#214 (comment)) * Use i64 in faidx and return byte array Internal C method faidx_fetch_seq64 uses i64 as type to index into large FASTA sequences. The fetch function now returns a byte array instead of a String to be more efficient. A new method was added to automatically convert to a String for convenience. * Formatting using cargo fmt * Use usize-type for position paramter in faidx The return type of the faidx functions is changed to a Result capturing a potential failure in converting the usize into a i64 (hts_pos_t in the C API). * Correct typo in faidx-error: to -> too Co-authored-by: Patrick Marks <[email protected]> Co-authored-by: Patrick Marks <[email protected]> Co-authored-by: Roman Valls Guimera <[email protected]>
Hi,
this pull request adds basic FAIDX functionality. Importantly, not all functions are supported/wrapped but enough for my use case.
I tried to follow your coding conventions but please don't hesitate to point out anything which can be improved.
Best,
Manuel