Biolisp

Hacking biological data science

View on GitHub

Welcome to the Biolisp community!

Biology has become a data science. Hacking genomes to extract insights into problems ranging from cancer to aging is now the norm.

Whether you’re a Lisp hacker, an aspiring biohacker, or just love data science – we encourage you to join our community.

Philosophy

Gill Bejerano said it best:

Genomics is as much a field of computer science, as it is a field of biomedicine. There is the code, which is your genome, less than a gigabyte long. This piece of code “runs” every single cell in your body. And then there is you – the code’s output. A giant “cellular” automaton.

Seen this way, the genome is the most fascinating distributed operating system on the planet. Human genomics is the study of how this operating system produces its output – you:

The knowledge of what “bugs” in our code will pain us the most, how best we may “patch” them (with drugs and procedures), how best to fix our bugs (genetic engineering) or “compile” only bug free versions (in-vitro fertilization). All of these will profoundly change humanity as we know it today. If you want to help bring this revolution on, if you want to become a literal hero and save lives from your keyboard, if you want to help shape humanity’s big leap into the future – join us.

Sounds cool but you know very little biology? So did many of us, when we got started. If you are interested in this intersection - the world is starving for people like yourself. We pick things up as we go, we team up with great people (doctors, experimentalists) of complementary expertise to our own, we draw courage from our patients and their families, and together we make a difference in the world.

Why Lisp?

“Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.” –Eric Raymond, “How to Become a Hacker”

“Lisp has jokingly been called ‘the most intelligent way to misuse a computer’. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.” –Edsger Dijkstra, CACM, 15:10

“Lisp programmers know the value of everything and the cost of nothing.” –Alan Perlis, first recipient of the Turing Award

“Part of what makes Lisp distinctive is that it is designed to evolve. As new abstractions become popular (object-oriented programming, for example), it always turns out to be easy to implement them in Lisp. Like DNA, such a language does not go out of style.” –Paul Graham, Co-founder of Y Combinator

“The most powerful programming language is Lisp. If you don’t know Lisp (or its variant, Scheme), you don’t appreciate what a powerful language is. Once you learn Lisp you will see what is missing in most other languages.” –Richard Stallman, Creator of GNU, Emacs, GCC, GPL, and FSF

“The winning submission was a bag of 70 dropout neural networks and took one day to train on a GTX Titan GPU in double precision mode. Prediction took about an hour. My tests indicate that 8-16 neural networks are very close in performance to 70, so this was probably an overkill.” –Gábor Melis on his winning solution (written in Common Lisp) to the Higgs Boson Machine Learning Challenge on Kaggle

“Lisp offers programmers the unique ability to write code as quickly and easily as in other high-level languages like R or Python, yet retain all or nearly all of the performance from writing in a lower-level language like C. Lisp boosts programmer efficiency and maximizes productivity. My group has used it for 25 years to develop one of the most comprehensive bioinformatics software systems.” –Peter Karp, Director, Bioinformatics Research Group, Artificial Intelligence Center at SRI International

“I think that besides its hybrid nature — being able to write both interactive and compiled Lisp within the same application — Lisp itself is particularly great for creating domain-specific languages. That can be quite useful for fitting the language to the problem, not the other way around. Basically, the language never gets in your way. The easiest way to explain it would be that if you want to cross a mountain, you don’t have to climb over it or go around it — you can simply go through it. It is a hard analogy to explain until you try coding something complex in Lisp yourself and are coming in with experience using other programming languages. There can certainly be a fair share of ‘aha’ moments.” –Bohdan Khomtchouk, Postdoctoral Research Scholar at Stanford University

Still not convinced?

  1. The myth of the Lisp genius
  2. How the strengths of Lisp-family languages facilitate building complex and flexible bioinformatics applications
  3. Beating the Averages
  4. Lisp Bot Wins Google AI Challenge
  5. The Bipolar Lisp Programmer
  6. Performance and efficiency
  7. Common Lisp

Recent News

Upcoming Events

Joining Biolisp

Come say hi at our Github organization and request membership by contacting the organizer. We look forward to seeing you at our next event.

Support or Contact

Feel free to reach out to us here or send a private email to the Biolisp organizer Bohdan Khomtchouk at: bohdan@stanford.edu