Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Language is a rathole.

Interesting AI synthetic chemistry systems work ab initio modeling how a molecule interacts with proteins.



sort by: page size:

Let me give you the best example I can.

Computation chemistry has been going on for decades. Attempts at modeling how molecules behave is still quite primitive. We're talking about modelling the behavior of a object that is comprised of a few dozen atoms. That's it, pretty simple right? We'll the models aren't that good at predicting molecular behavior.

Let's move up a step now. Computation chemistry is used heavily by the drug industry. Get an x-ray structure of a protein (maybe a few hundred to a few thousand atoms) and see if it binds to a drug. Wow, now it's getting complicated. How successful is it? Not very. I can remember a computational chemist saying "oh hey, the model say if you replace X with Y, you'll increase binding by 10x". So we try and guess what? The binding was worse.

Now we move up to a biological system. Now we have hundreds (if not thousands) of proteins floating in a matrix of water and ions. We have a DNA strands of millions of base pairs, of which maybe 10% we actually know what they do. We also have small signalling molecules that do something we understand, but probably also do 10 other things we have no idea about.

It is very impressive how far biological "design" (genomics) has come so far, but right now the tools are incredibly blunt and the analysis is incredibly crude. I have no doubt our understanding will improve immensely over the coming decades, but I would guess we understand less than 1% of what's going on inside of complex living organisms.


Could be like making a programming language for legos. It's interesting but does the abstraction make sense?

For legos, language does a bad job of describing geometric structures. A 3D modeling tool serves as a better interface in this case.

For molecules it's weirder. I'm not sure how it would work in terms of proteins or dna.


Some context. Marius Buliga isn't a native English speaker (he's Romanian), so parts of these pages may sound a little confusing. His academic papers are (I find) more clearly written.

The 'lambda' being referenced is the 'graphical lambda calculus' which is Marius's own invention of a family of graphs and graph rewrite rules that can act as a notation for the untyped lambda calculus. Chemlambda is a chemically themed specialisation of his graphical lambda calculus used as an artificial chemistry.

Artificial chemistries, in turn, are used to understand properties of chemical systems in the abstract, without the fiendish difficulties and complexities of actual chemical soups. Much as artificial evolution can be used to understand the dynamics of evolution without the long-time scales and messiness of actual organisms. Stuart Kauffman used the same technique in the 70s, shuffling punch card programs to show the presence of attractors in networks of chemical interactions. This sheds light on behavior such as 'autocatalytic sets': sets of chemicals that can catalyse their own production, which is a necessary condition of life.

For artificial chemistries, it isn't always essential to say what each element 'corresponds to' in real world chemistry. Hence some of the ambiguity between whether the nodes in the graph represent atoms, molecules, or in some cases bonds.

Marius's artificial chemistry is turing complete in an interesting way: it stores information in topology as well as linear sequences of discrete elements (though it isn't the only 'graph computation' approach). This makes it a good analog for biochemistry, which is also structural as well as linear. He is using this system to look at models of decentralised chemical computation.

As for many scientists who create a formalism, he is also evangelising it as a useful tool for others to work with in looking at chemical computation in the abstract. Take up is small so far, with only one other cited researcher to date.

The animations are very stylised, they illustrate simple underlying processes with a lots of visual action. The actual 'moves' are very discrete: they happen at regular intervals and rewrite parts of the graph in one go. When nodes in the graph are removed by a move, they float around in the animation for a while then disappear. Similarly when new nodes are about to be rewritten into the graph they appear and float around in the animation a little before they'll be incorporated. When a move takes place the graph is simply connected to new nodes, wherever they are on the canvas, and D3 is used to then relax the graph. Hence the violent pulsing of the simulation as moves take place.

Hope that helps. It's not my area of research interest (though I worked with Prof S. Kauffman in the late 90s), so feel free to correct my understanding if I'm off.


It would be super interesting if we figure out that everything in life including language are fractals of molecular biology

MIT is doing work on programming languages for molecular assembly I believe, very interesting.

