Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Interviews Austin Che on Software And Bio Engineering

Austin Che on Software And Bio Engineering


1. We are here at FutureRuby 2009. I am sitting here with Austin Che. How about you tell us a little bit about yourself?

I recently graduated from MIT with my Phd in Computer Science but I mostly work in the area of synthetic biology trying to make it easier to engineer biological systems.


2. You work at a company called "Ginkgo BioWorks". What do you do there?

Our vision is also to make it easier to engineer biology we are working on tools for metabolic engineers and other people who want to engineer biological systems, so that they can do it faster and cheaper. Right now we are working on kits and services to help people put together pieces of DNA.


3. What do your kits look like? When you say kits, is that something physical or software?

It's something physical, you can order a set of enzymes and other related reagents that help you put together pieces of DNA.


4. In biology do you use programming languages? Do you use scripting languages like Ruby?

I think a lot of biologists use maybe Perl a lot because of the library support and BioPerl and maybe some of Python because of the BioPython library. I think there isn't an equivalent large biology library in Ruby.


5. BioPerl I think is popular because of regular expressions, string manipulation. What do you do with strings? Why do you need strings in biology?

This core DNA is just a string of letters and we try to manipulate that. The facilities that Perl gives is very helpful.


6. So you split them up and then analyze them? Do you analyze them with those languages or do you have some other tools to handle that.

In my experience most of the stuff that I needed to do with DNA manipulation, Perl has been more that enough by itself.


7. So you find gene patterns? Is that what is interesting or do you need any other analysis like statistical analysis or something like that with DNA?

All of those it depends on your application and in Bio Perl there is a huge library that has these already built in for you.


8. I think you worked on a project called Parts Registry or Synthetic Biology, is that true?

Yes at MIT a couple of years ago we started a parts registry the idea is to have a collection of biological parts that are interchangeable with each other so if you take any two parts from this registry they are in a standard form and you can assemble them together and this is available at The idea is to have a lot of well characterized standard parts.


9. When you say standard parts, are they available in electronic form or can you order them from somewhere, in a biological standard form? How does it work?

Yes, it is in a standard biological form, so what I mean by standard is the sequence of the DNA is packaged in a standard way, with a standard sequence on either side, so that you can assemble it with any other piece of DNA. All the information is freely available online but if you want the physical DNA you would have to request it from the registry.


10. So you say you have a certain sequence at each end so I can assemble them. So each time I get a bunch of bits from parts registry and string them together, do you get something useful out of that or do they have to work together?

Well, that is up to you. The part registry is not trying to necessarily tell you what parts to put together, just to create a collection of parts. Our understanding of what parts to put together to make something useful is still not quite at the point where you can say that it'll always work the first time, that is the goal we are reaching for.


11. At what modularity are these parts? Are they like things that create hands? Are they special features? They create special proteins? What level are they at?

They are at the very lowest level. Most of the parts that are currently in the registry are bacterial parts, so for example they are individual components that will initiate the production of something so it's like the regulatory regions of DNA are in there. There are also the individual proteins, the individual coding sequences, and then there is bigger more complex devices, for example there are like inverters inside the registry, so it takes an input signal and then it inverts it and gives an output signal.


12. What kind of signal do you mean?

That is an excellent question, what is the signal in biological systems and for some of our devices we have been trying to use the rate of transcription basically the rate that preliminaries move along the DNA as the signal.


13. What are preliminaries, what are these?

The preliminaries convert the DNA to RNA so you can regulate whether or not a DNA sequence gets converted to RNA, whether the DNA becomes RNA that is basically one or zero, whether or not it gets made, and you can use that as a signal.


14. At FutureRuby you had a workshop about creating our own bacteria with DNA, could you explain what we did there, what you did there?

Sure, what I did was I brought some cards, we had different parts from the parts registry and basically what these are is like a data sheet for a part and they have the part name, they have the description for the part, and some characterization, and furthermore the most interesting thing is that it contains the DNA of the part itself spotted on the card, and so what we did is we cut out the DNA and we transformed it into bacteria so to make the bacteria take up the DNA. So we make either bacteria that smells like banana or that gave off light or turned red at this workshop.


15. Going back to parts registry so say I get some of the information from there can I also generate DNA? Or if I have some DNA sequence can I get someone to send me some extra DNA, is there some service for that? Or do I have to make it myself in my lab?

