It's likely that most people here are not up to date with just how quickly the field of biology has changed in the last decade. Last year I somehow bumbled my way into programming for Sten Linnarsson's group[0], via a HN who's hiring thread, no less! That group turned out to be Kind Of A Big Deal in this field (I mean, I was just impressed by how well-written Sten's code was, especially for a professor, and liked the idea of programming for scientists). The stuff I learned about this field is pretty mindblowing.

Think of the wall of text below as context for this article, as explained by someone not inhibited by proper knowledge of what he's talking about.

We start with a tiny biology refresher. Every cell in your body is essentially a clone: barring mutations, they all have the same genetic information encoded in their DNA. We often think of DNA as nature's code. To build on this metaphor, think of your stem cells as freshly installed PCs with all possible software you could need, pre-loaded on a gigantic HDD: your genome. And just like a program on your disk, genes don't do anything until they're activated. To "run" the code in a gene, the cell makes active copies of it: RNA. In oversimplified terms, a copies of RNA represents loading a genetic program into RAM and running it. The rest of the cell is basically the wetware required to run that code, which is important too: a PC is kinda useless without IO (just look at the struggles early nerds had with simply finding a use for the Altair 8800 if you don't believe me[1]).

Anyway, going from stem cell to a specific cell-type is like setting up those identical PCs for the different things that we use PCs for by opening different programs. Unlike PCs our wetware is massively parallel: to get more performance in a specific task our cell just creates more RNA copies, "loads many copies of the same program". Because of this, we can measure the activity of a gene by measuring the number of RNA copies of it in a cell.

Now imagine we're trying to reverse engineer an alien computer, and unlike Independence Day[2], we're not dealing with Mac-compatible hardware here. In programming, when you try to reverse engineer what someone else's code does, a disassembly probably won't cut it. Similarly, knowing the genome will not be enough: to really make sense of all it all, to "debug" the DNA, we need to see that "running code" in context, in relation to the whole organism.

What molecular biologists have been doing in recent years is measure the gene expression (the number of RNA molecules) of individual genes in individual cells, across as many cells as possible, at various stages of cell development. Then they compare the gene expression levels with various algorithms to organise them. Combined with extra meta-data, like what tissue the cells came from, what cell-type we know the cell belonged to based on morphology (in plain English: its visible shape in a microscope), and at which point in development cell was harvested, we can then start painting a picture of cell development and cell types.

They take cell tissues, separate it into individual cells, then measure the expression of each gene in each cell. The techniques they have figured out techniques, like droplet-based approaches[3], to do this in bulk are mind-blowing. When given the budget, and in the hands of appropriately skilled molecular biologists, you can now "easily" measure the expression of all genes in hundreds of thousands of cells.

Doing this you can figure out the different cell types, which genes are involved them, and which stage of development cell types start (dis)appearing. But remember that we separated all of the cells, so we lost the context of the original tissue. To fix this, you can take new tissue samples, and apply techniques like smFISH or MERFISH[4] to to attach fluorescent markers to individual copies of RNA of a specific gene. Gene expression is measured just by counting the number fluorescent dots on microscope slide, each representing an individual RNA molecule. Yes, biologists actually do this (with software help of course), and it works. You end up with a map of gene expression in the tissue. Also the pictures look beautiful.

This is, in a nutshell, single-cell transcriptomics[5]. Or at least the part I am exposed to through the research group I work for. It's mind-boggling and awesome to see what has become possible in the span of just a few years, and the field hasn't plateaued yet.

Thanks to all of this data we can discover all kinds of wonderful things that were invisible before. A simple example: last year it was discovered that one type of neuron in the sympathetic nervous system turned out to have seven sub-types from the genetic point of view[6]. The hypothesis is that having many sub-types makes sure they "wire up" correctly; you wouldn't want to have goosebumps whenever your heart beats. Of course, the part of the article that went viral was that we have a type of neuron solely responsible for goose bumps and nipple erections...

Anyway, the speed and size at which data is being gathered is rapidly growing. The article even mentions this explicitly. New techniques for dealing with this growing mountain of data are developed rapidly too. For example, the research group I work for just co-published a paper with Peter Kharchenko's group, describing a technique to estimate in which direction a cell's RNA expression is moving[7]. So instead of just having scalar tSNE scatter plots, we get tSNE vector fields, showing us the direction in which cell development is moving. And the coolest part is that it can be applied to existing data sets, because it relies of various types of measurements that were already being done anyway.

I'm just standing at the sidelines of all this, being incredibly impressed and humbled that I get to try to contribute a little bit to all of this. I'm just a programmer/interaction designer. Sten Linnarsson hired me to develop a user-friendly, flexible and fast web-based data browser, the Loom Viewer, for his new Loom data format. But this post is long enough as is, to I'll reply to myself with a comment explaining that.

Anyway, this is an exciting, ambitious project, that probably will have an enormous impact on biology and medical research, on a much shorter time-scale than you think.

[0] http://linnarssonlab.org/

[1] https://en.wikipedia.org/wiki/Altair_8800, https://www.youtube.com/watch?v=1FDigtF0dRQ

[2] https://scifi.stackexchange.com/questions/15141/how-did-the-...

[3] http://mccarrolllab.com/dropseq/, https://directorsblog.nih.gov/2015/06/02/single-cell-analysi...

[4] http://thenode.biologists.com/fishing-fish-2/resources/, https://www.youtube.com/watch?v=-jIZ3bH-rAE

[5] https://en.wikipedia.org/wiki/Single-cell_transcriptomics

[6] http://ki.se/en/news/special-nerve-cells-cause-goose-bumps-a..., http://www.nature.com/neuro/journal/v19/n10/full/nn.4376.htm...

[7] https://www.biorxiv.org/content/early/2017/10/19/206052, http://velocyto.org/