Tag Archives: molecular computer

Google Scholar lost my molecular computers

Today I noticed that my Molecular computers article arXiv:1811.04960 is replaced by Google Scholar with the unrelated article  Defining Big Data Analytics Benchmarks for Next Generation Supercomputers, arXiv:1811.02287. I’m not an author of that article.

Screenshot from 2019-04-07 21:52:00


A cosmic ray is the cause?

Google search can still find it, but Google Scholar gives the wrong result.

UPDATE: I added the article by hand, but the link to the source (i.e. arXiv article) is not present. How can they loose arXiv articles? Or more precisely  arXiv e-prints , in no place arXiv uses the name “preprint arXiv”. Maybe google scholar merged with legacy publishers, who knows, these days…

Do you experience errors in Google Scholar?

Universality of interaction combinators and chemical reactions

In the foundational article Interaction combinators, Yves Lafont describes interaction rules as having the form


He then gives three examples of particular families of interaction rules which can be used to simulate Turing Machines, Cellular Automata and Unary Arithmetics.

The main result of his article (Theorem 1) is that there is an algorithm which allows to translate any interaction system (i.e. collection of interaction rules which satisfy some natural conditions) into the very simple system of his interaction combinators:


In plain words, he proves that there is a way to replace the nodes of a given interaction system by networks of interaction combinators in such a way that any of the interaction rules of that interaction system can be achieved (in a finite number of steps) by the interaction rules of the interaction combinators.

Because he has the example of Turing Machines as an interaction system, it follows that the interaction combinators are universal in the Turing sense.

The most interesting thing for me is that Lafont has a notion of universality for interaction systems, the one he uses in his Theorem 1. This universality of interaction combinators is somehow larger than the universality in the sense of Turing. It is a notion of universality at the level of graph rewrite systems, or, if you want, at the level of chemical reactions!

Indeed, why not proceed as in chemlambda and see an interaction rule as if it’s a chemical reaction? We may add an “enzyme” per interaction rule, or we may try to make the reaction conservative (in the number of nodes and wires) as we did in chemlambda strings.

Probably the rewrites of chemlambda are also universal in the class of directed interaction networks. If we take seriously that graph rewrites are akin to chemical reactions then the universality in the sense of Lafont means, more or less:

any finite collection of chemical reactions among a finite number of patterns of chemical molecules can be translated into reactions among chemlambda molecules

But why keep talking about chemlambda and not about the original interaction combinators of Lafont. Let’s make the same hypothesis as in the article Molecular computers and deduce that:

such molecular computers which embody the interaction combinators rewrites as chemical reaction can indeed simulate any other finite collection of chemical reactions, in particular life.

For me that is the true meaning of Lafont universality.

Chemlambda strings

I uploaded Chemlambda strings at Figshare.

“Chemlambda is an asynchronous graph rewrite automaton which uses a carefully selected family of graph rewrites of the kind encountered in Interaction Nets (IN). In this article is given a version of the graphs and rewrites which is more chemistry friendly. It is argued that real chemistry has enough place for accomodating chemlambda. The use of IN rewrite patterns in real chemistry, as templates of concrete chemical reactions, is an unexplored direction towards molecular computers. The simulations which validate chemlambda as a toy chemistry show that there is a big potential in this direction.”

The article is paired with the needs repository.  Look down the first page of the article for contact mail.

So what’s new with respect to chemlambda?

1. It is conservative. I said previously that it can be done, but here is the proof now.

2. It is open to vast generalization. I explained previously that there is not much lambda in chemlambda, as a proof see Turing machines, chemlambda style. Now it has the form (can be easily put into the form) of a permutation automaton. A permutation automaton is simply a program which takes as input a (maybe huge) permutation, probably with decorations on it (i.e. is a permutation of some big set, specified, not only a permutation of 1, …, N) and then it applies (randomly) pre-defined templates of permutations, whenever it detects a pattern into the permutation and moreover the random number generator produces an output of a certain difficulty 🙂

3. The paired needs repository contains already the main program. You can figure out how it functions, even if I have not added yet the functions libraries.

4. It is chemically friendly… Read the article.


Why chemlambda strings?

Because now we think about chemlambda molecules as being made by lists with sticky ends. These are the strings.

Each list (string) has two ends. So if there are N strings, then there are 2N nodes (ends of strings) and 3N edges. An edge is given by the fact that every list end appears in another list (interior).

Attention, it is not forbidden (actually happens, but not for graphs associated to lambda terms)  to also have loops. A loop is a list which you take and cut it’s start and end then you glue it back.

So if you take such a structure then you shall have a succ and pred functions, as well as a function gamma which taked a list end and gives you the list end place into another list.

For simplicity one can duplicate the nodes (so that now we have 4N nodes instead of 2N) and think about gamma as connecting the node which is an end of a list with the node which is an element of another (or the same) list.

Tell me if that rings a bell to you!


Biological teleportation taken further

The idea is simple. Put these together:


Craig Venter’s Digital Biological Converter

which could print autonomous computing  molecules.

That’s more than just teleportation.

Suppose you want to do anything in the real world. You can design a microscopic molecular computer for that, by using chemlambda. Send it by the web to a DBC like device. Print it. Plant it. Watch it doing the job.






Molecular computers proposal

This is a short and hopefully clear explanation, targeted for chemists (or bio-hackers), for the molecular computer idea.

I would be grateful for any input, including reviews, suggestions for improvements, demands of clarifications, etc.

(updated to fit phones formats)


All chemical reactions needed for a molecular computer

I’ve updated the molecular computer demo and I’ve created a new demo page where you can see all chemical reactions needed for building a molecular computer.

If you are interested please read and play with both demos.

The purpose of the demo is simple: if anybody would identify real chemical reactions between small molecules and (invisible in the demo) other molecules, one per move (I call them “moves enzymes”), then it would be possible, in principle, to design molecules which compute, by themselves, without any laboratory management, by these chemical reactions. Any such molecule should be regarded as a program which executes itself. The result of the computation is encoded in the shape of the molecule, not in the number of (more or less arbitrary) chosen molecules.

See also the post Molecular computers.


Molecular computers

Can you believe that such a complex, intricate sequence of hundreds of chemical reactions is possible, in the right order, in the presence of randomness and without any assistance from a human director? At a molecular level?

Yes, it is possible. Here is why.
What you see in this video is a virtual molecule, which enters in random chemical reactions in a soup of invisible enzymes. All chemical reactions consist in the enzymes interacting with a small number of atoms (color coded in the video), in a random order, and facilitating certain, well chosen reactions.
Everything is purely local, there is nothing else behind the scenes.
And still it works.
This is not real chemistry (but who knows? I believe it is, with the condition to identify real chemical reactions like those virtual ones).
The chemical reactions needed are listed at this page.
If you want to play with this (made-up) chemistry, called “chemlambda”, then go to the github repository


clone it and just type:
bash moving_random_metabo.sh
and then choose one of the molecules, encoded as .mol files, from the list.
There are a bunch of demos, which show animations for different molecules, made in d3.js, at the link

What is different in this video, which is a screen recording at 4X speed of an animation made with the script, is that it is now possible to see the virtual molecules as made of “atoms” (they may be smaller, well chosen molecules themselves).
This is possible because of a modification of the script called by the sh script, i.e. the awk script check_1_mov2_rand_metabo.awk .
The visualization of the “true” virtual atoms is realized by representing the chemlambda nodes and their ports according to a color scheme which uses the “all_nodes_atom” field of the nodes and ports.

UPDATE: here is d3.js demo page for that. http://chorasimilarity.github.io/chemlambda-gui/dynamic/molecular_comp.html