NOTICE: You are viewing a page of the openwetware wiki. Our "dewikify" feature makes a wiki page appear as a normal web page. In March 2017, this feature will GO AWAY and this URL will redirect to the source URL on our wiki. We're sorry for the inconvenience.



The discussion on the Synthetic Biology:Abstraction hierarchy brings up problems with terminology and with the abstraction model. Deriving inspiration from the Wikipedia: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:

Layer Number Layer Name Example Standard Purpose
Layer 7 Application http what does the user want to do?
Layer 6 Presentation jpg how do we encode the data?
Layer 5 Session SSL how do we manage sessions?
Layer 4 Transport TCP/UDP how do we reliably transport info?
Layer 3 Network IP how does the network transmit info?
Layer 2 Link Ethernet how do computers talk to each other?
Layer 1 Physical 10base-T/cat5 what is the form of the physical cabling?

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 Number Layer Name Example Standard Role of User Category
Layer 7 Application chemical detector Brainstorm need System
Layer 6 Packaging pSB plasmids Physical handling of system System
Layer 5 Environment wavelengths of light Provide input or observe output System
Layer 4 Cell cell-cell signaling none Cell
Layer 3 Protein dimerization interface none Part
Layer 2 RNA PoPS none Part
Layer 1 DNA BioBricks assembly none Part
Layer 0 Chassis nucleotides/amino acids none Chassis

Layer Definitions

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

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.
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.
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.
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.
In this layer, parts communicate using proteins. Standards at this level could include protein dimerization, phosphorylation interfaces, etc.
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.
This layer specifies how parts interact using DNA. The standard BioBricks or BioBricks++ assembly schemes fall into this layer.
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.


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

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.
Layer 4 represents the cell as one entity, as a black box with inputs into and outputs out of the cell.
Layers 1-3 occur within a single cell. We call everything that occurs here a biological part.
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.
We use component to refer to anything in any of the layers.


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:

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:

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

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)

Layer Number Layer Name Example Standard Role of User
6 User Detector of Chemical X
5 Environment Batch/continuous, Temp., Media Provide input or observe output
4 Population cell-cell signaling Design interactions between different cells
3 System Signaling molecules, fluorescence Design system to process external inputs into detectable outputs
2 Device PoPS, RiPS Use parts to design device with particular transfer curve
1 Part BioBricks assembly Plan and assemble
0 Materials nucleotides/amino acids Choose the materials


Thoughts or comments? Contact: Austin Che