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)


The moves of chemlambda v2 in mol format

UPDATE: see (Landing page for all chemlambda experiments) (local version)

UPDATE: There is now a page dedicated to chemlambda v2.


The mol file format for a chemlambda molecule is a list of lines. Each line represents a graphical element, like described at the chemlambda project index page.

The moves, or graph rewrites, are visualised at the moves page.

The expression of the moves in mol format can be inferred from the main script, but perhaps this is tedious, therefore I shall give them here directly.

The graphical elements are L, A, FI, FO, FOE, Arow, T, FRIN, FROUT, each with a certain number of ports, as explained in the mentioned index page. Each port has two types:

  • one can be “in” or “out”
  • the other can be “middle”, “left” or “right”

and there is a convention of writing the ports of any graphical element in a given order.

Here I shall write a graphical element in the following form. Instead of the line “L a b c” from the mol file I shall write “L[a,b,c]”, and the same for all other graphical elements. Then the mol file will be seen as a commutative and associative product of the graphical elements.

This goes back to the initial proposal by Louis Kauffman, who tried to use the formal reduction from Mathematica for the graphic lambda calculus.


Now, we can improve the notation L[a,b,c] by thinking about a, b, c as indices of a tensor, of course. This is reasonable because in any mol file which represents a chemlambda molecule, any port variable appears at most twice, so it is like a summing variable.

Let’s do this by writing

L_{a}^{bc} = L[a,b,c]

in order to emphasize that “a” has type “in” and “b”, “c” have type out, but otherwise preserving the order a,b,c in the notation (this order allows to infer, from the symbol “L” of the graphical element, they other types of the ports, namely for the L element “a” has also type “middle”, “b” has type “left” and “c” has type “right”).

Same for all other elements.

Here are the moves, then, with the convention that “U=V” means “transform U into V”.

COMB. Denote by M^{a} any graphical element with an out port “a”, then

M^{a} Arrow_{a}^{b} = M^{b}

L-A (i.e. the BETA move).

L_{a}^{bc} A_{cd}^{e} = Arrow_{a}^{e} Arrow_{d}^{b}

FI-FOE(i.e. the FAN-IN move).

FI_{ad}^{c} FOE_{c}^{be} = Arrow_{a}^{e} Arrow_{d}^{b}

L-FO, L-FOE (aka DIST-L).

L_{a}^{bc} FO_{c}^{de} = FI_{ji}^{b} L_{k}^{id} L_{l}^{je} FOE_{a}^{kl}

and the same for L-FOE, where the left hand side L_{a}^{bc} FO_{c}^{de} = … is replaced by L_{a}^{bc} FOE_{c}^{de} = and the rest stays the same.

A-FO, A-FOE (aka DIST-A).

A_{ab}^{c} FO_{c}^{de} = FOE_{a}^{ij} A_{ik}^{d} A_{jl}^{e} FOE_{b}^{kl}

and the same for A-FOE, where the left hand side A_{ab}^{c} FO_{c}^{de} = … is replaced by A_{ab}^{c} FOE_{c}^{de} = and the rest stays the same.

FI-FO (aka DIST-FI).

FI_{ab}^{c} FO_{c}^{de} = FO_{a}^{ij} FI_{ik}^{d} FI_{jl}^{e} FO_{b}^{kl}

FO-FOE  (aka DIST-FO).

FO_{a}^{bc} FOE_{c}^{de} = FI_{ji}^{b} FO_{k}^{id} FO_{l}^{je} FOE_{a}^{kl}


A_{ab}^{c} T_{c} = T_{a} T_{b}

FI_{ab}^{c} T_{c} = T_{a} T_{b}

L_{a}^{bc} T_{c} = T_{a} FRIN_{b}

FO_{a}^{bc} T_{b} = Arrow_{a}^{c}

FOE_{a}^{bc} T_{b} = Arrow_{a}^{c}

FO_{a}^{bc} T_{c} = Arrow_{a}^{b}

FOE_{a}^{bc} T_{c} = Arrow_{a}^{b}


The question, of course, is: if we see the moves as equalities and the graphical elements as tensors in a vector space, then how many solutions exist for the moves equations (perhaps eliminating the PRUNING moves, or by seeing  T_{a} as an element of the vector space)?








Excellent: The Journal of Brief Ideas

Here is another new initiative: The Journal of Brief Ideas.

There are interesting reactions to this:

OK, what is this, in just a few words?

From the About page of the journal:

