Difference between revisions of "Part:BBa I750016:Design"

(Design Notes)
m
Line 1: Line 1:
 
 
__NOTOC__
 
__NOTOC__
 
<partinfo>BBa_I750016 short</partinfo>
 
<partinfo>BBa_I750016 short</partinfo>
Line 14: Line 13:
  
 
There are also a number of SNP in comparison to the referance sequence, presumably due to the error rate with pfuultra.
 
There are also a number of SNP in comparison to the referance sequence, presumably due to the error rate with pfuultra.
 +
 +
===Modelling===
 +
 +
The gas vesicles are shaped roughly like a cylinder with a cone at each end, whose cross-section we model as (based mostly on [[Team:Groningen/Literature#Walsby1994|Walsby 1994]]):
 +
 +
[[Image:Vesicle_Shape.png]]
 +
 +
We assume the interior of the wall of the gas vesicle is similarly shaped to the exterior, just slightly smaller (the right-most part of the image above illustrates this situation for the left tip of the gas vesicle). This means the different dimensions are related through the equations below. To determine the total volume, just use them with the given width/diameter (at least for the dimensions given in [[Team:Groningen/Literature#Walsby1994|Walsby 1994]]). To determine the gas volume, use them with w<sub>gas</sub> and d<sub>gas</sub>.
 +
 +
{|
 +
|style="vertical-align:top;"|<html>
 +
<div style="background:#efe;border:1px solid #9c9;padding:1em;">
 +
<table style="border-collapse:collapse;background:none;"><tr>
 +
<td style="border-right:1px solid #9c9;padding-right:1em;">
 +
w = <input type="text" id="w" value="400"/> nm (EM {{todo}} link)<br/>
 +
d = <input type="text" id="d" value="80"/> nm (EM)<br/>
 +
tw = <input type="text" id="tw" value="1.8"/> nm (</html>[[Team:Groningen/Literature#Walsby1994|Walsby1994]]<html>)<br/>
 +
a = <input type="text" id="a" value="77"/> &deg; (</html>[[Team:Groningen/Literature#Walsby1994|Walsby1994]]<html>)<br/>
 +
&rho;<sub>gas</sub> = <input type="text" id="rhogas" value="1.2"/> kg/m<sup>3</sup> (</html>[[Team:Groningen/Literature#Walsby1994|Walsby1994]]<html>)<br/> <!-- Walsby1994, for moist air at atmospheric pressure -->
 +
&rho;<sub>wall</sub> = <input type="text" id="rhowall" value="1320"/> kg/m<sup>3</sup> (</html>[[Team:Groningen/Literature#Walsby1994|Walsby1994]]<html>)<br/> <!-- Walsby1994 -->
 +
 +
<button onClick="computeVolumes()">Compute</button><br/>
 +
</td>
 +
 +
<td style="padding-left:1em;">
 +
<div id="volumeError" style="color:red"></div>
 +
V<sub>gas</sub> = <span id="Vgas"></span> nm<sup>3</sup><br/>
 +
M<sub>gas</sub> = <span id="Mgas"></span> yg<br/>
 +
V<sub>wall</sub> = <span id="Vwall"></span> nm<sup>3</sup><br/>
 +
M<sub>wall</sub> = <span id="Mwall"></span> yg<br/>
 +
V<sub>vesicle</sub> = <span id="Vvesicle"></span> nm<sup>3</sup><br/>
 +
M<sub>vesicle</sub> = <span id="Mvesicle"></span> yg<br/>
 +
<b>&rho;<sub>vesicle</sub> = <span id="rhovesicle"></span> kg/m<sup>3</sup></b><br/>
 +
</td>
 +
</tr></table>
 +
</div>
 +
<script type="text/javascript">
 +
 +
addOnloadHook(computeVolumes);
 +
 +
function computeVolumes() {
 +
  // Input
 +
  var wNode = document.getElementById("w");
 +
  var twNode = document.getElementById("tw");
 +
  var dNode = document.getElementById("d");
 +
  var aNode = document.getElementById("a");
 +
  var rhogasNode = document.getElementById("rhogas");
 +
  var rhowallNode = document.getElementById("rhowall");
 +
 +
  // Intermediates (mostly useful for debugging)
 +
  var volumeErrorNode = document.getElementById("volumeError");
 +
  var wwtNode = document.getElementById("wwt");
 +
  volumeErrorNode.innerHTML = '';
 +
 +
  // Outputs
 +
  var VgasNode = document.getElementById("Vgas");
 +
  var VwallNode = document.getElementById("Vwall");
 +
  var MgasNode = document.getElementById("Mgas");
 +
  var MwallNode = document.getElementById("Mwall");
 +
  var VvesicleNode = document.getElementById("Vvesicle");
 +
  var MvesicleNode = document.getElementById("Mvesicle");
 +
  var rhovesicleNode = document.getElementById("rhovesicle");
 +
 +
  // Read inputs
 +
  var w = Number(wNode.value);
 +
  var tw = Number(twNode.value);
 +
  var d = Number(dNode.value);
 +
  var a = Number(aNode.value) * Math.PI / 180.0;
 +
  var rhogas = Number(rhogasNode.value);
 +
  var rhowall = Number(rhowallNode.value);
 +
 +
  // Compute Vgas and Vwall
 +
  try {
 +
    var wwt = tw/Math.sin(a/2);
 +
    var Vvesicle = computeVolume(w, d, a);
 +
    var Vgas = computeVolume(w-2*wwt,d-2*tw,a);
 +
    var Vwall = Vvesicle - Vgas;
 +
    var Mgas = rhogas*Vgas;
 +
    var Mwall = rhowall*Vwall;
 +
    var Mvesicle = Mgas+Mwall;
 +
    var rhovesicle = Mvesicle/Vvesicle;
 +
  } catch(err) {
 +
    volumeErrorNode.innerHTML = err.message;
 +
  }
 +
 +
  // Set intermediates if they exist
 +
  if (wwtNode) setOutput(wwtNode, wwt);
 +
 +
  // Set outputs
 +
  setOutput(VgasNode, Vgas);
 +
  setOutput(VwallNode, Vwall);
 +
  setOutput(MgasNode, Mgas);
 +
  setOutput(MwallNode, Mwall);
 +
  setOutput(VvesicleNode, Vvesicle);
 +
  setOutput(MvesicleNode, Mvesicle);
 +
  setOutput(rhovesicleNode, rhovesicle);
 +
}
 +
 +
function computeVolume(w,d,a) {
 +
  // This computes the volume of cylinder with a cone at each end as defined in the text.
 +
  var wt = (1/2)*d/Math.tan(a/2);
 +
  var wc = w-2*wt;
 +
  var Vc = (1/4)*Math.PI*Math.pow(d,2)*wc;
 +
  var Vt = (1/12)*Math.PI*Math.pow(d,2)*wt;
 +
  if (wc<0) throw Error("The given diameter would imply a larger width.<br/>(Do not trust the computed volumes!)");
 +
  return Vc+2*Vt;
 +
}
 +
 +
function formatNumberToHTML(v,p) {
 +
  if (p===undefined) p = 5;
 +
  return v.toPrecision(p)
 +
          .replace(/e\+([0-9]+)$/i,'&middot;10<sup>$1</sup>')
 +
          .replace(/e\-([0-9]+)$/i,'&middot;10<sup>-$1</sup>');
 +
}
 +
 +
function setOutput(node,v,p) {
 +
  node.innerHTML = formatNumberToHTML(v);
 +
  node.value = v;
 +
}
 +
</script>
 +
</html>
 +
|style="vertical-align:top;"|<pre>
 +
w = total width
 +
tw = thickness of wall (1.8-1.95nm)
 +
d = diameter
 +
a = 77 degrees
 +
&rho;gas = density of gas in vesicle (kg/m^3 = yg/nm^3)
 +
&rho;wall = density of vesicle wall (kg/m^3)
 +
wwt = tw/sin(a/2)
 +
wt = (1/2)*d/tan(a/2)
 +
wc = w - 2*wt
 +
Vc = (1/4)*pi*d^2*wc
 +
Vt = (1/12)*pi*d^2*wt
 +
V = Vc+2*Vt
 +
M = &rho;*V
 +
 +
wgas = w-2*wwt = width of gas space
 +
dgas = d-2*tw = diameter of gas space
 +
V = Vgas + Vwall
 +
</pre>
 +
|}
 +
 +
Now we can consider the buoyant density of <i>E. coli</i> with gas vesicles. We have chosen to approach this problem using densities and volume ratios. According to [[Team:Groningen/Literature#Baldwin1995|Baldwin 1995]], [[Team:Groningen/Literature#Bylund1991|Bylund 1991]] and [[Team:Groningen/Literature#Poole1977|Poole 1977]], the density of (wild-type) <i>E. coli</i> is 1100 kg/m<sup>3</sup> &plusmn;3% under wildly varying conditions. This makes our method easier than trying to directly compute the density of a single cell, due to the fact that the volume can differ wildly (both during the life cycle and from strain to strain) and a lack of concrete data on the number of gas vesicles produced (in <i>E. coli</i>). Note that the computations below assume that the gas vesicles simply add to the existing structures.
 +
 +
{|
 +
|style="vertical-align:top;"|<html>
 +
<div style="background:#efe;border:1px solid #9c9;padding:1em;">
 +
<table style="border-collapse:collapse;background:none;"><tr>
 +
<td style="border-right:1px solid #9c9;padding-right:1em;">
 +
<nobr>&rho;<sub>medium</sub> = <input type="text" id="rhomedium" value="1000"/> kg/m<sup>3</sup></nobr><br/>
 +
&rho;<sub>cell</sub> = <input type="text" id="rhocell" value="1100"/> kg/m<sup>3</sup><br/> <!-- Reasonable estimate, TODO: more precision+reference -->
 +
 +
<button onClick="computeEColiDensity()">Compute</button><br/>
 +
</td>
 +
 +
<td style="padding-left:1em;">
 +
<div id="densityError" style="color:red"></div>
 +
V<sub>v</sub> / V<sub>cv</sub> > <span id="relVvesicles"></span><br/>
 +
</td>
 +
</tr></table>
 +
</div>
 +
<script type="text/javascript">
 +
 +
addOnloadHook(computeEColiDensity);
 +
 +
function computeEColiDensity() {
 +
  // Input
 +
  var rhomediumNode = document.getElementById("rhomedium");
 +
  var rhovesicleNode = document.getElementById("rhovesicle");
 +
  var rhocellNode = document.getElementById("rhocell");
 +
 +
  // Intermediates (mostly useful for debugging)
 +
  var densityErrorNode = document.getElementById("densityError");
 +
  densityErrorNode.innerHTML = '';
 +
 +
  // Outputs
 +
  var relVvesiclesNode = document.getElementById("relVvesicles");
 +
 +
  // Read inputs
 +
  var rhomedium = Number(rhomediumNode.value);
 +
  var rhovesicle = Number(rhovesicleNode.value);
 +
  var rhocell = Number(rhocellNode.value);
 +
 +
  // Compute density(/-ies)
 +
  try {
 +
    var relVvesicles = 1.0 - (rhomedium-rhovesicle)/(rhocell-rhovesicle);
 +
    if (rhovesicle>=rhocell) throw Error("Vesicle denser than cell, > should be <.");
 +
  } catch(err) {
 +
    densityErrorNode.innerHTML = err.message;
 +
  }
 +
 +
  // Set intermediates if they exist
 +
 +
  // Set outputs
 +
  setOutput(relVvesiclesNode, relVvesicles);
 +
  document.getElementById('densityLimitGraph').refresh();
 +
}
 +
</script>
 +
</html>
 +
{{graph|Team:Groningen/Graphs/DensityLimit|id=densityLimitGraph}}
 +
|style="vertical-align:top;"|<pre>
 +
Vc = volume of a cell without gas vesicles
 +
Vv = volume of gas vesicles in cell
 +
Vcv = volume of a cell with gas vesicles (assumed to be Vc+Vv)
 +
&rho;c = density of a cell without gas vesicles
 +
&rho;v = density of gas vesicles
 +
&rho;m = density of medium
 +
 +
The following has to be true if the cell floats:
 +
Vc*&rho;c + Vv*&rho;v < Vcv*&rho;m
 +
(Vcv-Vv)*&rho;c + Vv*&rho;v < Vcv*&rho;m
 +
&rho;c + (Vv/Vcv)*(&rho;v-&rho;c) < &rho;m
 +
Assume (&rho;v - &rho;c)<0
 +
Vv/Vcv > (&rho;m - &rho;c)/(&rho;v - &rho;c)
 +
Vv/Vcv > 1 - (&rho;m - &rho;v)/(&rho;c - &rho;v)
 +
</pre>
 +
'''Explanation of the graph'''
 +
 +
Three curves are shown, corresponding to how many gas vesicles a cell needs with "our" gas vesicles (unless you changed the constants in the calculator above), the gas vesicles documented in [[Team:Groningen/Literature#Li1998|Li 1998]]{{infoBox|Using a width and diameter of 75nm and 50nm, respectively. Here we assume that their "width" should be interpreted as our diameter, as doing it the other way around would leave no room for a cylinder and they specifically mention that the vesicles appear to be shaped like cylinders with conical ends.}} and the gas vesicles from Anabaena in [[Team:Groningen/Literature#Walsby1994|Walsby 1994]]{{infoBox|Using a width and diameter of 500nm and 84nm, respectively.}}.
 +
 +
'''The X-axis''' depicts the cell density of the part of the cell not occupied by gas vesicles.
 +
 +
'''The Y-axis''' depicts the minimum volume fraction of the cell that should consist of gas vesicles to make the cell float.
 +
|}
 +
 +
{{GraphHeader}}
  
 
===Source===
 
===Source===

Revision as of 07:03, 18 October 2009

Gas Vesicle polycistonic gene


Assembly Compatibility:
  • 10
    COMPATIBLE WITH RFC[10]
  • 12
    COMPATIBLE WITH RFC[12]
  • 21
    INCOMPATIBLE WITH RFC[21]
    Illegal BglII site found at 334
    Illegal BamHI site found at 4139
    Illegal XhoI site found at 3827
  • 23
    COMPATIBLE WITH RFC[23]
  • 25
    INCOMPATIBLE WITH RFC[25]
    Illegal NgoMIV site found at 785
    Illegal NgoMIV site found at 1187
    Illegal AgeI site found at 4106
  • 1000
    INCOMPATIBLE WITH RFC[1000]
    Illegal SapI.rc site found at 2597
    Illegal SapI.rc site found at 3753


Design Notes

Site directed mutagenesis was performed in four rounds to remove 3 PstI sites and one EcoRI site from gvpL in the sequence. Primers with biobrick prefix and suffix were then used in a PCR reaction to amplify the part. Finally BBa_J61035 was used to provide the plasmid backbone which introduced a RBS at the front of the part.

The part was sequenced and found to have 10 x 40bp repeat inserted into GvpL related to the mutagenic primer for the gvpL-g696a mutagenic primer. Surprisingly this does not appear to inhibit the operation of the system in bouyancy tests.

There are also a number of SNP in comparison to the referance sequence, presumably due to the error rate with pfuultra.

Modelling

The gas vesicles are shaped roughly like a cylinder with a cone at each end, whose cross-section we model as (based mostly on Walsby 1994):

Vesicle Shape.png

We assume the interior of the wall of the gas vesicle is similarly shaped to the exterior, just slightly smaller (the right-most part of the image above illustrates this situation for the left tip of the gas vesicle). This means the different dimensions are related through the equations below. To determine the total volume, just use them with the given width/diameter (at least for the dimensions given in Walsby 1994). To determine the gas volume, use them with wgas and dgas.

w = nm (EM {{todo}} link)
d = nm (EM)
tw = nm (Walsby1994)
a = ° (Walsby1994)
ρgas = kg/m3 (Walsby1994)
ρwall = kg/m3 (Walsby1994)

Vgas = nm3
Mgas = yg
Vwall = nm3
Mwall = yg
Vvesicle = nm3
Mvesicle = yg
ρvesicle = kg/m3
w = total width
tw = thickness of wall (1.8-1.95nm)
d = diameter
a = 77 degrees
ρgas = density of gas in vesicle (kg/m^3 = yg/nm^3)
ρwall = density of vesicle wall (kg/m^3)
wwt = tw/sin(a/2)
wt = (1/2)*d/tan(a/2)
wc = w - 2*wt
Vc = (1/4)*pi*d^2*wc
Vt = (1/12)*pi*d^2*wt
V = Vc+2*Vt
M = ρ*V

wgas = w-2*wwt = width of gas space
dgas = d-2*tw = diameter of gas space
V = Vgas + Vwall

Now we can consider the buoyant density of E. coli with gas vesicles. We have chosen to approach this problem using densities and volume ratios. According to Baldwin 1995, Bylund 1991 and Poole 1977, the density of (wild-type) E. coli is 1100 kg/m3 ±3% under wildly varying conditions. This makes our method easier than trying to directly compute the density of a single cell, due to the fact that the volume can differ wildly (both during the life cycle and from strain to strain) and a lack of concrete data on the number of gas vesicles produced (in E. coli). Note that the computations below assume that the gas vesicles simply add to the existing structures.

ρmedium = kg/m3
ρcell = kg/m3

Vv / Vcv >
Loading graph...
Vc = volume of a cell without gas vesicles
Vv = volume of gas vesicles in cell
Vcv = volume of a cell with gas vesicles (assumed to be Vc+Vv)
ρc = density of a cell without gas vesicles
ρv = density of gas vesicles
ρm = density of medium

The following has to be true if the cell floats:
 Vc*ρc + Vv*ρv < Vcv*ρm
 (Vcv-Vv)*ρc + Vv*ρv < Vcv*ρm
 ρc + (Vv/Vcv)*(ρv-ρc) < ρm
Assume (ρv - ρc)<0
 Vv/Vcv > (ρm - ρc)/(ρv - ρc)
 Vv/Vcv > 1 - (ρm - ρv)/(ρc - ρv)

Explanation of the graph

Three curves are shown, corresponding to how many gas vesicles a cell needs with "our" gas vesicles (unless you changed the constants in the calculator above), the gas vesicles documented in Li 1998
Using a width and diameter of 75nm and 50nm, respectively. Here we assume that their "width" should be interpreted as our diameter, as doing it the other way around would leave no room for a cylinder and they specifically mention that the vesicles appear to be shaped like cylinders with conical ends.
 i 
and the gas vesicles from Anabaena in Walsby 1994
Using a width and diameter of 500nm and 84nm, respectively.
 i 
.

The X-axis depicts the cell density of the part of the cell not occupied by gas vesicles.

The Y-axis depicts the minimum volume fraction of the cell that should consist of gas vesicles to make the cell float.

Source

This 5.7Kbp part contains 11 open reading frames coding for gas vesicle genes (gvpB,R,N,F,G,L,S,K,J,T and U) from Bacillus megaterium VT1660 AF053765. The original DNA (sequence= AF053765) was provided by Maura Cannon in pBluescriptIIKS plasmid (pNL29 in "Gas Vesicle genes identified in Bacillus megaterium and Functional Expression in Escherichia coli", Ning Li and Maura C. Cannon, Jounal of bacteriology, May 1998 p2450-2458). Site dirrected mutagenesis was performed to produce four silent changes, removing restriction sites.

References

pNL29 in "Gas Vesicle genes identified in Bacillus megaterium and Functional Expression in Escherichia coli", Ning Li and Maura C. Cannon, Jounal of bacteriology, May 1998, p2450-2458