In the future, will we be able to create smart viruses that only target cancer cells or fix genetic defects in our DNA? Professor Jan Madsen from TU Denmark believes we can. At the ESI Symposium this year, Jan talked about the characteristics of systems and how they can be applied to that ultimate system, the human body.
Hardware and software
Jan simplified systems down to two main parts: hardware and software. The hardware is assembled from components and the software is compiled from a high-level language.
Let’s start with the example of a computer system. The hardware is built from chips and discrete components. But you can’t do much with just the hardware; you also need programs to run it. But writing programs in machine code is hard and laborious. I know as I did some at university. So programmers normally write software in an easy-to-understand, high-level language and then compile that high-level program description into machine code that the computer can process.
The same principle applies to biochips. In these systems, valves replace the transistors you would find in a computer chip. In the biochip, valves are assembled to create the hardware part of the system and then a high level language is used to create the instructions for opening and closing the valves to operate it. And just like the computer, this high level code is then compiled to run on the system.
The human system
So does the human system also fit into this approach and how do we program it? Well the hardware, our bodies, is comprised of cells that are assembled to make the system. That’s pretty straightforward, right?
Okay, but what about the software? Well, we actually have the low-level machine code already in our DNA. Each strand of DNA can be seen as a piece of code that instructs the cells in our body to do something.
So we have the hardware and the software. All we need is the high-level program for writing software for our DNA and the compiler to turn it into strands of DNA. That’s the difficult part. Fortunately, Jan Madsen and his team are working on it and have already created some basic DNA-based logic structures.
So why would we even want to do this. I don’t fancy having some buggy bio-code running in my operating system. How do you test it? And what happens if the code falls over? Will I fall over too?
Putting the doom scenarios aside for a moment, there are benefits. As mentioned at the start of the article, we could potentially create a smart virus that only targets cancer cells. Or a bio-software patch that fixes a genetic defect in someone’s DNA. Maybe one day I will even be able to get a bio-program that can fix my eyes so I no longer need to wear glasses. Or one that gives me night vision, or laser vision, or maybe just changes the colour of my eyes to match my mood.