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

Implement fast unweighted parsimony #117

Closed
xflouris opened this issue Dec 7, 2016 · 5 comments
Closed

Implement fast unweighted parsimony #117

xflouris opened this issue Dec 7, 2016 · 5 comments
Assignees

Comments

@xflouris
Copy link
Owner

xflouris commented Dec 7, 2016

Compute unweighted parsimony score using SSE/AVX instruction (instruction-level parallelism across sites).

  1. Out of n sites, Identify (a) invariant sites (sites made up of a single character and thus contribute 0 to score) and (b) sites that are made up of more than one character but no two characters appear at least twice in the site (in which case the score is the number characters appearing only once, for all kind of topologies).

  2. Replace sites, such that the ones identified in (1) appear at the end of the matrix, and keep an array of original indices (in case it is needed to go back to the original alignment after parsimony computations are finished). This is necessary such that sites that will be computed in parallel are contiguous in memory.

  3. Compute parsimony score for all sites except the ones identified in (1), and add to it the scores of 1b.

@xflouris xflouris self-assigned this Dec 7, 2016
@xflouris
Copy link
Owner Author

xflouris commented Dec 7, 2016

Updated description, started work on this.

@stamatak
Copy link
Collaborator

stamatak commented Dec 8, 2016 via email

@xflouris
Copy link
Owner Author

xflouris commented Dec 8, 2016

Hi Alexi,
the principle will be the same, i.e. decompose the sequences into |states| bit-vectors, and then use the same bit operations to compute the score. The structures will be slightly different though.

@stamatak
Copy link
Collaborator

stamatak commented Dec 8, 2016 via email

@xflouris
Copy link
Owner Author

finished

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