Certainly there are many DNA synthesis companies that would be glad to take your money and send you DNA in return for it. So that's definitely the way that the field is going, no one is synthesizing DNA in their own labs and you are outsourcing to some other company.


16. What kind of rate, what kind of amounts can I get from these companies? What kind of turnaround time do I have with that?

Well it varies and it also depends on whether the construct they are going to make is difficult to synthesize from a technical prospective whether it's toxic to the cells, etc. But the rates are right now maybe a dollar, or maybe a little less than a dollar per base pair for gene synthesis.


17. Going from synthesizing to sequencing, DNA sequencing what would you say it's the current state of DNA sequencing.

I would say that we currently have a huge capacity for DNA sequencing and the capacity to sequence DNA is much greater than our capacity to synthesize DNA. I think we have more than enough bandwidth to sequence all DNA we need for a synthetic biology application.


18. Where do you see DNA sequencing going? Are there some ideas? I think there is an X-Prize to speed up sequencing? What do you think ten years from now, will everybody have a DNA sequencer? What could we use it for?

The project you are talking about is where they have to sequence many genomes, like ten genomes for very cheap, like a thousand dollars, I think that is certainly achievable in the very near future. I think that is not a question that very soon we will all have our own genomes, and that with that information that there is a lot of personalized medicine that will be possible.


19. What is the state of DNA computing? That was popular couple of years ago, a big topic. Is that real, will it go away? Is there a use for that?

When people were talking about DNA computing they were mostly talking about DNA itself, only DNA, and using the properties of DNA to solve computational problems, they solved for example the Traveling Salesman Problem, the stuff that we are interested in is looking at things with whole cells because then you get lots of properties that you don't get with just DNA you get the ability to have self replication, you get everything that comes with the living system. I don't think that a cellular computer, in theory it is possible, but it's never going to compete with silicon based computers in terms of speed and reliability.


20. Could it maybe compete in other areas, in that it doesn't need electrical power, or that it doesn't have to be big, it can be flexible or something like that?

Certainly, there are certainly areas where if you don't need much computational power, but you want to for example detect if a chemical is present out in the field and you just engineer some plants to just grow and detect it and then send a signal out maybe so that the satellites can see where the chemicals have been detected in the air. So that kind of application is definitely very promising but those are the ones that require lots of computational power.


21. In your talk you gave some examples of bacteria doing edge detection, how does that work? What was actually doing the detection here?

The system that you are talking about was just recently published in Cell and it was done largely by Jeff Tabor and the idea was to have cells that you could shine a pattern of light onto a lawn of genetically identical cells and the cells would detect where the edges were in the shine light pattern and turn that region black. And it was basically a combination of several components to do this type of signal processing.


22. What were these components?

There is one component which detects the light, there is another component which allows cells to send out signals to neighboring cells, and so this allows for cell-cell communication, and then the third component was and AND-Gate and so the way that the logic was set up the only cells that turned black were the cells that were in the light and were also receiving the signal, actually I don't remember.


23. But it's published online so everybody can read it, all our listeners can read it. You have a degree in computer science, going from computation or going from examples which you gave what can computer science learn from biology or from biological systems? What do you think? Having the background in both areas, what do you think?

I definitely think there are a lot of unique properties in biological systems that we can certainly try to take advantage of, we already have genetic algorithms. I think as we try to get more of these properties into programming we will just find that it's harder for us to understand and that it's not clear at this point what the advantages are of taking the lessons from biology but the property who we like would be for example having robust, individual cells that can robustly form some global pattern that is a common thing in biology you are made out of many cells which are all genetically identical yet you have a hand in one place and a foot in the other place and not vice versa. So somehow this programming has been able to separate out two identical cells so this parallel type of programming I think is a very interesting part of how biological systems work.


24. Going in the other direction what can biology or the field of biological engineering learn from computer science, from programming, from software engineering?

I think quite a bit. We have shown in the software world that we can engineer large scale systems if you have a certain set of tools and I think those engineering tools should also apply to the biological engineering field. We have talked about the parts registry so having collections of standard parts, having a library that you can plug and play and reuse I think that is also very important. There is the idea of standards, so far people are not really standardized on parts or how to use them, so we are trying to create new standards, so there is a RFC process that we have created to create new standards based on the Internet RFC process. There is the idea of abstraction, modularity all these things that were take from effectively the electrical engineering world from the last century where we learnt how to go from individual transistors to programming huge complex software projects, that's what we try to do also in biological engineering.


