Abstract
Haskell gives computational biologists the flexibility and rapid prototyping of a scripting language, plus the performance of native code. In our experience, higher-order functions, lazy evaluation, and monads really worked, but profiling and debugging presented obstacles. Also, Haskell libraries vary greatly: memoization combinators and parallel-evaluation strategies helped us a lot, but other, nameless libraries mostly got in our way. Despite the obstacles and the uncertain quality of some libraries, Haskell's ecosystem made it easy for us to develop new algorithms in computational biology.
- Lenore Cowen, Philip Bradley, Matt Menke, Jonathan King, and Bonnie Berger. Predicting the beta-helix fold from protein sequence data. Journal of Computational Biology, 2002.Google Scholar
Cross Ref
- Noah Daniels, Raghavendra Hosur, Bonnie Berger, and Lenore Cowen. SMURFLite: combining simplified Markov random fields with simulated evolution improves remote homology detection for beta-structural proteins into the twilight zone. Bioinformatics, March 2012. Google Scholar
Digital Library
- Rirchard Durbin, Sean Eddy, Anders Krogh, and Graeme Mitchison. Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids. Cambridge University Press, May 1998.Google Scholar
Cross Ref
- Sean Eddy. Profile hidden Markov models. Bioinformatics, 14: 755--763, 1998.Google Scholar
Cross Ref
- John Hughes. Why functional programming matters. The Computer Journal, 32 (2): 98--107, April 1989. Google Scholar
Digital Library
- Matthew Menke, Bonnie Berger, and Lenore Cowen. Matt: local flexibility aids protein multiple structure alignment. PLoS Computational Biology, 2008.Google Scholar
Cross Ref
- Matthew Menke, Bonnie Berger, and Lenore Cowen. Markov random fields reveal an N-terminal double beta-propeller motif as part of a bacterial hybrid two-component sensor system. Proceedings of the National Academy of Science, 2010.Google Scholar
Cross Ref
- Patrick Sansom and Simon L Peyton Jones. Formally based profiling for higher-order functional languages. ACM TOPLAS, 19 (2): 334--385, 1997. Google Scholar
Digital Library
- Andrew Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Transactions on Information Theory, 13 (2): 260--269, April 1967. Google Scholar
Digital Library
Index Terms
Experience report: Haskell in computational biology
Recommendations
Experience report: Haskell in computational biology
ICFP '12: Proceedings of the 17th ACM SIGPLAN international conference on Functional programmingHaskell gives computational biologists the flexibility and rapid prototyping of a scripting language, plus the performance of native code. In our experience, higher-order functions, lazy evaluation, and monads really worked, but profiling and debugging ...
Modular language implementation in Rascal - experience report
All software evolves, and programming languages and programming language tools are no exception. And just like in ordinary software construction, modular implementations can help ease the process of changing a language implementation and its dependent ...
Experience report: using hackage to inform language design
HASKELL '10Hackage, an online repository of Haskell applications and libraries, provides a hub for programmers to both release code to and use code from the larger Haskell community. We suggest that Hackage can also serve as a valuable resource for language ...







Comments