Synthetic Biology:Abstraction hierarchy/Network layer model

Motivation
The discussion on the Synthetic Biology:Abstraction hierarchy brings up problems with terminology and with the abstraction model. Deriving inspiration from the OSI model for computer network protocols, I propose a biological network layer model. Although we may currently use specific standard protocols such as BioBricks, PoPS, etc., we may not want to do so forever. This proposed model is general and not limited to a particular standard or implementation.

Silicon Network Layer Model
For comparison, here's an overview of the standard network layer model:

In theory, each layer should only interface with the layer above or below it. By standardizing these interfaces, different components on the networks can then work together. A layer performs its function by taking requests from the higher layer and making use of the lower layer.

Biological Network Layer Model
The purpose of a biological network layer model is to specify abstraction boundaries, interfaces, and standards to allow engineered biological components to work seamlessly together in a biological circuit/network. This table summarizes the model:

Layer Definitions
There can be standards at each of the abstraction layers which should be mostly independent of standards at the other layers.


 * Application : At the highest level defines the system the user wants to build, e.g. "detect chemical X and break it down." Standards at this layer may be difficult to define, and are probably the least useful, but may fall into general categories of things one may want to do.


 * Packaging : Biological systems need to be packaged into a form that can be handled easily. Items that would fall in this category include which plasmid the system is stored in, which cell line is used, the color of the tubes, etc. The role of this layer is to package the functionality provided by lower layers while still achieving the desired functionality of the application layer.


 * Environment : Users or the external environment interact with cellular systems at this layer. For example, a system may provide an output in terms of fluorescence or an input in terms of a chemical molecule.


 * Cell : This layer defines communication between individual cells. For example, the nature of the signaling molecule and how a signal is transmitted to other cells fall in this layer.


 * Protein : In this layer, parts communicate using proteins. Standards at this level could include protein dimerization, phosphorylation interfaces, etc.


 * RNA : In this layer, parts interact through RNA. For example, using RNA polymerase rates (PoPS) is an example of an interface defined at the RNA level. Note that ribosomes per second (RiPS) is also at this level.


 * DNA : This layer specifies how parts interact using DNA. The standard BioBricks or BioBricks++ assembly schemes fall into this layer.
 * Chassis : This layer specifies the basic cellular environment that all other layers rely upon. For example, this specifies the valid nucleotides (ACTG), amino acids, and the codon translation table. Although current system use the mostly universal standard found in biology for these, synthetic nucleotides and amino acids can also be added and standardized into the chassis layer.

Terminology
We break up the layers into a couple of larger named categories for easier discussion of biological networks. We define:


 * System : Layers 5-7 which require user (human or outside) intervention. For example, a cell responding to an environmental stimuli is at layer 5 and therefore is considered a system.


 * Cell : Layer 4 represents the cell as one entity, as a black box with inputs into and outputs out of the cell.


 * Part : Layers 1-3 occur within a single cell. We call everything that occurs here a biological part.


 * Chassis : Layer 0 is the most fundamental level and defines the internal cellular environment that everything else depends upon. The chassis is therefore the scaffold that holds up the other layers.


 * Component : We use component to refer to anything in any of the layers.

Devices
A tricky term to define is a device. The term seems to be a useful one to have, yet has not been easy to define precisely. We propose defining a device orthogonally to parts and systems. Unlike the Synthetic Biology:Abstraction hierarchy/Composition model where devices are "between" parts and systems, devices are defined here in a functional manner:


 * Device : A device is a component that has at least one input or output and that follows a standard within the hierarchy for all inputs and outputs.

The network layer model provides layers at which interface standards are defined. However, real biological components can often work between layers, so devices can work between layers. Just as the notion of a biological device is an abstract one, the requirement for a device to have inputs and outputs is arbitrarily/abstractly defined, but they must be defined for a device to exist. Furthermore, all defined inputs and outputs must be in terms of standards existing within some layer.

We use the shorthand Lx/Ly device (e.g. L3/L5 device) to represent a device that has inputs conforming to Layer x standards and outputs conforming to Layer y standards. We can also generalize this: if a device has inputs or outputs conforming to multiple layers, then we can use Lx1 Lx2 / Ly1 Ly2. If all inputs and outputs are at the same layer (all x=y) and conform to the same standard, then we just refer to something a Lx device (e.g. L2 device). For devices that have either no defined input or output, we use layer 0 (L0), as all biological components will have some impact on and from the chassis components.

For example, an inverter that takes PoPS input and output is a L2 device or, more specifically, a L2-inverter (even more specifically, a L2(PoPS)-inverter). We can also, for example, imagine L5-inverters.

Some other examples:


 * A random piece of DNA has no notion of input or output and therefore is not a device. Even though it may conform to L1 standards, without any inputs or outputs, it cannot be a device.


 * A constitutive promoter with a PoPS output is a L0/L2 device. Similarly, a terminator can be a L2/L0 device.


 * A protein coding sequence can be a L2/L3 device, if the input is specified as PoPS AND the output is specified in terms of some layer 3 standard.


 * A promoter-RBS-repressor where the promoter is controlled by some protein would be a L3 device, assuming a L3 standard is specified for both input and output.
 * RBS-repressor-promoter is a L2 device, if it conforms to a PoPS standard.


 * repressor-promoter-RBS is a L2 device, if it conforms to a RiPS standard.


 * A light responsive promoter is a L5/L2 device, if the input conforms to a L5 standard (what wavelength? what intensity?) and the output conforms to a L2 standard (PoPS?).


 * A cell that responds to AHL from another cell by emitting light can be a L4/L5 device if it is specified to a standard.

We see that in the definition of the device given here, almost anything can be considered a device as long as it is characterized according to a standard with well-defined inputs and outputs. The same component, uncharacterized, is not a device, as it is does not provide a useful device abstraction layer.

Miscellaneous Thoughts

 * Just as in the OSI network model, not all layers are always required to be present (we can skip layers). Also similar to the network model, higher layers are built on top of the lower ones. Just as TCP encapsulates and depends on IP, the protein layer obviously depends on a working RNA layer.


 * Is there any standard/interface that one would want to represent that cannot be described in this framework?


 * I like Austin's idea so I think it would be worth trying to amalgamate the two approaches. The drawback of the current definitions of parts, devices, and systems is that they are limited, they ignore the functional aspect of the different concepts.  For example, a system is defined in a very negative way, i.e a system is anything that is not a device.  We are all clear though that a system should have some higher level function and probably as Austin suggests should have inputs and outputs that a user can interact with via addition of inducer or fluorescent measurements for example.  So I think adding some of the extra layers proposed by Austin would be useful.  -BC

Naive network layer model
This is an attempt to reconcile the Synthetic Biology:Abstraction hierarchy/Composition model, which is the way that we think about building up to useful systems, and the network layer model proposed above. The network layer model offers a good framework to extend the abstraction hierarchy but defines devices somewhat differently. I'm not sure that the network layer model below is entirely consistent with the theory of the OSI network model but it may provide some substrate for thought.--BC 13:57, 27 Sep 2005 (EDT)

Contact
Thoughts or comments? Contact: Austin Che