25. In your daily job how do you go about creating the tools, the output you create compared to what a programmer does, maybe sits down, designs something or does something iteratively, how do you work?

I think that the cycle for programming is very short, the debug cycle. In computer programming you often don't need to design beforehand too much, you just program and you test and because it is so fast the programming process is part of the, you just go ahead and program. In biology it's much slower and much more akin to circuit design world where you have to get it more closely to what you actually want the first time. And so a lot of the time you spend of the actual design and then there is the process of actually building it together. We take for granted when we program a computer how easier it is to just type on a keyboard, it takes I would say the majority of time in the biological world to actually do the typing, do the programming, to actually take the code and make it. And the testing part is usually relatively simple right now in the biological space, because the things we are trying to make are relatively simple.


26. So FutureRuby is sort of the iteration over last year's RubyFringe conference and one fact at last year's RubyFringe conference was that a bunch of people actually quit their jobs and started doing something interesting. So say someone here at FutureRuby is inspired to say "I am going into the field of biological engineering" what kind of skills do you think does someone need, what new things would they learn, would they have to learn?

It depends on what areas they are interested in going into, I think that learning some basic biology lab skills is very useful and so one site that also helps start with is which is basically trying to allow biologists and biological engineers to share protocols and how you do lab techniques in a way that is sharable and so that might be a good place to start learning, about some of these techniques. I think right now it's still not quite at the point where you can just quit your job and start doing biology, that requires a lot of expensive equipment and equipment that is difficult to get even if you had the money. For example a lot of companies, biological supply companies won't sell to individuals or even businesses that don't have a lab. You need to, I don't know what the regulatory issues are, in this space.


28. So you said the processes to do biology and biological engineering are rather slow and require a lot of equipment, and you need to be a company maybe a big company, which seems to be similar to computing in early times in the fifties or sixties, which has obviously changed now. Do you see biology or your field developing in the same direction? Can computing help in that way? How do you see the future?

I think the field of biology engineering will develop much faster, it won't take fifty years and for a couple of reasons. Most of the technology that we are using in our understanding biology has been around for a long time. Another reason is that we've had this experience in the computer industry and I think we can take a lot of those lessons and apply to biological systems. I think however it's going to take a lot longer for us to reach the point where we can engineer a lot of new organisms or interesting new life forms because there is going to be a lot of science that still needs to be done in biology and so I think at some point the engineering part of biological engineering will catch up, and will just be waiting on the science part, the biology part to learn to develop new knowledge.


29. There's the idea of Singularity which could happen when computing speeds up and could improve itself and sort of become a vicious circle, or maybe a positive circle. Could the research that you mentioned, could it be automated in some way, maybe have a bunch of computers that do the research, figure out things?

It's interesting; I am actually talking at the Singularity University next week. Regarding having a computer do the science, that is actually very interesting and there are people who have, at least one computer scientist who has taken a robot, biological like robot and have the robot do the experiments from a complete experiment and have it discover create the hypothesis, do the experiment, look at the results, create a new hypothesis and so on and so forth. And it has discovered like new knowledge. And so it is certainly possible and I think that is definitely an exciting area. Assuming that we can get good at that, then we can certainly increase the pace of knowledge very quickly. There is a lot of human instinct and other aspects that are very difficult to automate and you can look at the field of artificial intelligence and since the fifties we really haven't got that much further.


30. But the tooling could basically allow to leverage, you could use the tools to leverage the end states and so you have a bunch of scientists that have some ideas and have a bunch of robots do all their work. 1218 A: That is certainly already happening now, we have many robots, most companies use robots to do a lot of their manual work. So that is already happening. Q: Is this manual work always necessary? Do you think you could possible a few years from now to do many of these experiments purely computationally?

At the end of the day you probably want to go into some biological systems that is the reason why you are dealing with biology and not just everything is on a computer. I think certainly that is the goal, the goal is to be able to be able to design it on a computer, model it on a computer, test it on a computer, simulate the entire cell on a computer and once you have something that you have confidence will work then you put it into a living system. It's going to require a lot of computational power and a lot of understandng on how these systems work before we can get to that point.

Nov 03, 2009