Skip to main content

Programming biology

The following is an excerpt from an email I sent to some friends on 24 March of last year. It concerns an advance in biology (one of many ) that occurred last year.

The following text was my comment regarding the link:

As if they simply took the "class" for the extra color receptor and used it as the "base class" for receptor development in the modified mice eyes. Just as we take a superclass and by inheritance endow subclasses to use it's attributes in java or enable multiple inheritance in C++. I saw these similarities first when I was in high school between electronic systems design and biology and then again saw it between OO programming and biology and electronics systems design. It is possible the original OO language designers may have had the biological mechanisms in mind when they came up with their ideas as much of this was still being teased out during the late 70's and 80's when OO hit it's stride and the terms used have uncanny similarity. "Inheritance", "polymorphism", "interfaces", "encapsulation" all have corresponding meanings in biological systems. Quite cool how man has come , through his design of programming languages to similar principles of reuse of code, (which ultimately enables conservation of energy in the end results of both endeavors ...surprise, surprise) as mirrored so closely in biological systems.

Since I started programming in OO in the early 90's I've always found the biological analogs (knowingly or not by the inventors) used in it's construction intriguing. As geneticists continue to figure out which genes encode for which biological system or function , genetics will take on the industrial efficiency of software engineering as organisms will be built up or modified by genetics engineers working in genetics development environments very similar to the IDE's we use in OO coding. Imagine writing the code for an organism and "build" -ing it (in a vat of goo) just as we write code for applications today (well minus the vat of goo)...the day is fast approaching, will we be able to handle it or will the power at our finger tips destroy us? At least in the realm of software engineering our creations (the software) have only limited ability to cause havoc (with in computer systems) but what of a built from scratch super organism, say a roach with a titanium reinforced exoskeleton that can't be crushed ??? (I don't know why someone would make it but if it's possible ...why not? people have written lots of equally useless software programs that is for sure.) A couple of years ago I read an article by Sun development guru Bill Joy, in it he expounded on his fears for humanity being able to control the power of genetic modification that we are currently unleashing. I tend to be a bit more optimistic and think that hopefully we'll be mature enough to deal with the ramifications of our playing in god's sand box as first class creators of life but I am with Joy in thinking our chances of coming out on top are less than they were 10 years ago before we mapped the human and many other species genomes. I try to allay my fears by citing the fact that it's been over 70 years that we've been living with nuclear bombs and only once (one conflict , two cities ;)) have they been used offensively. However we now live in a world were radical religious elements have openly expressed a desire to strike at their enemies using any and all acquirable means. At the same time we charge forward in labs all over the world to unravel the mysteries of the human proteome in order to really make programmatic construction of living creatures possible, a nuke as powerful as we've made them, only tend to destroy and affect a limited area. Sure , fallout and residual radiation kill long after the blast but eventually they go away. A biologically engineered super organism could succeed in wiping us out all out (human species as well as other species) if the power to create them so easily falls into the wrong hands. Nukes are very difficult to design and build or acquire and will stay that way, the tools and materials and expertise necessary for genetic engineering are orders of magnitude cheaper and accessible and far more powerful if used to nefarious purpose. Will we be able to survive the genetic engineering cold war to come?




Popular posts from this blog

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…