The description of bacterial conjugation, as taken from the linked wiki page:
Conjugation diagram 1- Donor cell produces pilus. 2- Pilus attaches to recipient cell and brings the two cells together. 3- The mobile plasmid is nicked and a single strand of DNA is then transferred to the recipient cell. 4- Both cells synthesize a complementary strand to produce a double stranded circular plasmid and also reproduce pili; both cells are now viable donors.
Step 2 looks like a CLICK move from zipper logic:
Step 4 looks like a ZIP move:
Not convinced? Look then at the CLICK move as seen when zippers are made of crossing diagrams:
On the other side, the ZIP move is a form of graphic beta move. Which is involved in the behaviour 1 of GLC actors.
Imagine that each bacteria is an actor. You have a pair of (bacteria/actors) which (are in proximity/connected in the actor diagram) and they proceed to (bacterial conjugation/behaviour 1). In the most general form, which actually involves up to 6 actors, the bacteria :a and :b interact like this:
(in this figure we see only two nodes, each one belonging to one actor.) The case of bacterial conjugation is when there are only two actors, i.e. :a = :c = :f and :b = :d = :e . Each of the new arrows which appeared after the graphic beta move could be seen as a pilus.
Easy to describe it, but the mechanism of bacterial conjugation is fascinating. Can it be harnessed for (this type of) computation?
UPDATE: searching for “plasmid computing”, found Computing with DNA by operating on plasmids by T. Head, G. Rozenberg, R.S. Bladergroen, C.K.D. Breek, P.H.M. Lommerse, H.P. Spaink, BioSystems 57 (2000) 87 – 93.
They have a way to compute with plasmids. In this post is argued that bacterial conjugation itself (regardless of the plasmid involved) can be used as the main graph rewrite for doing (a graphic version of) lambda calculus, basically.