If we really need to simulate interactions at molecular level we're fracked. That kind of computational power is unimaginable.

Except that it doesn’t represent logic, it represents strings of amino acids that form proteins that fold up in unpredictable ways and interact with lots of other things to do stuff that half the time is weird and inefficient and doesn’t make sense.

If we could compute everything in a living system in polynomial time or better then we could design drugs inside of a computer and that technology would be worth billions!

Seriously, until we are doing drug design with computers, we don't really understand biological systems well enough to simulate them inside a computer. Drugs interact with folded up proteins all the time so this requires simulation of protein folding and this algorithm is exponential time complexity, so basically not computable for anything but extremely trivial problems.


A wire on its own is not computational, neither is an amino acid but they do make up computational systems. It seems like a bit of an arbitrary distinction

The analogy is horribly flawed, especially the bio compiler metaphor. In silico automatons are primitive in complexity when compared to processes in simple organisms.

Disclaimer: Have seen both the IT/CS and biotech side of things.


So, here's a few pointers of things I came across the past few years, and that you might like:

=== 1: Artifical Chemistries

You could check toward 'Artificial Chemistry', I bought one book[1][2] out of curiosity a few years ago, and while I haven't really touched it that much, but it's a really interesting perspective on computing that I haven't really seen talked about here (or elsewhere).

[1] http://www.cs.mun.ca/~banzhaf/AC-home.html [2] https://www.amazon.com/Artificial-Chemistries-Press-Wolfgang...

=== 2: 'Alchemist' esolang

Semi-related to the first point is 'Alchemist', "A non-deterministic programming language based on chemical reactions" that was shared here on Hacker News[3] a few years ago.

[3] https://news.ycombinator.com/item?id=20150179

=== 3: 'Hexagony' esolang

Still playing with esolangs, I particulary like 'Hexagony' [4], which seems inspired by Befunge[5], but with Hexagons. It has a super cool online IDE [6]. If you don't know about it, then definitely check-out the Esolang Wiki, it's a treasure trove.

[4] https://news.ycombinator.com/item?id=35581768 [5] https://esolangs.org/wiki/Befunge [6] https://hexagony.net/

=== 4: Soviet/Russian programming languages

Going back to the history of computing, there's the whole soviet side of computing that aren't well known in the west, but probably has fascinating stuff. I only can give you a Stack Exchange question[7] I found a few months ago about some soviet spacecraft, with one answers hinting at some soviet computer languages such as as 'PROL2' and 'DIPOL'.

[7] https://space.stackexchange.com/questions/64366/reasons-behi...

=== 5: APL

It's a recurring subject here in HN, but on the off chance that you might be one of today's lucky ten thousand, then check out anything related to APL[8]. It's a fascinating language with extremely powerful construct to play with tabular data. Another APL-related thing is the BQN language[9].

[8] https://dfns.dyalog.com/n_sieve.htm [9] https://news.ycombinator.com/item?id=35913241 (and obligatory XKCD: https://xkcd.com/1053/)

=== 6: Urbit

Last one, not my favorite, but definitely high on the 'esoteric' part, is 'Urbit', which is a very ahem special ecosystem that basically eschew anything familiar about the current state of computing. I personally feels that it's weird for weirdness sake, but it's something of a UFO. If you're insterested in Urbit, I would suggest to start with this article titled "Urbit: The good, the bad, and the insane"[11]

[10] https://urbit.org/ [11] https://news.ycombinator.com/item?id=27268462


I’m happily impressed that non experts find this area intriguing. I hope more people start to work at the interface of biology, chemistry, and AI.

- Christian Schafmeister spyroligomer effort (a dsl to design protein tools to craft proteins IIUC)

- Woods, Rondelez, Schabanel dna tiles computing (turing complete molecular computing)

We're not far from being able to leave nature alone .. let's help these guys.


I've listened to Sara talk about this a couple times. It's basically about approaching chemistry and biology from the perspective of a physicist/computer scientist where everything is about information.

