All computation in the Monod model is accomplished by proteins. They are analogous to proteins in biological cells — hence the name! In turn, each protein is composed of possibly multiple domains, which are somewhat analogous to domains in biology as well.
The domains encode what a Monod cell can do at the most fundamental level. For example, there are domains for the following activities (which are described in detail further): binding, logical integration operations, changing ligands. From the point of view of the evolutionary algorithms which are part of Monod, the domains are the terminal entities, as we will see when we discuss Monod cultures.
The set of domains in Monod are Turing-complete, in that any Turing program can be created by a protein (FIXME: should be easy to show: have each protein insert a state marker on the tape at the mark position). However, they are not optimized along any other dimension right now, like efficiency, parallelizability, orthogonality. They have also not been evolved: they were designed in Monod directly. In order to reach certain levels of optimality, evolving them would probably be necessary. This would consist in metaevolution. (FIXME: References?)
We now proceed to describe in precise detail the Monod protein model. We do this in two stages. The first stage is a quick enumeration of all the salient definitions involved and the second stage is an elaboration of each definition along with examples. The Monod protein model is not simple to explain. It does not break down into neat stacked layers or independent modules. It is hoped that this situation is more than a failure on the part of the developers, a failure to explain properly. The model itself is complex, and, we presume, necessarily so. (FIXME: Why?)
Here is the quick breakdown of the Monod protein model. (FIXME: quickly review in light of the expanded version now written. Small changes are needed.)
An unqualified behavior function can thus associate any behavior with any protein. In subsequent definitions, we constrain allowed functions along different axes.
A behavior function is causal if an input operation can only have an impact on future output operations.
A behavior function is spacing independent if it is causal and if different chunks of the input history can be shifted around, within limits, without substantially affecting the output history other than through shifting. In particular, a spacing independent behavior function is predictable, in that the response to an input function does not depend on the time at which the input function is presented.
A realization function for a protein enriches a bevahior function for the protein with another function which, for any input history, gives a complete, time dependent state history of the protein.
Hence, we define a valid realization function as one that obeys certain rules about how state values are transformed by the conformation functions of the domains in the protein and how input and output operations are reflected in the state history function. These rules are fairly complex and are described in detail below.
Note that there can be many different realization functions for the same behavior function. If suffices that there be a single valid one for the behavior function to be valid itself.
We can talk of a realization function for a concrete protein as a valid realization function which extends the given behavior function.
Concrete proteins are the focus of this chapter, and of the Cytoplasm layer of the design stack. The definitions, as complex as they may seem, are tailored to be flexible enough to allow for a complex compilation step from an abstract protein to a concrete protein while being rigid enough to allow the study of a protein from its purely abstract description.
The remaining definitions introduce desirable properties of concrete proteins.
Proteins which are not well-behaved may be seen as analogous to those polypeptide chains which do not have a unique stable conformation, or which are misfolded. Such chains are often biologically extremely deleterious. For example, many such chains expose hydrophobic areas and they tend to form clumps. Fortunately, the cellular machinery includes extensive protection to detect and neutralize these proteins (the proteasomes and ubiquitin binders).
Note that in biology, such invalid polypeptide chains are never called proteins. By definition, in biology a protein is well-defined, otherwise it's not called a protein. In the Monod world, a protein does not have to be well-defined, though sometimes we abuse language and assume that this is the case.
Note also that the functional representation of proteins we are currently describing is completely orthogonal to their genetic representation. It is not the case that the functional representation is easily derivable from the genetic representation, and vice-versa. This situation is analogous to that in biology, where the tertiary structure of a protein, which is close to its functional representation, is difficult to relate algorithmically to its primary structure. We will explore this later when we discuss Monod Cells, in this chapter.
In the rest of this section, we present the details of the construction and properties of proteins, proceeding in the order that we laid out in the bullet overview above. We also lay out some examples of all the concepts introduced.