, Volume 52, Issue 2, pp 114–132 | Cite as

Algorithm Engineering for Color-Coding with Applications to Signaling Pathway Detection

  • Falk Hüffner
  • Sebastian Wernicke
  • Thomas Zichner


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.


Dynamic Programming Edge Weight Protein Interaction Network Input Graph Query Path 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alon, N., Yuster, R., Zwick, U.: Color-coding. J. ACM 42(4), 844–856 (1995) zbMATHMathSciNetGoogle Scholar
  2. 2.
    Bodlaender, H.L.: On linear time minor tests with depth-first search. J. Algorithms 14(1) (1993) Google Scholar
  3. 3.
    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) CrossRefGoogle Scholar
  4. 4.
    Cappanera, P., Scutellà, M.G.: Balanced paths in telecommunication networks: some computational results. In: Proc. 3rd Int. Network Optimization Conference (INOC’07) (2007) Google Scholar
  5. 5.
    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) Google Scholar
  6. 6.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001) zbMATHGoogle Scholar
  7. 7.
    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) Google Scholar
  8. 8.
    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) Google Scholar
  9. 9.
    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) Google Scholar
  10. 10.
    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) Google Scholar
  11. 11.
    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) Google Scholar
  12. 12.
    Giot, L., Bader, J.S., Brouwer, C., et al.: A protein interaction map of Drosophila melanogaster. Science 302(5651), 1727–1736 (2003) CrossRefGoogle Scholar
  13. 13.
    Held, M., Karp, R.M.: A dynamic programming approach to sequencing problems. J. Soc. Ind. Appl. Math. 10(1), 196–210 (1962) zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Hüffner, F., Wernicke, S., Zichner, T.: FASPAD: fast signaling pathway detection. Bioinformatics 23(13), 1708–1709 (2007) CrossRefGoogle Scholar
  15. 15.
    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) CrossRefGoogle Scholar
  16. 16.
    Karger, D.R., Motwani, R., Ramkumar, G.D.S.: On approximating the longest path in a graph. Algorithmica 18(1), 82–98 (1997) zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    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) CrossRefGoogle Scholar
  18. 18.
    Koutis, I.: A faster parameterized algorithm for Set Packing. Inf. Process. Lett. 94(1), 7–9 (2005) CrossRefMathSciNetGoogle Scholar
  19. 19.
    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) Google Scholar
  20. 20.
    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) CrossRefGoogle Scholar
  21. 21.
    Monien, B.: How to find long paths efficiently. Ann. Discret. Math. 25, 239–254 (1985) MathSciNetGoogle Scholar
  22. 22.
    Niedermeier, R.: Invitation to Fixed-Parameter Algorithms. Oxford University Press, Oxford (2006) zbMATHGoogle Scholar
  23. 23.
    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) Google Scholar
  24. 24.
    Prieto, E., Sloper, C.: Looking at the stars. Theor. Comput. Sci. 351(3), 437–445 (2006) zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Raymann, D.: Implementation of Alon-Yuster-Zwick’s color-coding algorithm. Diplomarbeit, Institute of Theoretical Computer Science, ETH Zürich, Switzerland (2004) Google Scholar
  26. 26.
    Schmidt, J.P., Siegel, A.: The spatial complexity of oblivious k-probe hash functions. SIAM J. Comput. 19(5), 775–786 (1990) zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    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) CrossRefMathSciNetGoogle Scholar
  28. 28.
    Sharan, R., Ideker, T.: Modeling cellular machinery through biological network comparison. Nat. Biotechnol. 24(4), 427–433 (2006) CrossRefGoogle Scholar
  29. 29.
    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) CrossRefGoogle Scholar
  30. 30.
    Steffen, M., Petti, A., Aach, J., D’haeseleer, P., Church, G.: Automated modelling of signal transduction networks. BMC Bioinf. 3, 34 (2002) CrossRefGoogle Scholar
  31. 31.
    Volz, E.: Random networks with tunable degree distribution and clustering. Phys. Rev. E 70, 056115 (2004) CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Falk Hüffner
    • 1
  • Sebastian Wernicke
    • 1
  • Thomas Zichner
    • 1
  1. 1.Institut für InformatikFriedrich-Schiller-Universität JenaJenaGermany

Personalised recommendations