The idea is that the possibility-space of molecules is combinatorially vast, even for nature itself. If you can identify a sort of kolmolgorov complexity for molecules (assembly index), the ones with high complexity are indicative of intentional, non-random processes like life.

One of the key differences here from prior approaches is that the definitions they've chosen are computable and universal, though I haven't gotten the same impression of universality and utility from their papers.


Someone else in another thread on here recommended the book “Wetware: A Computer in Every Living Cell” by Dennis Bray and I really enjoyed it. The idea of looking at complex protein interactions as logical circuits kind of makes sense as we try to map out the complexities of Biochemistry. For anyone looking for an easier introduction to the concept I can recommend the book.

I have built a company for designing proteins for use in therapeutic synthetic biology (CRISPR/CAR/SynNotch/etc. systems). My undergrad background was more chemistry/physics/philosophy while my graduate school was in biochemistry/cell-bio, and I think that accidentally set me up well to work in synthetic biology. The books have yet to be written :-)

The rules in synthetic biology are sloppy versions of the rules found in chemistry and physics. The logical/statistical/mechanistic tools of the the more mathematical sciences are extraordinarily useful to have in mind, however you have to get comfortable with a lot fewer 'correct' answers and a lot more unknown or even unknowable variables. Some tools like population level statistics are really useful tool in biology, while complex logically sequential steps used in programming really don't work so well in the wet world of biology. Synthetic biology is very much parallel programming of thousands of 10-line programs, rather than 10, thousand-line programs. To me it seems the hardest part for people who haven't done biological lab work to understand seems to be the intuition for how biological proteins interact with each other, and the scale of their interactions in time and space, both upwards and downwards - relative to the cell itself, as well as the chemistry involved in the cell. That intuition at the 'meso-scale' is uncommon, and building it without actually running experiments in lab is tricky.

It's still a new field, so it's not particularly well-articulated in terms of sub-fields right now. But there are huge differences in terms of whether one is studying prokaryotic systems, single-cell systems, or mammalian systems. Or whether one is manipulating proteins, DNA itself, or biologically compatible materials. Or whether you're building academic sensors, commercial systems, or therapeutics. Though they all involve overlapping ideas, the edges to each system are really pretty different to my mind. Another tricky thing for those without the biological background is to be able to judge whether a synthetic-biology tool is useful in the context of biology (and not just a toy). What is a cool and useful trick for a digital computer or an physical robot can often be either trivial or impossible in a cell, while engineering a cell to biologically integrate a novel sensor can be an amazing breakthrough. Nano-scale metal gears, robots and antennas with massive energy reserves just don't make sense in the warm, wet, energy-efficient, Brownian world of biology.

iGEM is a great place to start - it's an academic competition for undergraduates - a lot of exploration going on there that is relatively accessible, if a bit unrefined. [1]

Our company, Serotiny, is trying to bring a plain-language understanding to the synthetic design of novel proteins, which are often the payloads and tools of synthetic systems like Cas9 in the article. [2]

Addgene is a non-profit physical repository of many of the genetic 'tools' used, and they have some nice blog-posts and tutorials for beginning scientists. [3]

SynBioBeta is the only real industry group around right now for the field, and they keep pretty well up-to-date with interesting industry news - new companies, new products, new events related to synthetic biology. [4]

[1] http://igem.org

[2] https://serotiny.bio/notes/proteins

[3] http://blog.addgene.org/

[4] https://synbiobeta.com/


I really think there are some really powerful applications for this going forward. Building computation/logical rules into the materials to organically create complex structures might be one way to achieve goals synthetic approaches cannot. Reminds me of Saul Griffith's talk at TED: http://www.ted.com/talks/saul_griffith_on_everyday_invention...

”It goes on about complexity and emergence, but why would complex interactions not emerge from a computer simulation just as they do in the real biochemical system?“

I think the point he is making is that if your goal is to simulate the human brain you also have to simulate and thus understand all the little details of biology because transistors don’t magically have the same properties as proteins.


New class of computational problems will be solvable. Precisely predicting chemical reactions, biological systems etc, possibly.
next

Legal | privacy