Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

what are some data structures that should be known by somebody involved in bioinformatics? I guess that anyone is supposed to know about lists, haseshes, balanced trees etc, but I expect that there are domain specific data structures. Is there any book devoted to this subject?

Thanks, Lucian

share|improve this question

2 Answers 2

I can't think of any data structures that are really unique to bioinformatics. There are a lot of algorithms that are common in bioinformatics but which you don't see too often in generic commercial programming. Dynamic programming comes up all the time for example. Note that this has nothing to do with dynamic types, rather it is an efficient technique for unrolling recursive calls.

There are dozens of books on algorithms in bioinformatics. A couple of good ones I can name off the top of my head are: Biological Sequence Analysis and An Introduction to Bioinformatics Algorithms

share|improve this answer

If you are to do any work on large datasets you need to learn how to handle those efficiently.

Just think if you are going to do image analysis on a 2 Gb TIFF image. Or sequence matching on a 150 Gb genome dataset.

When you move from a "nothing is slow" to a "this operation is fast and THIS is very, very slow but then THESE operations are fast" mindset, your algorithms tend to change. It is relatively cheap to manipulate data in memory as opposed to having to fetch them from disk all the time, and it is relatively cheap to manipulate data in the cpu cache as opposed to having to fetch them from memory all the time. In other words, algorithms that take that in consideration will be faster resulting in faster results, more publications and fame and Nobel prizes.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.