The Journal of Brief Ideas is a research journal, composed entirely of ‘brief ideas’. The goal here is to provide a place for short ideas to be described – in 200 words or less – for these ideas to be archived (courtesy of Zenodo), searchable and citable.
I submitted the following: Build a molecular computer.
A visualisation for the Ackermann function here:

In my opinion this is part of the exploration of new ways of communicate, do collaborative work and explore in the research world.
The article format is obsolete, even if put in digital form. More is needed, one of the ideas it to eventually arrive to run the article in the browser.
It is very encouraging to see that in only few days two excellent, different initiatives concerning new ways, new meanings of publication appeared, the Journal of Brief Ideas and PeerJ/paper-now.
This new journal recalls me the proposal  of a Journal of very short papers.
The idea behind JVSP was to use the legacy format for journals in order to peer-review articles from OA repositories, like arXiv.
After writing that article I got replies, resulting in an update which I reproduce here:
”   Helger Lipmaa  points to the journal “Tiny ToCS“.  However, the real purpose of JVSP  is not to be brief, but to create a “subversive”, but with rigorous and solid results old-school like journal for promoting free open access.Another journal could be “The RXI Journal of Mathematics” which is as rigorous as any journal, only it asks to have at least 3 occurences of the string ‘rxi’ in the text.David Roberts discusses about fitting a paper into a refereed tweet. It is an interesting idea, some statements are too long, but some of them not. On the top of my head, here is one: “A Connected Lie Group Equals the Square of the Exponential Image, Michael Wüstner, Journal of Lie Theory. Volume 13 (2003) 307–309 Proof: “,  here is another which satisfies also the requirements of JVPS  “W is a monad, David Roberts, Theorem: W:sGrp(S)->sS lifts to a monad. Proof: “, which will  appeared in the New York Journal of Mathematics,   in  an open access journal.” [my comment: in a 10 pages long form which obsoletes arXiv:1204.4886] Interesting that the Twitter idea appears also.
But this is not about Twitter, nor about peer-reviews. It is a NEW idea.
The Journal of Brief Ideas makes the excellent proposal to attach DOI to ideas, in a short format (up to 200 words), but with enough place for using the power of the Net.
Can’t resist to point also to the Journal of Uncalled Advices, will it appear some day?

Say NO to politicians, OA included

There are politicians everywhere. These guys find ten reasons to modify only slightly a bad thing, preaching this incremental improvement to satisfy some of us and winking to those happy to not change. These guys who find ten blends for each incremental change and they speak politely and technically with fellow politicians about which of these homeopathic differences will make a difference. Knowing very well that that’s the way to make no difference. They are the product of the rotten old habits and they will delay the change until they retire. Fuck the rest!

Same in open access. How many blends of open access there are? It is unbelievable that there is anybody, excepting those with a (conflict of) interest(s) in it, who believe that Gold OA is anything else than a stupid idea. Dress it as you wish, but it is still the idea to take money from the authors, for doing nothing, because anyways you can’t take money from the readers anymore. Still, if you don’t know, there are blends and blends and blends of Gold OA, and politicians discuss at length which are the relative advances and why we can’t change fast this useless publication service.

Why can’t we change it? Because of the politicians from the academic management. How will they avoid being accountable for their decisions if they can’t hide behind numbers? Again, people can’t be that stupid when they pretend that the number of articles and the place they appear are relevant. So there has to be something else: hidden interest. They are the product of the system. To say that, because under publishers locks, their life work is as good as crap, is offending to them. They made bad choices and they want to impose them on you.

It is a society effect. The bosses are in conflict of interests or straightly corrupt. So they invent rules for you, rules which they change from time to time, but every time they avoid to look at the root of evil. Which is: they are and they try to transform you, researcher, passionate student, into a interchangeable unit of thinking person. They are dust and they want to transform you into dust.

It happened before. Favourite example: the painter artists in France, before the impressionist revolution, read here more about this comparison. Were they stupid to fight for the number of paintings accepted in academic exhibitions or the HEIGHT where the paintings were put during those exhibitions? No, the products of the system who were at the lead were interested and the rest were forced by the choice between their passion and their career.

So, say NO to politicians.

Live your passion.

Just to prove that I am not a hot head who writes hot air, I say that I did. My first paper on arXiv was in 2001. Since then I put almost everything there and I refuse, if possible, to publish elsewhere because I don’t want to support the system. Of course I am not crazy to impose my beliefs to co-authors, but still in these cases I try to use arXiv as well.

I told a bit about the effects of this choice  on my career.

What I think now.

That OA is already old thing.

That discussions about who has the copyright are sterile at best (and interested possibly), because it is clear that DRM trumps the licence, see Use DRM for academics, enjoy watching them fight for the copyright.

