Monthly Archives: May 2006

Systems biology and reductionism

A brilliant set of two articles in PLOS biology talk about the merits and demerits of systems biology and reductionism.

The Limits of Reductionism: Could systems biology offer an alternative

The clinical applications of the systems approach

My commentary ( in progress):

As a trained reductionist , one thought that occupies my mind more than any these days is the role of the reductionist perspective in today's world of scientific research. Having been out of graduate school for almost 3 years I can most securely claim myself to belong to the old school of scientific research. I did go through all of graduate school without ever having done a screen ( the only people who did screens were people in the genetics department), for me a chip was made only of silicon or potato, and an array was simply a sequence of information in a computer program. Thus I am anything but a systems scientist.

This set of two articles in PLOS biology make a very good case for systems science. The first article talks about how the reductionist approach is deeply ingrained in the way medicine is practiced ( and life science research). Explaining reductionism as understanding the forest by studying the trees. The commentary makes a good case for how this is not the best approach since almost all disease states are complex and involve many interacting components. Importantly it remarks on how the three basic tenets of systems biology i.e space , time and context are very important for a complete understanding of anything. The authors also rightfully point out that there is no one science that can adequately address this approach and insists that a systems perspective can only come by a confluence of mathematics , statistics, chemistry , computational science, physics and engineering. The second article is a lot more pointed and I believe is a must read for all clinicians.

I would really recommend reading these reviews for anyone practicing systems biology , high-throughput screening , diagnostics or just plain old reductionist molecular life science research. These commentaries would especially benefit any medical practitioner because they, just like all the thousands of trained reductionists out there need to get on their intellectual treadmills and start training to prepare to adapt to the changing world of systems biology based medicine and therapy.

The handy goodness of krugle

Krugle first caught my eye thanks to some RSS feed from wired magazine. What krugle hopes to be is simply a google exclusively to the coder world. It hopes to be an index of all the open-source code out there. In addition to meaningfully indexing code, it also hopes to index all the technical documentation, the numerous user forum posts , coder haven discussions, developer posts etc and make it all available under one site : Krugle.

Before I sing its praises, let me first say that krugle is still in a very limited beta test. It took me almost two months to get my beta login and also that all things considered I am a very recreational coder i.e I do not make a living writing code . But I will illustrate its utility with an example of how a krugle search helped me out.

But first a slight tangent. I recently started learning to use the seqhound bioinformatics API (http://www.unleashedinformatics.com/index.php?pg=products&refer=seqhound ) from Unleashed informatics. This very powerful API in JAVA, Perl and C++ endeavors to simplify the access to up-to-date biological sequence information and its web-service component has powerfull interfaces linking the different databases together. Particularly elegant is its cross-referencing of data between difference sources like NCBI , Expasy , Flybase and the several other Bio-informatics databases out there. But today I was experimenting with a particular API call, ShoundACCFromGI. The javadoc for this class helped me cook up a quick example.

My fledgeling program did compile but gave me an error when I ran it. Despite my "understanding" of the javadoc for this call I could not get the program to work. At which point I decided to give my new krugle access a whirl. A few seconds later ( the beta servers are tad bit slow but it might have something to do with teething troubles), I got an actual code example from the taverna project at ( http://www.taverna.org ) which had the exact same API call in some source file. The line it pulled up had the correct syntax, and told me that a simple change of the my code whereby I pass a string literal to my function and not a string object had me up and working real quick.

Needless to say "googling" around for examples and code snippets prior to my krugle search did not yield an appropriate example. Now I know this mistake could have been avoided by actually reading and understanding the javadoc for the class. But if you are like me and learn by looking at examples, then krugle can be immensely helpful. I have only started playing with krugle but as far as today goes Krugle made my day

Update:
A krugle report on RedHerring spoke of the other coder search sites, i.e Codase, Koders and Codefetch. I was curious as to the utility of these other engines relative to krugle. I tried looking for the same function call from the seqhound API on these sites using the most genereal options and I got no matches.

Now that very well could be due to their relative focuses i.e they may not yet have mined all of the "obscure" projects and all repositories of little use to mainstream coders out there. Also Codefetch mostly indexes printed books ( at least it seems that way). But all in all the all-in-one-ness of Krugle is a definite plus.

Another interesting observation was that Koders had an eclipse plugin. Now that would be a real nice utility from krugle..lets see how this one develops.
Krugle gets $6.1 million in funding : Other news on krugle from the Krugle Blog

What this blog hopes to be about

This blog is about technology. Specifically this blog is about the various genomic-era technologies that are seriously impacting the way everyday science is practiced. By everyday science , I mean life-science research which has as its ultimate goal the reduction of human suffering by understanding human disease. These technologies all of which resulted after the sequencing of the human genome, have their serious merits and many demerits. They are by definition inter-disciplinary, very informatics and instrumentation intensive and multi-team or consortia based owing to their complexity. Understanding this complexity is hoped to simplify the process of managing disease and finding cures. This crazy world of genomics era technologies is so intricate that most of us involved in life-science research are only now starting to grapple with the immense opportunity that these technologies open up for us. This blog hopes to specifically address the trials and tribulations of mastering this complexity. And the reason this blog is overall about technology is because technology is the only way to understand and manage this complexity.