Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Sorting by reversals is difficult
RECOMB '97 Proceedings of the first annual international conference on Computational molecular biology
A Faster and Simpler Algorithm for Sorting Signed Permutations by Reversals
SIAM Journal on Computing
Advanced Computer Architecture: Parallelism,Scalability,Programmability
Advanced Computer Architecture: Parallelism,Scalability,Programmability
Genome Rearrangement by Reversals and Insertions/Deletions of Contiguous Segments
COM '00 Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching
Parallel Programming in C with MPI and OpenMP
Parallel Programming in C with MPI and OpenMP
Genomic distances under deletions and insertions
COCOON'03 Proceedings of the 9th annual international conference on Computing and combinatorics
Hi-index | 0.00 |
By finding the corresponding shortest edit distance between two signed gene permutations, we can know the smallest number of insertions, deletions, and inversions required to change on string of genes into another, where insertion, deletion and inversion are the process of genome evolutions. However, it is NP-hard problem to compute the edit distance between two genomes. Marron et al proposed a polynomial-time approximation algorithm to compute (near) minimum edit distances under inversions, deletions, and unrestricted insertions. Our work is based on Marron’s et al algorithm, which carries out lots of comparisons and sorting to calculate the edit distance. These comparisons and sorting are extremely time-consuming, and they result in the decrease of the efficiency. We believe the efficiency of the algorithm can be improved by parallelizing. We parallelize their algorithm via OpenMP on Intel C++ compiler for Linux 7.1, and compare three levels of parallelism: coarse grain, fine grain and combination of both. The experiments are conducted for a varying number of threads and length of the gene sequences. The experimental results have shown that either coarse grain parallelism or fine grain parallelism alone does not improve the performance of the algorithm very much, however, the combination of both fine grain and coarse grain parallelism have improve the performance to a great extent.