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

Update WFA over GBWT #3687

Merged
merged 2 commits into from
Jun 16, 2022
Merged

Update WFA over GBWT #3687

merged 2 commits into from
Jun 16, 2022

Conversation

jltsiren
Copy link
Contributor

Changelog Entry

To be copied to the draft changelog by merger:

  • Nothing that concerns the user

Description

Update the semantics of WFA over GBWT. The endpoints of the alignment must still be on the haplotype the sequence is aligned to, but they are not included in the alignment itself. In other words, the alignment will be strictly between the endpoints. If the endpoints are identical, alignment is possible only if there is a cycle.

Also added proper error handling to the alignment object:

WFAAlignment result = extender.connect(sequence, from, to);
if (!result) {
    std::cerr << "Failure!" << std::endl;
}

Now we can tell the difference between an empty alignment (an empty sequence aligns to a path between two adjacent endpoints) and a failure.

Also added new tests for various special cases.

@jltsiren jltsiren merged commit cdbe857 into master Jun 16, 2022
@jltsiren jltsiren deleted the update-wfa-over-gbwt branch June 16, 2022 22:41
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

Successfully merging this pull request may close these issues.

2 participants