So, please tell, what are you discussing about?

Now I think that the article format will change and this is a part of an ongoing revolution which went unnoticed by the politicians who live around OA. It’s Github, already 20 times bigger than arXiv (I give the example of arXiv because is greatest in OA, in my opinion, and because I’m familiar with it; however, look at this wonder of Github).

That is why I support and will use PeerJ/paper-now, read this.

As concerns publishers, I don’t wish they disappear, once because it’s not my problem and twice because it’s obvious we can reuse their infrastructure.

Is not good to wish bad things to people (except to politicians, maybe).

But it is obvious that not publishing is the service which has value. Peer-review is needed, pre- and post- publication. What they could do is to propose the service of organizing this peer-review.

Another, related and perhaps bigger opportunity is the management of scientific data, be them articles, experimental data, programs. This is related to the idea of running the article in the browser, sometime soon. This needs an infrastructure which, no! publisher, don’t try again, an infrastructure which is not based on artificial scarcity, but on overwhelming abundance.

Otherwise I’m good, thank you and I am still looking for people with enough guts and funds to make big things, like molecular computers, changing the IoT, understanding life, i.e. the chemlambda project.


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.


Answer to: “Can we understand a cell as an organic computational device?”

As a mathematician interested in biology I am very curious about informed answers to this Biology StackExchange question. Here I add mine, with the understanding that it is in no way complete and it might be very biased or ignorant as concerns biology.

We may understand a cell as a chemical and physics based program which runs itself. The cell is a computational device in the sense that the outcomes of its activity are computable functions of its inputs (a reasonable hypothesis), but more than that: at the cell level there is no distinction between the computer, the program which runs on the computer, input and output data AND the execution of the program. All is at the same level, i.e. every abstraction is embodied in a concrete chemical or physical thing.

This concreteness part adds, I believe to the difficulty, because the usual thinking in computer science is all about structuring abstractions, while in biology everything is ultimately at only one level: real, physics and chemistry embodied.

This is a claim which needs strong supporting evidence. Being a matter of principle, it cannot be proved rigorously, but it might be given a rigorous support by constructing simple proofs of principle models.

There are many computing models which are inspired by chemistry, therefore in return they can be seen as such proof of principles.

There are Chemical Reaction Networks and Petri Nets models which are more like structuring tools than real embodied models of computation, because they don’t consider the structure of molecules (they are just nodes in a graph), nor the way chemical reactions happen (they are edges in a graph). They are very useful tools though and the description given here is very much simplified.

There is the CHAM (chemical abstract machine), G. Berry and G. Boudol. The chemical abstract machine. Theoretical Computer Science, 96(1):217–248, 1992. In this model states of the machine (imagine: a cell) “are chemical solutions where floating molecules can interact according to reaction rules” (cite from the abstract). In this model “solution” means a multiset of molecules, reaction rules are between molecules and they do not apply inside molecules. This is a limitation of the model because the structure of the molecule is not as important as the number of molecules in a species.

Another very interesting model is the Algorithmic Chemistry of Fontana and Buss. The main idea is that chemistry and computation are basically the same. The reasoning goes as following. There are two pillars of the rigorous notion of computation: the Turing Machine (well known) and Church’s lambda calculus. Lambda calculus is less known outside computer science, but is a formalism which may be more helpful to chemists, or biologists even, than the Turing machine. Fontana and Buss propose that lambda calculus is a kind of chemistry, in the sense that the its basic operations, namely abstraction and application, can be given chemical analogies. Molecules are like mathematical functions, abstractions are like reaction sites and applications are like chemical reactions.

The Algorithmic Chemistry is almost as closer as possible to be (proof of principle) answer to the question.

Finally I mention chemlambda, or the Chemical concrete machine, which is like Algorithmic Chemistry, but it is far more concrete. Molecules are graphs, applications and abstractions are molecules, chemical reactions are graph rewrites.

What is very interesting in all these models, in my opinion, is that they suggest that answering to the question “Can we understand a cell as an organic computational device?” is somehow relevant to the Computer Science question “How to design an asynchronous, decentralized Internet?”.

PeerJ as a format/paper on Github: PeerJ/paper-now

A simple, interesting, obvious step: PeerJ/paper-now .  That is, or will be soon, exactly what I need for writing a decent article about chemlambda, i.e. one where I can show, in the article, demos with animations like those from the chemlambda pages.

