Skip to main content
Fig. 3 | BMC Bioinformatics

Fig. 3

From: Introducing difference recurrence relations for faster semi-global alignment of long sequences

Fig. 3

a The core of the vectorized update loop: The pseudocode describes a simplified version of the update procedure for the (antidiagonally) vectorized difference recurrence algorithm; dh, dv, df, dh, and Av denote vectors ΔH G , ΔV G , ΔEG′, ΔFG′, and A G , respectively; av and bv are input sequence vectors that hold 2-bit-encoded nucleotide sequences. The binary operators for vectors—or, max, add, and sub—are bitwise OR and elementwise maximum, addition, and subtraction, respectively. The unary operators, shiftr and shiftl, are elementwise rightward and leftward shift operations, respectively. The shuffle operation (shuffle) takes an element table as the first argument and an index vector as the second argument. b The core of the traceback loop: Traceback is executed by comparing difference values. In our implementation, the vertical transition is preferred over both the horizontal and diagonal transition in the DP matrix. The horizontal transition is preferred over the diagonal transition. The diagonal transition is chosen only when the other transitions are impossible (See “Traceback flags and generating alignment path strings” section for details). Note that MATCH indicates the diagonal transition including a mismatch

Back to article page