Towards programming languages for genetic engineering of living cells
Ok, still goofing off from my F# articles, but for now, one of my friends has a very bad cancer (not that any of them are good) called peritoneal carcinomatosis (PC), or PMP. On my other blog about Silverlight Games, I am discussing how to make a serious game that would help people understand this type of disease.
PC or PMP was the first cancer that the doctors (oncologists) used a molecular test of the patients genes, see the article: Gene Testing Predicts Response to Erbitux. I am not sure how that test worked, but wouldn’t it be great if from the test you could then write a software program that could then guide the construction of biological solutions to fix the damage from the cancer and to halt the cancer’s progress?
In a paper posted to the Microsoft Research site, there is a thick, dense paper that describes just that:
Now this is an advanced, pie in the sky kind of thinking that makes the world a different place. It is the type of paper that I want to read over my vacation, it is so advanced. Imagine being able to create genetically manipulated bacteria using software. CRAZY you say! INSANE you say!
Ha-ha, not quite my friend, take a look at:
The NeuroSolution is a current utilization of software to assist with a difficult biological process like the making of beer. And of course this would apply to other biological processes such as the creation of pharmaceuticals. Imagine a world where drugs can be tailored to the individual. It looks like Microsoft sponsored some research into that approach. This would impact orphan drugs early since the outputs from these genetic/biological material factories could be utilized to solve problems like PMP or PC.
How would you approach this type of idea? The software that you create could use a language like F#, C#, Visual Basic, or you could create a language that is exclusively to solve this type of problem. That type of language can be created using a Domain Specific Language (DSL). If you want to use the Microsoft tools to create a DSL, you can visit: Domain-Specific Language Tools
It’s fun to create your own languages!