This may be a huge step forward from the discussions about OA because:

  • offers a clear improvement of the article format, allowing it hopefully to merge with  formats like animations, databases, programs which one can execute in the browser.
  • it exports the format of the paper (this is like if latex were a publisher and decides to export the latex programs so that everybody could write a latex article)
  • which has the obvious advantage that one can host on it’s page an article in an uniform format, idea which solves two things at once: (1) how to make an article friendly for future semantic queries (2) where to put the article on the web
  • Github is already the answer and the perpetrator of a silent revolution (is already more than 10 times bigger than arXiv, and git is a model of collaboration tool which is not based on choke points  and centralized thinking), so to export the PeerJ/paper-now to Github is natural and brilliant.


See also The shortest Open Access and New Forms of Publication question


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:
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.


How to put a Y combinator into a neuron and lock it with a quine

I mentioned before that the Y combinator, seen in chemlambda, is a gun which shoots pair of fanout and application nodes. No more, no less.

The problem is then how to dispense with the Y combinator once we don’t need it any more.

The mentioned solution is to lock it into a quine. Here is how.

First, we put the combinator (in its purest, two nodes form) into a neuron architecture.


What we see: the pale blue dot from the upper right part of the picture is a FROUT (free out) port.

  • NEURON AXON: connected to the free out is a pair of nodes which IS the Y combinator as seen in chemlambda (see this old demo of the reduction of the Y combinator to this pair of nodes, which after starts to shoot; I’ll probably add a page for this reduction at the demos site, this time with the new color convention, and for the chemlambda version with FOE nodes, but the old demo explains sufficiently well the phenomenon) .
  • NEURON SOMA: in this example the soma is made by one green node (is an application A node), but more sophisticated graphs are acceptable, with the condition to be propagators (i.e. to “propagate” through FO or FOE nodes after a sequence of chemlambda moves; one can transform any lambda term expressed in chemlambda into a propagator)
  • NEURON DENDRITES: in this example there are two dendrites, because the soma (A node) has two in ports. The dendrites have FRIN (free in) ports which can be connected to other graphs. In the picture the FRIN nodes are color coded.
  • DENDRITES ENDS: at the end of each dendrite there is a small molecule, well chosen.

With the random reduction algorithm the following happen (see the demo in d3.js)

  • the NEURON AXON grows and becomes a string of copies of the SOMA with the free in ports attached to it (check out that the colours match!) This is the way we use the Y combinator!
  • when the dendrites are consumed, the graph built at the axon detaches from the rest of the neuron
  • there are now two graphs, one is the one built at the axon and the other is the one which still contains the Y combinator gun,
  • the DENDRITES ENDS, together with the SOMA, lock the Y combinator (i.e. the NEURON AXON) into a quine, i.e. they form together a quine
  • the quine is chosen to be one which does not live long (from a probabilistic pov) so it dies after producing some bubbles (i.e, some Arrow elements with the in connected to the out or to other Arrow elements).



Another chemlambda reduction and a weird Google bug


This is the end of the computation of the monus function monus(a,b)=a-b if a>=b, else 0, for a=3 and b=20.

It is the last part of the computation, as recorded at 8X speed from my screen.

If you want to see all of it then go to , clone it and then type: bash and choose monus.mol from the list of mol files.

It is used the deterministic algorithm, this time, which makes all possible moves every time.

What is interesting about this computation is the quantity of trash it produces.

Indeed, I took a lambda term for the monus, applied it to 3 and 20 (in Church encoding), then applied it to successor then applied it to 0.

In the video you see that after the result (the small molecule connected to the blue dot, it i sthe chemlambda version of 0 in the Church encoding), there is still a lot of activity of destroying the rest of the molecule. It looks nice though.

Something strange happened when I tried to publish the video (there are so many strange things related to the dissemination of chemlambda that they become a family joke, some of the readers of this blog are aware of some of those).

After I completed the description I got the warning shown in the following video:  “Brackets aren’t allowed in your description”


For example this previous video has brackets in the description and in the title as well

and all worked well.

Anyway I eliminated the brackets but the warning remained, so eventually I got out from my google account and done something else.

Sometimes later I tried again, experience described in this video (which took a LOT of time to be processed)

At the beginning the fields for title and description were void and no error was announced.

After I filled them happened what you see in the video.

I understand that Google uses a distributed system (which probably needs lots of syncs, because you know, that is how intelligent people design programs today), but:

  • the “brackets are not allowed” is bogus, because a previous video worked perfect with brackets in the description,
  • the “unknown error” means simply that there was some trace left on my computer that there was an imaginary error in the previous try, so instead of checking if there is an error this time, I suppose that the browser was instructed to read from the ton of extremely useful cookies google puts in the user’s place.