Divide and Conquer Frontier Search Applied to Optimal Sequence Alignment

We present a new algorithm that reduces the space complexity of heuristic search It is most e ective for problem spaces that grow polynomially with problem size but contain large numbers of short cycles For ex ample the problem of nding an optimal global align ment of several DNA or amino acid sequences can be solved by nding a lowest cost corner to corner path in a d dimensional grid A previous algorithm called divide and conquer bidirectional search Korf saves memory by storing only the Open lists and not the Closed lists We show that this idea can be ap plied in a unidirectional search as well This extends the technique to problems where bidirectional search is not applicable and is more e cient in both time and space than the bidirectional version If n is the length of the strings and d is the number of strings this algorithm can reduce the memory requirement from O n to O n While our current implementa tion of DCFS is somewhat slower than existing dy namic programming approaches for optimal alignment of multiple gene sequences DCFS is a more general al gorithm Introduction Sequence Alignment While we present a completely general heuristic search algorithm it was motivated by a problem in compu tational biology known as sequence alignment Con sider the two DNA sequences ACGTACGTACGT and ATGTCGTCACGT The problem is to align these se quences by inserting gaps in each one so that the number of matches between corresponding positions is maximized For example if we insert gaps as follows ACGTACGT ACGT and ATGT CGTCACGT then all the let ters in corresponding positions are the same except for the substitution of T for C in the second position The optimal solution to this problem is de ned by a cost function For example we may charge a penalty of one unit for a mismatch or substitution between characters and two units for a gap in either string The Copyright c American Association for Arti cial Intelligence www aaai org All rights reserved cost of an alignment then is the sum of the individual substitution and gap costs With this cost function the alignment above has a cost of ve since there is one substitution and two gaps The optimal alignment of a pair of strings is the alignment with the lowest cost and the above alignment is optimal Alignments are important for determining the structural similarity between di erent genes and identifying subsequences that are conserved between them This problem can be mapped to the problem of nd ing a lowest cost path from corner to corner in a two dimensional grid Needleman and Wunsch One sequence is placed on the horizontal axis from left to right and the other sequence on the vertical axis from top to bottom An alignment is represented by a path from the upper left corner of the grid to the lower right corner Figure shows the path that represents our ex ample alignment If there is no gap in either string at a given position the path moves diagonally down and right since this consumes both characters The cost of such a move is zero if the corresponding characters match or the substitution penalty if they di er A gap in the vertical string is represented by a horizon tal move right since that consumes a character in the horizontal string but leaves the position in the verti cal string unchanged Similarly a gap in the horizontal string is represented by a vertical move down Hori zontal and vertical moves are charged the gap penalty Given this mapping the problem of nding an optimal sequence alignment corresponds to nding a lowest cost path from the upper left corner to the lower right corner in the grid where the legal moves at each point are right down and diagonally down and right This problem readily generalizes to aligning multi ple strings simultaneously For example to align three strings we nd a lowest cost path in a cube from one corner to the opposite corner The cost of a multiple alignment is often computed as the sum of pairs cost or the sum of each of the di erent pairwise alignments Setubal and Meidanis Equivalently we can A C G T A C G T A C G T