Synthetic Biology:Abstraction hierarchy/Network layer model: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Motivation==
==Motivation==


The discussion on the [[BioBricks 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.
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:
==Silicon Network Layer Model== For comparison, here's an overview of the standard network layer model:
Line 148: Line 148:
===Devices===
===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 [[BioBricks abstraction hierarchy]] where devices are "between" parts and systems, devices are defined here in a functional manner:
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.
; 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.
Line 186: Line 186:




Thoughts or comments? Contact: [[Austin Che]]
: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.  -[[User:Bcanton|BC]]


==Naive network layer model==
==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.--[[User:Bcanton|BC]] 13:57, 27 Sep 2005 (EDT)


{| border=1
{| border=1
Line 195: Line 197:
!Example Standard
!Example Standard
!Role of User
!Role of User
!Category
|----
|----
|6
|6
|User
|User
|Chemical Detector
|Detector of Chemical X
|
|
|
|----
|----
|5
|5
|Environment
|Environment
|Batch/continuous, Temp., media
|Batch/continuous, Temp., Media
|Provide input or observe output
|Provide input or observe output
|
|----
|----
|4
|4
|Population
|Population
|cell-cell signaling
|cell-cell signaling
|none
|Design interactions between different cells
|
|----
|----
|3
|3
|System
|System
|Signaling molecules, fluorescence
|Signaling molecules, fluorescence
|none
|Design system to process external inputs into detectable outputs
|
|----
|----
|2
|2
|Device
|Device
|PoPS, RiPS
|PoPS, RiPS
|none
|Use parts to design device with particular transfer curve
|
|----
|----
|1
|1
|Part
|Part
|BioBricks assembly
|BioBricks assembly
|none
|Plan and assemble
|
|----
|----
|0
|0
|Materials
|Materials
|nucleotides/amino acids
|nucleotides/amino acids
|none
|Choose the materials
|
|}
|}
==Contact==
Thoughts or comments? Contact: [[Austin Che]]

Latest revision as of 14:24, 22 December 2005

Motivation

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.

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)

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

Contact

Thoughts or comments? Contact: Austin Che