Using Minimum Path Cover to Boost Dynamic Programming on DAGs: Co-linear Chaining Extended
Aligning sequencing reads on graph representations of genomes is an important ingredient of pan-genomics. Such approaches typically find a set of local anchors that indicate plausible matches between substrings of a read to subpaths of the graph. These anchor matches are then combined to form a (semi-local) alignment of the complete read on a subpath. Co-linear chaining is an algorithmically rigorous approach to combine the anchors. It is a well-known approach for the case of two sequences as inputs. Here we extend the approach so that one of the inputs can be a directed acyclic graph (DAGs), e.g. a splicing graph in transcriptomics or a variant graph in pan-genomics.
This extension to DAGs turns out to have a tight connection to the minimum path cover problem, asking us to find a minimum-cardinality set of paths that cover all the nodes of a DAG. We study the case when the size k of a minimum path cover is small, which is often the case in practice. First, we propose an algorithm for finding a minimum path cover of a DAG (V, E) in \(O(k|E|\log |V|)\) time, improving all known time-bounds when k is small and the DAG is not too dense. Second, we introduce a general technique for extending dynamic programming (DP) algorithms from sequences to DAGs. This is enabled by our minimum path cover algorithm, and works by mimicking the DP algorithm for sequences on each path of the minimum path cover. This technique generally produces algorithms that are slower than their counterparts on sequences only by a factor k. Our technique can be applied, for example, to the classical longest increasing subsequence and longest common subsequence problems, extended to labeled DAGs. Finally, we apply this technique to the co-linear chaining problem, which is a generalization of both of these two problems. We also implemented the new co-linear chaining approach. Experiments on splicing graphs show that the new method is efficient also in practice.
We thank the anonymous reviewers for comments that improved the presentation of this paper. We thank Gonzalo Navarro for pointing out the connection to pattern matching on hypertexts. This work was funded in part by the Academy of Finland (grant 274977 to AIT and grants 284598 and 309048 to AK and to VM), and by Futurice Oy (to TP).
- 4.Belazzougui, D.: Linear time construction of compressed text indices in compact space. In: Proceedings of the Symposium on Theory of Computing STOC 2014, pp. 148–193. ACM (2014)Google Scholar
- 5.Belazzougui, D., Cunial, F., Kärkkäinen, J., Mäkinen, V.: Versatile succinct representations of the bidirectional Burrows-wheeler transform. In: Bodlaender, H.L., Italiano, G.F. (eds.) ESA 2013. LNCS, vol. 8125, pp. 133–144. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40450-4_12CrossRefGoogle Scholar
- 6.Chen, Y., Chen, Y.: An efficient algorithm for answering graph reachability queries. In: 2008 IEEE 24th International Conference on Data Engineering, pp. 893–902, April 2008Google Scholar
- 7.Chen, Y., Chen, Y.: On the graph decomposition. In: 2014 IEEE Fourth International Conference on Big Data and Cloud Computing, pp. 777–784, Dec 2014Google Scholar
- 13.Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing, STOC 1984, pp. 135–143. ACM, New York (1984)Google Scholar
- 14.Haussler, D., Smuga-Otto, M., Paten, B., Novak, A.M., Nikitin, S., Zueva, M., Miagkov, D.: A flow procedure for the linearization of genome sequence graphs. In: Sahinalp, S.C. (ed.) RECOMB 2017. LNCS, vol. 10229, pp. 34–49. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56970-3_3CrossRefGoogle Scholar
- 18.Kuosmanen, A., Norri, T., Mäkinen, V.: Evaluating approaches to find exon chains based on long reads. Brief. Bioinform. bbw137 (2017)Google Scholar
- 19.Kuosmanen, A., Paavilainen, T., Gagie, T., Chikhi, R., Tomescu, A.I., Mäkinen, V.: Using minimum path cover to boost dynamic programming on dags: co-linear chaining extended. CoRR, abs/1705.08754 (2018)Google Scholar
- 23.Myers, G., Miller, W.: Chaining multiple-alignment fragments in sub-quadratic time. In: Clarkson, K.L. (ed.) Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, 22–24 January 1995, pp. 38–47. ACM/SIAM, San Francisco (1995)Google Scholar
- 27.Orlin, J.B.: Max flows in \(O(nm)\) time, or better. In: Proceedings of the 45th Annual ACM Symposium on the Theory of Computing, STOC 2013, pp. 765–774. ACM, New York (2013)Google Scholar
- 33.Sirén, J.: Indexing variation graphs. In: 2017 Proceedings of the Ninteenth Workshop on Algorithm Engineering and Experiments (ALENEX), pp. 13–27. SIAM (2017)Google Scholar
- 39.Vyverman, M., De Smedt, D., Lin, Y.-C., Sterck, L., De Baets, B., Fack, V., Dawyndt, P.: Fast and Accurate cDNA mapping and splice site identification. In: Proceedings of the International Conference on Bioinformatics Models, Methods and Algorithms (BIOSTEC 2014), pp. 233–238 (2014)Google Scholar