Abstract
Color-coding is a technique to design fixed-parameter algorithms for several NP-complete subgraph isomorphism problems. Somewhat surprisingly, not much work has so far been spent on the actual implementation of algorithms that are based on color-coding, despite the elegance of this technique and its wide range of applicability to practically important problems. This work gives various novel algorithmic improvements for color-coding, both from a worst-case perspective as well as under practical considerations. We apply the resulting implementation to the identification of signaling pathways in protein interaction networks, demonstrating that our improvements speed up the color-coding algorithm by orders of magnitude over previous implementations. This allows more complex and larger structures to be identified in reasonable time; many biologically relevant instances can even be solved in seconds where, previously, hours were required.
Similar content being viewed by others
References
Alon, N., Yuster, R., Zwick, U.: Color-coding. J. ACM 42(4), 844–856 (1995)
Bodlaender, H.L.: On linear time minor tests with depth-first search. J. Algorithms 14(1) (1993)
Cai, L., Chan, S.M., Chan, S.O.: Random separation: a new method for solving fixed-cardinality optimization problems. In: Proc. 2nd Int. Workshop on Parameterized and Exact Computation (IWPEC’06). Lecture Notes in Computer Science, vol. 4169, pp. 239–250. Springer, New York (2006)
Cappanera, P., Scutellà, M.G.: Balanced paths in telecommunication networks: some computational results. In: Proc. 3rd Int. Network Optimization Conference (INOC’07) (2007)
Chen, J., Lu, S., Sze, S.-H., Zhang, F.: Improved algorithms for path, matching, and packing problems. In: Proc. 18th ACM-SIAM Symposium on Discrete Algorithms (SODA’07), pp. 298–307. ACM-SIAM (2007)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001)
Deshpande, P., Barzilay, R., Karger, D.R.: Randomized decoding for selection-and-ordering problems. In: Proc. Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technologies (NAACL HLT’07), pp. 444–451. Association for Computational Linguistics (2007)
Dost, B., Shlomi, T., Gupta, N., Ruppin, E., Bafna, V., Sharan, R.: QNet: a tool for querying protein interaction networks. In: Proc. 11th Annual Int. Conference on Research in Computational Molecular Biology (RECOMB’07). Lecture Notes in Bioinformatics, vol. 4453, pp. 1–15. Springer, New York (2007)
Feder, T., Motwani, R.: Finding large cycles in Hamiltonian graphs. In: Proc. 16th ACM-SIAM Symposium on Discrete Algorithms (SODA’05), pp. 166–175. SIAM, Philadelphia (2005)
Fellows, M.R., Knauer, C., Nishimura, N., Ragde, P., Rosamond, F.A., Stege, U., Thilikos, D.M., Whitesides, S.: Faster fixed-parameter tractable algorithms for matching and packing problems. In: Proc. 12th European Symposium on Algorithms (ESA’04). Lecture Notes in Computer Science, vol. 3221, pp. 311–322. Springer, New York (2004)
Gabow, H.N.: Finding paths and cycles of superpolylogarithmic length. In: Proc. 36th ACM Symposium on Theory of Computing (STOC’04), pp. 407–416. ACM (2004)
Giot, L., Bader, J.S., Brouwer, C., et al.: A protein interaction map of Drosophila melanogaster. Science 302(5651), 1727–1736 (2003)
Held, M., Karp, R.M.: A dynamic programming approach to sequencing problems. J. Soc. Ind. Appl. Math. 10(1), 196–210 (1962)
Hüffner, F., Wernicke, S., Zichner, T.: FASPAD: fast signaling pathway detection. Bioinformatics 23(13), 1708–1709 (2007)
Ideker, T., Thorsson, V., Ranish, J.A., et al.: Integrated genomic and proteomic analyses of a systematically perturbed metabolic network. Science 292(5518), 929–934 (2001)
Karger, D.R., Motwani, R., Ramkumar, G.D.S.: On approximating the longest path in a graph. Algorithmica 18(1), 82–98 (1997)
Kneis, J., Mölle, D., Richter, S., Rossmanith, P.: Divide-and-color. In: Proc. 32nd Int. Workshop on Graph-Theoretic Concepts in Computer Science (WG’06). Lecture Notes in Computer Science, vol. 4271, pp. 58–67. Springer, New York (2006)
Koutis, I.: A faster parameterized algorithm for Set Packing. Inf. Process. Lett. 94(1), 7–9 (2005)
Mathieson, L., Prieto, E., Shaw, P.: Packing edge disjoint triangles: a parameterized view. In: Proc. 1st Int. Workshop on Parameterized and Exact Computation (IWPEC’04). Lecture Notes in Computer Science, vol. 3162, pp. 127–137. Springer, New York (2004)
Mayrose, I., Shlomi, T., Rubinstein, N.D., Gershoni, J.M., Ruppin, E., Sharan, R., Pupko, T.: Epitope mapping using combinatorial phage-display libraries: a graph-based algorithm. Nucleic Acids Res. 35(1), 69–78 (2007)
Monien, B.: How to find long paths efficiently. Ann. Discret. Math. 25, 239–254 (1985)
Niedermeier, R.: Invitation to Fixed-Parameter Algorithms. Oxford University Press, Oxford (2006)
Plehn, J., Voigt, B.: Finding minimally weighted subgraphs. In: Proc. 16th Int. Workshop on Graph-Theoretic Concepts in Computer Science (WG’90). Lecture Notes in Computer Science, vol. 484, pp. 18–29. Springer, New York (1990)
Prieto, E., Sloper, C.: Looking at the stars. Theor. Comput. Sci. 351(3), 437–445 (2006)
Raymann, D.: Implementation of Alon-Yuster-Zwick’s color-coding algorithm. Diplomarbeit, Institute of Theoretical Computer Science, ETH Zürich, Switzerland (2004)
Schmidt, J.P., Siegel, A.: The spatial complexity of oblivious k-probe hash functions. SIAM J. Comput. 19(5), 775–786 (1990)
Scott, J., Ideker, T., Karp, R.M., Sharan, R.: Efficient algorithms for detecting signaling pathways in protein interaction networks. J. Comput. Biol. 13(2), 133–144 (2006)
Sharan, R., Ideker, T.: Modeling cellular machinery through biological network comparison. Nat. Biotechnol. 24(4), 427–433 (2006)
Shlomi, T., Segal, D., Ruppin, E., Sharan, R.: QPath: a method for querying pathways in a protein–protein interaction network. BMC Bioinf. 7, 199 (2006)
Steffen, M., Petti, A., Aach, J., D’haeseleer, P., Church, G.: Automated modelling of signal transduction networks. BMC Bioinf. 3, 34 (2002)
Volz, E.: Random networks with tunable degree distribution and clustering. Phys. Rev. E 70, 056115 (2004)
Author information
Authors and Affiliations
Corresponding author
Additional information
An extended abstract of this paper appeared under the title “Algorithm Engineering for Color-Coding to Facilitate Signaling Pathway Detection” in the Proceedings of the 5th Asia-Pacific Bioinformatics Conference (APBC 2007), January 15–17, 2007, Hong Kong, China, volume 5 in Advances in Bioinformatics and Computational Biology, pages 277–286, Imperial College Press.
F. Hüffner supported by the Deutsche Forschungsgemeinschaft, Emmy Noether research group PIAF (fixed-parameter algorithms), NI 369/4.
S. Wernicke supported by the Deutsche Telekom Stiftung.
T. Zichner supported by the Deutsche Forschungsgemeinschaft, project PEAL (Parameterized Complexity and Exact Algorithms), NI 369/1 and OPAL (Optimal Solutions for Hard Problems in Computational Biology), NI 369/2.
Rights and permissions
About this article
Cite this article
Hüffner, F., Wernicke, S. & Zichner, T. Algorithm Engineering for Color-Coding with Applications to Signaling Pathway Detection. Algorithmica 52, 114–132 (2008). https://doi.org/10.1007/s00453-007-9008-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-007-9008-7