Parallel Smith-Waterman Sequence Alignment via Database Stripe Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Smith-Waterman algorithm for sequence alignment is impractical for large genomes due to its high runtime cost, which is exacerbated by its sequential nature, and existing heuristic-based approaches often result in less accurate matches.
Innovation Solution
The algorithm is parallelized by segmenting the database sequence into stripes, allowing multiple processing units to compute Smith-Waterman values independently and recompute a subset of values based on the query sequence length and cost function, maintaining the alignment fidelity of the sequential algorithm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the Smith-Waterman algorithm is used for sequence alignment, then alignment accuracy is maintained, but runtime cost becomes impractical for large genomes
Solution Approach 1:
The database sequence is divided into multiple stripes, with each stripe processed independently by a separate processing unit. This segmentation allows the algorithm to process different portions of the database sequence in parallel, reducing the overall runtime cost while maintaining alignment accuracy through independent computation of Smith-Waterman values for each stripe
Solution Approach 2:
The algorithm transitions from sequential processing to parallel processing by adding a spatial dimension through multiple processing units. Each processing unit handles a specific stripe simultaneously, transforming the time complexity from sequential O(n*m) to parallel O(n*m/p) where p is the number of processing units, thereby reducing runtime cost while preserving accuracy
2Loss of time
If the Smith-Waterman algorithm is parallelized, then runtime cost is reduced, but alignment fidelity may be compromised
Solution Approach 1:
By dividing the database sequence into distinct stripes and assigning each to a separate processing unit, the algorithm maintains independent computation paths that preserve the original Smith-Waterman recurrence relations. This ensures that each stripe's alignment fidelity is maintained while achieving parallel speedup
Solution Approach 2:
Each processing unit computes Smith-Waterman values independently for its assigned stripe, creating parallel copies of the computation process. This copying approach ensures that the original algorithm's fidelity is preserved in each parallel instance while reducing overall runtime through simultaneous execution
3Loss of time
If heuristic-based approaches are used to reduce runtime cost, then processing speed increases, but match accuracy decreases
Solution Approach 1:
The approach segments the database sequence into stripes processed in parallel, maintaining the exact Smith-Waterman dynamic programming computation for each stripe. This avoids the accuracy loss of heuristics while achieving speedup through parallel execution of multiple independent stripe computations
Solution Approach 2:
The sequential mechanical computation of the Smith-Waterman algorithm is replaced with a parallel computational system where multiple processing units simultaneously compute Smith-Waterman values for different stripes. This substitution maintains computational exactness while improving processing speed through parallelism
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Various technologies described herein pertain to parallel local sequence alignment that aligns a query sequence with a database sequence. The database sequence is segmented into a plurality of stripes. A first processing unit can compute Smith-Waterman values for a first stripe of the database sequence across the query sequence based on a cost function that models biological similarity between sequences. Moreover, a second processing unit can compute Smith-Waterman values for a second stripe of the database sequence across the query sequence based on the cost function. Further, a subset of the Smith-Waterman values for the second stripe of the database sequence across the query sequence can be re-computed based on the cost function (e.g., by the first processing unit or the second processing unit). The subset of the Smith-Waterman values to be re-computed can be determined based on a query sequence length and the cost function.