/pssm_shootout

Language benchmarking for PSSM scoring

Primary LanguageC

Introduction

If you have ever been curious about the performance characteristics of various programming languages, you may be familiar with the The Computer Languages Benchmarking Game. If you have ever browsed the source of highly-ranked submissions, you may also be familiar with the style of these programs, which is remarkably constant across languages: winning programs on the shootout frankly read like they were written from outer space. The results of the shootout show how extremely esoteric programs perform, not how typical programs perform.

To that end, I’ve decided to perform my own shootout for the purposes of honest comparison and personal enrichment. The task is to:

  • parse:
    • the E. coli genome and
    • a list of transcription factor binding sites,
  • construct a PSSM with the latter,
  • score the (forward strand of the) entire genome with the PSSM, and
  • print the results to a file.

The languages chosen for implementation are:

  • C
  • Python
  • Haskell
  • Common Lisp (SBCL)
  • Scheme
  • Clojure
  • Julia

This repo is obviously a work in progress. Critical comments that suggest improvements, especially in the form of more natural idioms, are welcome.

Usage

From the top-level directory, type:

make all

to run each solution.