
Why biology students should learn how to program - MaysonL
http://scienceblogs.com/geneticfuture/2009/03/why_biology_students_should_be.php
======
kyro
Biology students should definitely learn how to program.

I'm in my 4th year as a bio major and have been involved with several research
projects. The first involved inducing schizophrenia in rats, and recording
their movements in reaction to a set of audio stimuli after being given a set
of varying medicines. We had folders and folders filled with spreadsheets of
data -- data that would have to be manually inputted into some crappily
obsolete software. Even with somewhat specialized software, each run was saved
as a separate file, adding to the clutter. Our research would have definitely
progressed more quickly had we had programmers that built the appropriate
software to aggregate our data.

In my second research project, our team was trying to, and still is, find the
metrics to 'the beautiful face.' This requires morphing pictures of women
together, presenting these synthetic images to a focus group, who then rates
the images. After the pictures are rated, they are subject to a natural
selection type algorithm we developed, and the beauty evolution is done
manually. We would've definitely found much value in recruiting a programmer
who could've written a program to automate the selection process, and perhaps
built an app that brought the focus group rating aspect of our research to the
web. We do use hotornot.com, but it's not ideal.

I'd like to add that additionally, medical students and doctors should learn
how to program. There are many many many areas in medicine and healthcare
generally that are behind the tech times. Coding doctors would definitely
expedite the progression of the medical field from within. At least I think
so. That's what my med school personal statement was about. :P

As someone who has studied biology/medicine, and has a definite interest in
programming (teaching myself currently), I hope to find myself helping in the
progression of the convergence of these two fields.

~~~
jskopek
I'd extend your comment to "Everyone should learn how to program". When you
look at the number of repetitive tasks that take place in a typical office
environment, it's amazing at how much time could be saved with a little
programming.

Macros were designed to accomplish this, but they're still way to complicated
to be used by most people. It would be great if there were some sort of easy
to use third party system that could integrate with a number of products
(Word, Excel, Websites) and provide an easy environment to build macros.

Edit: I'm basically thinking of OS X's Automator

~~~
whughes
Construction? Landscaping? Farming? Jobs with lots of secretarial assistance?
I think you've taken it a step too far and ignored several sectors of society.
Many scientists could benefit from programming, and anyone else who has to
deal with information regularly probably could as well. That doesn't equal
_everyone_.

~~~
donal
Arguably VB for Applications could come in handy for almost anyone. Though
interestingly most farmers, carpenters, and other handy-workers are more
capable of performing arithmetic than the rest of the population. Still the
power of a well-tuned spreadsheet is quite amazing.

Farmers are also a bad example these days, agriculture is totally high-tech.

------
patio11
Is there a compelling reason why the biologist and the programmer need to be
the same person?

It looks to me like researchers have figured out specialization of labor: one
well-educated researcher to make the theory, several low-wage grunts who get
to feed the rats. (Whether this relationship is fair to graduate students is
outside the scope of this post.)

I think we're suggesting people learn programming so that they can do tasks
which are of comparative complexity to feeding the rats. Converting data from
one form to the other? That is feeding rats. Iterating over data to produce
summary statistics? That is feeding rats.

(I know biologists work with really big data sets. So maybe they're not
feeding rats, they're feeding monkeys. Disgustingly parallel algorithms are
getting easier and arranging the hardware for them is getting easier: in a few
years, the monkeys will be about as easy to feed as rats are today.)

Biologists don't have grad students scratch-build their own microscopes, do
they? That would be silly. Why not have the scientists and proto-scientists
concentrate on science and outsource the feeding of computational rats to
someone who doesn't really need a graduate degree in bioinformatics.

Plus, if using cheap outsourced rat-feeders achieves comparable quality to
graduate students, there will be less market need for a permanent underclass
of rat feeders with crushing debt loads and stipends that make McDonalds look
generous.

~~~
dgmacarthur
Biologists don't necessarily need to be the one writing the high-end software
tools, in the same way (as you note) that they don't build their own
microscopes.

But re-formatting, filtering and running basic QC on complex data is something
a lot of biologists have to do every day; and the types of data, their quality
and their format are constantly evolving. Biologists who have to run down the
corridor to their local (probably overworked and underpaid) programmer every
time their data format changes, then explain the problem in terms the
programmer can understand, then wait for the programmer to write something,
and then check the script's output for errors, will be at a huge disadvantage
compared to those who can quickly whip up and debug a parsing script
themselves on the fly.

~~~
dehowell
I couldn't agree more. Grant money is precious. Instead of spending three or
four grad student salaries to pay a programmer a competitive wage, it makes
more far more sense to fund three or four students on research assistantships
where they have time to learn Perl.

------
biohacker42
Math skill will make you a better scientists.

Programming skills could also be useful, but then again maybe not. Read about
Richard Dawkins' dangerous addiction:
[http://www.guardian.co.uk/theguardian/2007/feb/03/weekend7.w...](http://www.guardian.co.uk/theguardian/2007/feb/03/weekend7.weekend5)

The danger I see in teaching biology students how to program is that they are
not, and don't want to be, good software engineers. And that's often worse
then not knowing a thing about computers.

A little knowledge is a dangerous thing. Combine a little programming
knowledge with a lot of intellect and no small amount of arrogance due the
proudly earned Ph.D in biology or chemistry or what ever and some VERY bad
things can happen.

I've seen databases where 99% of the data was NULL, because the Chemistry Ph.D
author couldn't be bothered with trivial details like what's a one to many
relationship. Naturally it was MS Access.

Beware of bad software engineering, even more so if the person coding is
otherwise brilliant. That's the most dangerous type.

Software is a very sharp sword, you should use it carefully not try to swing
it as hard as you can.

------
sgrove
Can't agree more. In my undergraduate research in the Cognitive Neuroscience
labs at Berkeley, it was disappointing to see how much effort was wasted
because people avoided technology instead of embracing it (in neuroscience!).

The work done there was incredible, but as I was passed around to researchers
in the lab, programming the experiments they had designed (have to pay your
dues to get into research), I got a chance to see the methods they used before
they were able to get competent programmers. Manually marking spikes and
anomalies in EEG data when there was an api for the program to allow access to
recorded data for just such a purpose, dealing with timing issues because few
understood the difficulties of achieving high-precision event timing, etc.

It was depressing to think of how much further it could have gone. When I left
to pursue my startup, I was working on some automated techniques to remove
noise from fMRI data. That type of work will speed up research and allow
researchers to spend time on meaningful things.

------
kaneraz
I've always been of the opinion that diversity in your education will help you
somewhere down the road. That being said you should still have one thing you
focus on. If you're going to be learning how to program as a biologist, you
still need to be a biologist first and a developer second.

I'm a developer first and whatever it is I'm programming for second. I learn
how to do the job of the people I write code for so it will do what they need.

------
Dilpil
If two semesters of calculus are relevant to biology students, then surely at
least one semester of programming is as well.

