Team:Carnegie Mellon/Mod-Matlab

From 2012.igem.org

(Difference between revisions)
 
(45 intermediate revisions not shown)
Line 3: Line 3:
<!-- Nav Bar -->
<!-- Nav Bar -->
-
 
<ul class="sf-menu sf-navbar">
<ul class="sf-menu sf-navbar">
<li style ='width: 193px'>
<li style ='width: 193px'>
Line 9: Line 8:
<ul>
<ul>
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hom-Overview">Overview</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon">Overview</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hom-Introduction">Introduction</a>
</li>
</li>
<li>
<li>
Line 15: Line 17:
</li>
</li>
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hom-Safety">Safety</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hom-Attributions">Attributions</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hom-Acknowledgements">Acknowledgements</a>
</li>
</li>
</ul>
</ul>
Line 29: Line 34:
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Bio-Submitted">Submitted Parts</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Bio-Submitted">Submitted Parts</a>
</li>
</li>
 +
</ul>
 +
</li>
 +
 +
<li style ='width: 193px'>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Overview">Methods and Results</a>
 +
<ul>
 +
<li class = 'offset' style ='width: 386px'> <a href="#"></a></li>
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Bio-Properties">Properties</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Overview">Overview</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Results">Results</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Protocols">Protocols</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Challenges">Challenges</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Notebook">Notebook</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Safety">Safety</a>
</li>
</li>
</ul>
</ul>
</li>
</li>
-
+
<li class="current" style ='width: 193px'>
<li class="current" style ='width: 193px'>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Overview">Modeling</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Overview">Modeling</a>
<ul>
<ul>
-
<li class = 'offset' style ='width: 386px'> <a href="#"></a></li>
+
<li class = 'offset' style ='width: 579px'> <a href="#"></a></li>
<li>
<li>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Overview">Overview</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Overview">Overview</a>
Line 47: Line 74:
<li class="current">
<li class="current">
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Matlab">Matlab</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Matlab">Matlab</a>
 +
</li>
 +
<li>
 +
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Expanded">Expanded</a>
</li>
</li>
</ul>
</ul>
Line 54: Line 84:
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Overview">Human Practices</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Overview">Human Practices</a>
<ul>
<ul>
-
<li class = 'offset' style ='width: 579px'> <a href="#"></a></li>
+
<li class = 'offset' style ='width: 302px'> <a href="#"></a></li>
<li>
<li>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Overview">Overview</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Overview">Overview</a>
Line 63: Line 93:
<li>
<li>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Circuit">Circuit Kit</a>
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Circuit">Circuit Kit</a>
-
<ul>
 
-
<li>
 
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Documentation">Documentation</a>
 
-
</li>
 
-
<li>
 
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Software">Software</a>
 
-
</li>
 
-
</ul>
 
</li>
</li>
-
</ul>
 
-
</li>
 
-
<li style ='width: 193px'>
 
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Overview">Methods and Results</a>
 
-
<ul>
 
-
<li class = 'offset' style ='width: 614px'> <a href="#"></a></li>
 
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Overview">Overview</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Software">Software</a>
</li>
</li>
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Protocols">Protocols</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Team">Team Presentation</a>
</li>
</li>
<li>
<li>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Obstacles">Obstacles</a>
+
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Hum-Teaching">Teaching Presentation</a>
</li>
</li>
-
<li>
+
</ul>
-
<a href="https://2012.igem.org/Team:Carnegie_Mellon/Met-Notebook">Notebook</a>
+
</li>
-
</ul>
+
-
</li>
+
</ul>
</ul>
     <br /><br /><br />
     <br /><br /><br />
Line 100: Line 114:
<div id="main">
<div id="main">
-
<!--Table of Contents -->
+
<!--Table of Contents
 +
<!-- Remove for testing
<div id="toc-holder" class="toc-holder">
<div id="toc-holder" class="toc-holder">
<a href="#" class="toc-link" id="toc-link"><span>&#9660;</span> Table of Contents</a>
<a href="#" class="toc-link" id="toc-link"><span>&#9660;</span> Table of Contents</a>
Line 113: Line 128:
</ul>
</ul>
-
</div><!-- .toc-holder -->
+
</div>
 +
-->
 +
<!-- .toc-holder -->
   <div class = "main_content">
   <div class = "main_content">
<body>
<body>
-
 
-
<h1>
 
-
Matlab Documentation
 
-
</h1>
 
<p>
<p>
-
<h1 id = "section1-1" align="center" /><div class="glow1"><b>Inputs</b></div><br /><br /></h1>
+
<h1 id = "section1-1">Inputs</h1>
</p>
</p>
<p>
<p>
-
     The inputs to the model are the measurement tables of concentration of dye vs. time. Optional inputs to the model include an in vitro measurement of
+
     The inputs to the model are the measurement tables of concentration of dye vs. time. Optional inputs to the model include an <i>in vitro</i> measurement of
     saturation of the dye, and measurements of the fluorescence of the dye with mRNA and protein synthesis turned off. The first optional measurement can be
     saturation of the dye, and measurements of the fluorescence of the dye with mRNA and protein synthesis turned off. The first optional measurement can be
-
     used to compare the in vitro fluorescence saturation levels with the in vivo fluorescence saturation levels in order to give a scaling factor for the all
+
     used to compare the <i>in vitro</i> fluorescence saturation levels with the <i>in vivo</i> fluorescence saturation levels in order to give a scaling factor for the all
     the measurements in the input. Estimations can be used in place of these to simplify the number of inputs. The second optional measurement can be used to
     the measurements in the input. Estimations can be used in place of these to simplify the number of inputs. The second optional measurement can be used to
     determine the degradation rates of mRNA and protein.
     determine the degradation rates of mRNA and protein.
</p>
</p>
<p>
<p>
-
<h1 id = "section1-2" align="center" /><div class="glow1"><b>Walkthrough</b></div><br /><br /></h1>
+
The equations for the model can be found <a rel="external" href="https://2012.igem.org/Team:Carnegie_Mellon/Mod-Derivations">here</a>.
 +
</p>
 +
<p>
 +
 
 +
<h1 id = "section1-2" >Walkthrough</h1>
</p>
</p>
<p>
<p>
Line 147: Line 164:
-
 
+
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
-
 
+
<div class="view">
-
<head>
+
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
-
<title>~/Desktop/MATLAB/Fluoro2.m.html</title>
+
-
<meta name="Generator" content="Vim/7.3">
+
-
<meta name="plugin-version" content="vim7.3_v6">
+
-
<meta name="syntax" content="matlab">
+
-
<meta name="settings" content="use_css,number_lines">
+
-
<style type="text/css">
+
-
<!--
+
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
.lnr { color: #888888; background-color: #e6e6e6; }
+
-
.String { color: #4a708b; }
+
-
.Special { color: #8a2be2; }
+
-
.Statement { color: #b03060; font-weight: bold; }
+
-
.Constant { color: #ff8c00; }
+
-
.Comment { color: #0000ee; font-style: italic; }
+
-
.Identifier { color: #458b74; }
+
-
-->
+
-
</style>
+
-
</head>
+
<pre>
<pre>
-
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> PoPSans <span class="Identifier">]</span> = Fluoro2( matrix, modeldata )
+
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> PoPSans <span class="Identifier">]</span> = Fluoro2( matrix, matrix2, DNA, modeldata )
<span class="lnr"> 2 </span><span class="Comment">%Fluoro 2: This function takes in a matrix of titrations and determines</span>
<span class="lnr"> 2 </span><span class="Comment">%Fluoro 2: This function takes in a matrix of titrations and determines</span>
<span class="lnr"> 3 </span><span class="Comment">%both the possible percentage for bound mRNA as well as the actual</span>
<span class="lnr"> 3 </span><span class="Comment">%both the possible percentage for bound mRNA as well as the actual</span>
<span class="lnr"> 4 </span><span class="Comment">%fluorescent mRNA concentration from fluorescent input values.</span>
<span class="lnr"> 4 </span><span class="Comment">%fluorescent mRNA concentration from fluorescent input values.</span>
<span class="lnr"> 5 </span>
<span class="lnr"> 5 </span>
-
<span class="lnr"> 6 </span>DNA = <span class="Constant">1</span> <span class="Statement">*</span> <span class="Constant">10</span><span class="Statement">^</span>(<span class="Statement">-</span><span class="Constant">9</span>)<span class="Special">;</span>
+
<span class="lnr"> 6 </span>
-
<span class="lnr"> 7 </span>
+
<span class="lnr"> 7 </span>controlc = matrix(<span class="Statement">end</span>,:)<span class="Special">;</span> <span class="Comment">%concentration and fluorescence of the control</span>
-
<span class="lnr"> 8 </span>controlc = matrix(<span class="Statement">end</span>,:)<span class="Special">;</span> <span class="Comment">%concentration and fluorescence of the control</span>
+
<span class="lnr"> 8 </span>controlconc = controlc(<span class="Constant">1</span>)<span class="Special">;</span> <span class="Comment">%concentration of dye for the control</span>
-
<span class="lnr"> 9 </span>controlconc = controlc(<span class="Constant">1</span>)<span class="Special">;</span> <span class="Comment">%concentration of dye for the control</span>
+
<span class="lnr"> 9 </span>controldat = controlc(<span class="Constant">1</span>:<span class="Statement">end</span>)<span class="Special">;</span> <span class="Comment">%fluorescence of the control</span>
-
<span class="lnr">10 </span>controldat = controlc(<span class="Constant">1</span>:<span class="Statement">end</span>)<span class="Special">;</span> <span class="Comment">%fluorescence of the control</span>
+
<span class="lnr">10 </span>maxc = <span class="Statement">max</span>(controldat)<span class="Special">;</span>
-
<span class="lnr">11 </span>maxc = <span class="Statement">max</span>(controldat)<span class="Special">;</span>
+
<span class="lnr">11 </span>concs = matrix(:,<span class="Constant">1</span>)<span class="Special">;</span> <span class="Comment">%concentrations of the dye in the wells</span>
-
<span class="lnr">12 </span>concs = matrix(:,<span class="Constant">1</span>)<span class="Special">;</span> <span class="Comment">%concentrations of the dye in the wells</span>
+
<span class="lnr">12 </span>concs1 = concs(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
-
<span class="lnr">13 </span>concs1 = concs(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
+
<span class="lnr">13 </span>controlmax = maxc<span class="Special">;</span>
-
<span class="lnr">14 </span>controlmax = maxc<span class="Special">;</span>
+
<span class="lnr">14 </span>
-
<span class="lnr">15 </span>
+
<span class="lnr">15 </span>Rf = <span class="Identifier">[]</span><span class="Special">;</span>
-
<span class="lnr">16 </span>Rf = <span class="Identifier">[]</span><span class="Special">;</span>
+
<span class="lnr">16 </span>
-
<span class="lnr">17 </span>
+
<span class="lnr">17 </span><span class="Statement">for</span> i = <span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>)<span class="Special">;</span>
-
<span class="lnr">18 </span><span class="Statement">for</span> i = <span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>)<span class="Special">;</span>
+
<span class="lnr">18 </span>    fluordat = matrix(:,i)<span class="Special">;</span> <span class="Comment">%fluoroscence data at some time point</span>
-
<span class="lnr">19 </span>    fluordat = matrix(:,i)<span class="Special">;</span> <span class="Comment">%fluoroscence data at some time point</span>
+
<span class="lnr">19 </span>    fluordat1 = fluordat(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
-
<span class="lnr">20 </span>    fluordat1 = fluordat(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
+
<span class="lnr">20 </span>    s = fitoptions(<span class="String">'Method'</span>, <span class="String">'NonlinearLeastSquares'</span>, <span class="String">'Startpoint'</span>,<span class="Comment">...</span>
-
<span class="lnr">21 </span>    s = fitoptions(<span class="String">'Method'</span>, <span class="String">'NonlinearLeastSquares'</span>, <span class="String">'Startpoint'</span>, <span class="Identifier">[</span>fluordat1(<span class="Statement">end</span>), <span class="Constant">1</span><span class="Statement">/</span>(controlconc)<span class="Identifier">]</span>)<span class="Special">;</span>
+
<span class="lnr">21 </span>    <span class="Identifier">[</span>fluordat1(<span class="Statement">end</span>), <span class="Constant">1</span><span class="Statement">/</span>(controlconc)<span class="Identifier">]</span>)<span class="Special">;</span>
-
<span class="lnr">22 </span>    g = fittype(<span class="String">'a * (1 - exp(b * (-x)))'</span>, <span class="String">'coefficients'</span>, {<span class="String">'a'</span>, <span class="String">'b'</span>}, <span class="String">'options'</span>, s)<span class="Special">;</span>
+
<span class="lnr">22 </span>    g = fittype(<span class="String">'a * (1 - exp(b * (-x)))'</span>, <span class="String">'coefficients'</span>, {<span class="String">'a'</span>, <span class="String">'b'</span>},<span class="Comment">...</span>
-
<span class="lnr">23 </span>    h = fit(concs1, fluordat1, g)<span class="Special">;</span>
+
<span class="lnr">23 </span>    <span class="String">'options'</span>, s)<span class="Special">;</span>
-
<span class="lnr">24 </span>    <span class="Comment">%figure(i);</span>
+
<span class="lnr">24 </span>    h = fit(concs1, fluordat1, g)<span class="Special">;</span>
-
<span class="lnr">25 </span>    <span class="Comment">%plot(h, concs1, fluordat1)</span>
+
<span class="lnr">25 </span>    coeffvals = coeffvalues(h)<span class="Special">;</span>
-
<span class="lnr">26 </span>    factorScale = h(<span class="Constant">1</span>) <span class="Statement">/</span> controlmax<span class="Special">;</span> <span class="Comment">%scaling factor from in vitro to in vivo</span>
+
<span class="lnr">26 </span>    <span class="Comment">%figure(i);</span>
-
<span class="lnr">27 </span>    <span class="Statement">for</span> j = <span class="Constant">1</span>:<span class="Statement">size</span>(concs1)<span class="Special">;</span>
+
<span class="lnr">27 </span>    <span class="Comment">%plot(h, concs1, fluordat1)</span>
-
<span class="lnr">28 </span>        <span class="Statement">if</span> <span class="Statement">abs</span>(h(concs1(j)) <span class="Statement">-</span> h(<span class="Constant">1</span>)) <span class="Statement">&lt;=</span> (<span class="Constant">.2</span> <span class="Statement">*</span> h(<span class="Constant">1</span>))<span class="Special">;</span>
+
<span class="lnr">28 </span>    factorScale = coeffvals(<span class="Constant">1</span>) <span class="Statement">/</span> controlmax<span class="Special">;</span>
-
<span class="lnr">29 </span>            Rf(i <span class="Statement">-</span> <span class="Constant">1</span>) = concs1(j) <span class="Statement">*</span> factorScale<span class="Special">;</span>
+
<span class="lnr">29 </span>                <span class="Comment">%scaling factor from in vitro to in vivo</span>
-
<span class="lnr">30 </span>            <span class="Statement">break</span>
+
<span class="lnr">30 </span>    <span class="Statement">for</span> j = <span class="Constant">1</span>:<span class="Statement">size</span>(concs1)<span class="Special">;</span>
-
<span class="lnr">31 </span>        <span class="Statement">end</span>
+
<span class="lnr">31 </span>        <span class="Statement">if</span> <span class="Statement">abs</span>(h(concs1(j)) <span class="Statement">-</span> h(<span class="Constant">1</span>)) <span class="Statement">&lt;=</span> (<span class="Constant">.2</span> <span class="Statement">*</span> h(<span class="Constant">1</span>))<span class="Special">;</span>
-
<span class="lnr">32 </span>    <span class="Statement">end</span>
+
<span class="lnr">32 </span>            Rf(i <span class="Statement">-</span> <span class="Constant">1</span>) = concs1(j) <span class="Statement">*</span> factorScale<span class="Special">;</span>
-
<span class="lnr">33 </span>
+
<span class="lnr">33 </span>            <span class="Statement">break</span>
-
<span class="lnr">34 </span><span class="Statement">end</span>
+
<span class="lnr">34 </span>        <span class="Statement">end</span>
-
<span class="lnr">35 </span>time = matrix(<span class="Constant">1</span>,:)<span class="Special">;</span>
+
<span class="lnr">35 </span>    <span class="Statement">end</span>
-
<span class="lnr">36 </span>fluortime = time(<span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>))<span class="Special">;</span>
+
<span class="lnr">36 </span>
-
<span class="lnr">37 </span>
+
<span class="lnr">37 </span><span class="Statement">end</span>
-
<span class="lnr">38 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">38 </span>time = matrix(<span class="Constant">1</span>,:)<span class="Special">;</span>
-
<span class="lnr">39 </span><span class="Comment">%Section for Transcriptional Efficiency      %</span>
+
<span class="lnr">39 </span>fluortime = time(<span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>))<span class="Special">;</span>
-
<span class="lnr">40 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">40 </span>
-
<span class="lnr">41 </span>
+
<span class="lnr">41 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
-
<span class="lnr">42 </span>Rt = FluoroLR(Rf, fluortime)<span class="Special">;</span>
+
<span class="lnr">42 </span><span class="Comment">%Section for Transcriptional Efficiency      %</span>
-
<span class="lnr">43 </span>
+
<span class="lnr">43 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
<span class="lnr">44 </span>
<span class="lnr">44 </span>
-
<span class="lnr">45 </span>alpha2 = Degradation(modeldata)<span class="Special">;</span>
+
<span class="lnr">45 </span>Rt = FluoroLR(Rf, fluortime)<span class="Special">;</span>
<span class="lnr">46 </span>
<span class="lnr">46 </span>
-
<span class="lnr">47 </span>ETF = mRNAexpress(fluortime, DNA, Rt, alpha2)<span class="Special">;</span>
+
<span class="lnr">47 </span>
-
<span class="lnr">48 </span><span class="Comment">%ETF = mean(ETF);</span>
+
<span class="lnr">48 </span>alpha2 = Degradation(modeldata)<span class="Special">;</span>
<span class="lnr">49 </span>
<span class="lnr">49 </span>
-
<span class="lnr">50 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">50 </span>ETF = mRNAexpress(fluortime, DNA, Rt, alpha2)<span class="Special">;</span>
-
<span class="lnr">51 </span><span class="Comment">%Section for Translational Efficiency        %</span>
+
<span class="lnr">51 </span><span class="Comment">%ETF = mean(ETF);</span>
-
<span class="lnr">52 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">52 </span>
-
<span class="lnr">53 </span>
+
<span class="lnr">53 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
-
<span class="lnr">54 </span>Pt = ProteinFunctions(matrix)<span class="Special">;</span>
+
<span class="lnr">54 </span><span class="Comment">%Section for Translational Efficiency        %</span>
-
<span class="lnr">55 </span>
+
<span class="lnr">55 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
-
<span class="lnr">56 </span>beta2 = DegradationP(modeldata)<span class="Special">;</span>
+
<span class="lnr">56 </span>
-
<span class="lnr">57 </span>
+
<span class="lnr">57 </span>Pt = ProteinFunctions(matrix2)<span class="Special">;</span>
-
<span class="lnr">58 </span>Tl = proteinexpress(DNA, Pt, ETF, alpha2, beta2)<span class="Special">;</span>
+
<span class="lnr">58 </span>
-
<span class="lnr">59 </span>
+
<span class="lnr">59 </span>beta2 = DegradationP(modeldata)<span class="Special">;</span>
-
<span class="lnr">60 </span><span class="Comment">%Tl = proteinexpress(DNA, 1.6, ETF, alpha2, beta2)</span>
+
<span class="lnr">60 </span>
-
<span class="lnr">61 </span>
+
<span class="lnr">61 </span>Tl = proteinexpress(DNA, Pt, ETF, alpha2, beta2)<span class="Special">;</span>
-
<span class="lnr">62 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">62 </span>
-
<span class="lnr">63 </span><span class="Comment">%Section for Polymerase per Second          %</span>
+
<span class="lnr">63 </span><span class="Comment">%Tl = proteinexpress(DNA, 1.6, ETF, alpha2, beta2)</span>
-
<span class="lnr">64 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
+
<span class="lnr">64 </span>
-
<span class="lnr">65 </span>
+
<span class="lnr">65 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
-
<span class="lnr">66 </span>PoPSans = PoPS(alpha2, beta2, Pt, Tl)<span class="Special">;</span>
+
<span class="lnr">66 </span><span class="Comment">%Section for Polymerase per Second          %</span>
-
<span class="lnr">67 </span>
+
<span class="lnr">67 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
-
<span class="lnr">68 </span><span class="Statement">end</span>
+
<span class="lnr">68 </span>
 +
<span class="lnr">69 </span>PoPSans = PoPS(alpha2, beta2, Pt, Tl)<span class="Special">;</span>
 +
<span class="lnr">70 </span>
 +
<span class="lnr">71 </span><span class="Statement">end</span>
</pre>
</pre>
 +
 +
</div>
Line 252: Line 253:
     calculating the degradation rate.
     calculating the degradation rate.
</p>
</p>
-
<img src = "https://2012.igem.org/File:WGraphic.png" width = "400" height = "400"/>
 
-
</body>
+
 
-
<head>
+
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
<div class="view">
-
<title>~/Desktop/MATLAB/Degradation.m.html</title>
+
-
<meta name="Generator" content="Vim/7.3">
+
-
<meta name="plugin-version" content="vim7.3_v6">
+
-
<meta name="syntax" content="matlab">
+
-
<meta name="settings" content="use_css,number_lines">
+
-
<style type="text/css">
+
-
<!--
+
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
.lnr { color: #888888; background-color: #e6e6e6; }
+
-
.Statement { color: #b03060; font-weight: bold; }
+
-
.Comment { color: #0000ee; font-style: italic; }
+
-
.Special { color: #8a2be2; }
+
-
.Constant { color: #ff8c00; }
+
-
.Identifier { color: #458b74; }
+
-
-->
+
-
</style>
+
-
</head>
+
<pre>
<pre>
Line 304: Line 286:
<span class="lnr">26 </span><span class="Statement">end</span>
<span class="lnr">26 </span><span class="Statement">end</span>
</pre>
</pre>
 +
 +
</div>
<p>
<p>
Line 312: Line 296:
     similarly to Degradation.m, takes the data and fits a curve to the data.
     similarly to Degradation.m, takes the data and fits a curve to the data.
</p>
</p>
-
<head>
+
<p>
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
    The degradation functions return alpha2 and beta2 to Fluoro2.m. Fluoro2.m then calls ProteinFunctions.m to convert the protein titration data to
-
<title>~/Desktop/MATLAB/DegradationP.m.html</title>
+
    fluorescent protein concentrations.
-
<meta name="Generator" content="Vim/7.3">
+
</p>
-
<meta name="plugin-version" content="vim7.3_v6">
+
 
-
<meta name="syntax" content="matlab">
+
-
<meta name="settings" content="use_css,number_lines">
+
-
<style type="text/css">
+
-
<!--
+
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
+
-
.lnr { color: #888888; background-color: #e6e6e6; }
+
-
.Statement { color: #b03060; font-weight: bold; }
+
-
.Special { color: #8a2be2; }
+
-
.Constant { color: #ff8c00; }
+
-
.Comment { color: #0000ee; font-style: italic; }
+
-
.Identifier { color: #458b74; }
+
-
-->
+
-
</style>
+
-
</head>
+
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
<pre>
<pre>
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> beta2 <span class="Identifier">]</span> = DegradationP ( modeldata )
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> beta2 <span class="Identifier">]</span> = DegradationP ( modeldata )
Line 355: Line 326:
</pre>
</pre>
 +
</div>
-
<p>
 
-
    The degradation functions return alpha2 and beta2 to Fluoro2.m. Fluoro2.m then calls ProteinFunctions.m to convert the protein titration data to
 
-
    fluorescent protein concentrations.
 
-
</p>
 
<p>
<p>
     <strong>ProteinFunctions.m</strong>
     <strong>ProteinFunctions.m</strong>
Line 370: Line 338:
     total mRNA concentrations.
     total mRNA concentrations.
</p>
</p>
-
<head>
 
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
-
<title>~/Desktop/MATLAB/ProteinFunctions.m.html</title>
 
-
<meta name="Generator" content="Vim/7.3">
 
-
<meta name="plugin-version" content="vim7.3_v6">
 
-
<meta name="syntax" content="matlab">
 
-
<meta name="settings" content="use_css,number_lines">
 
-
<style type="text/css">
 
-
<!--
 
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
.lnr { color: #888888; background-color: #e6e6e6; }
 
-
.String { color: #4a708b; }
 
-
.Constant { color: #ff8c00; }
 
-
.Special { color: #8a2be2; }
 
-
.Statement { color: #b03060; font-weight: bold; }
 
-
.Comment { color: #0000ee; font-style: italic; }
 
-
.Identifier { color: #458b74; }
 
-
-->
 
-
</style>
 
-
</head>
 
 +
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
<pre>
<pre>
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> Pt <span class="Identifier">]</span> = ProteinFunctions( matrix)
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> Pt <span class="Identifier">]</span> = ProteinFunctions( matrix)
Line 410: Line 360:
<span class="lnr">16 </span>    fluordat = matrix(:,i)<span class="Special">;</span> <span class="Comment">%fluoroscence data at some time point</span>
<span class="lnr">16 </span>    fluordat = matrix(:,i)<span class="Special">;</span> <span class="Comment">%fluoroscence data at some time point</span>
<span class="lnr">17 </span>    fluordat1 = fluordat(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
<span class="lnr">17 </span>    fluordat1 = fluordat(<span class="Constant">1</span>:(<span class="Statement">end</span> <span class="Statement">-</span> <span class="Constant">2</span>))<span class="Special">;</span>
-
<span class="lnr">18 </span>    s = fitoptions(<span class="String">'Method'</span>, <span class="String">'NonlinearLeastSquares'</span>, <span class="String">'Startpoint'</span>, <span class="Identifier">[</span>fluordat1(<span class="Statement">end</span>), <span class="Constant">1</span><span class="Statement">/</span>(controlconc)<span class="Identifier">]</span>)<span class="Special">;</span>
+
<span class="lnr">18 </span>
-
<span class="lnr">19 </span>    g = fittype(<span class="String">'a * (1 - exp(b * (-x)))'</span>, <span class="String">'coefficients'</span>, {<span class="String">'a'</span>, <span class="String">'b'</span>}, <span class="String">'options'</span>, s)<span class="Special">;</span>
+
<span class="lnr">19 </span>    s = fitoptions(<span class="String">'Method'</span>, <span class="String">'NonlinearLeastSquares'</span>, <span class="String">'Startpoint'</span>,<span class="Comment">...</span>
-
<span class="lnr">20 </span>    h = fit(concs1, fluordat1, g)<span class="Special">;</span>
+
<span class="lnr">20 </span>    <span class="Identifier">[</span>fluordat1(<span class="Statement">end</span>), <span class="Constant">1</span><span class="Statement">/</span>(controlconc)<span class="Identifier">]</span>)<span class="Special">;</span>
-
<span class="lnr">21 </span>    <span class="Comment">%figure(i);</span>
+
<span class="lnr">21 </span>
-
<span class="lnr">22 </span>    <span class="Comment">%plot(h, concs1, fluordat1)</span>
+
<span class="lnr">22 </span>    g = fittype(<span class="String">'a * (1 - exp(b * (-x)))'</span>, <span class="String">'coefficients'</span>, {<span class="String">'a'</span>, <span class="String">'b'</span>},<span class="Comment">...</span>
-
<span class="lnr">23 </span>    factorScale = h(<span class="Constant">1</span>) <span class="Statement">/</span> controlmax<span class="Special">;</span> <span class="Comment">%scaling factor from in vitro to in vivo</span>
+
<span class="lnr">23 </span>    <span class="String">'options'</span>, s)<span class="Special">;</span>
-
<span class="lnr">24 </span>    <span class="Statement">for</span> j = <span class="Constant">1</span>:<span class="Statement">size</span>(concs1)<span class="Special">;</span>
+
<span class="lnr">24 </span>
-
<span class="lnr">25 </span>        <span class="Statement">if</span> <span class="Statement">abs</span>(h(concs1(j)) <span class="Statement">-</span> h(<span class="Constant">1</span>)) <span class="Statement">&lt;=</span> (<span class="Constant">.2</span> <span class="Statement">*</span> h(<span class="Constant">1</span>))<span class="Special">;</span>
+
<span class="lnr">25 </span>    h = fit(concs1, fluordat1, g)<span class="Special">;</span>
-
<span class="lnr">26 </span>            Pf(i <span class="Statement">-</span> <span class="Constant">1</span>) = concs1(j) <span class="Statement">*</span> factorScale<span class="Special">;</span>
+
<span class="lnr">26 </span>    coeffvals = coeffvalues(h)<span class="Special">;</span>
-
<span class="lnr">27 </span>            <span class="Statement">break</span>
+
<span class="lnr">27 </span>    <span class="Comment">%figure(i);</span>
-
<span class="lnr">28 </span>        <span class="Statement">end</span>
+
<span class="lnr">28 </span>    <span class="Comment">%plot(h, concs1, fluordat1)</span>
-
<span class="lnr">29 </span>    <span class="Statement">end</span>
+
<span class="lnr">29 </span>    factorScale = coeffvals(<span class="Constant">1</span>) <span class="Statement">/</span> controlmax<span class="Special">;</span><span class="Comment">...</span>
-
<span class="lnr">30 </span>
+
<span class="lnr">30 </span>        <span class="Comment">%scaling factor from in vitro to in vivo</span>
-
<span class="lnr">31 </span><span class="Statement">end</span>
+
<span class="lnr">31 </span>    <span class="Statement">for</span> j = <span class="Constant">1</span>:<span class="Statement">size</span>(concs1)<span class="Special">;</span>
-
<span class="lnr">32 </span>time = matrix(<span class="Constant">1</span>,:)<span class="Special">;</span>
+
<span class="lnr">32 </span>        <span class="Statement">if</span> <span class="Statement">abs</span>(h(concs1(j)) <span class="Statement">-</span> h(<span class="Constant">1</span>)) <span class="Statement">&lt;=</span> (<span class="Constant">.2</span> <span class="Statement">*</span> h(<span class="Constant">1</span>))<span class="Special">;</span>
-
<span class="lnr">33 </span>fluortime = time(<span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>))<span class="Special">;</span>
+
<span class="lnr">33 </span>            Pf(i <span class="Statement">-</span> <span class="Constant">1</span>) = concs1(j) <span class="Statement">*</span> factorScale<span class="Special">;</span>
-
<span class="lnr">34 </span>
+
<span class="lnr">34 </span>            <span class="Statement">break</span>
-
<span class="lnr">35 </span>Pt = FluoroLP (Pf, fluortime)<span class="Special">;</span>
+
<span class="lnr">35 </span>        <span class="Statement">end</span>
-
<span class="lnr">36 </span>
+
<span class="lnr">36 </span>    <span class="Statement">end</span>
-
<span class="lnr">37 </span><span class="Statement">end</span>
+
<span class="lnr">37 </span>
-
<span class="lnr">38 </span>
+
<span class="lnr">38 </span><span class="Statement">end</span>
 +
<span class="lnr">39 </span>time = matrix(<span class="Constant">1</span>,:)<span class="Special">;</span>
 +
<span class="lnr">40 </span>fluortime = time(<span class="Constant">2</span>:<span class="Statement">size</span>(matrix, <span class="Constant">2</span>))<span class="Special">;</span>
 +
<span class="lnr">41 </span>
 +
<span class="lnr">42 </span>Pt = FluoroLP (Pf, fluortime)<span class="Special">;</span>
 +
<span class="lnr">43 </span>
 +
<span class="lnr">44 </span><span class="Statement">end</span>
 +
<span class="lnr">45 </span>
</pre>
</pre>
 +
</div>
 +
<p>
<p>
     <strong>FluoroLR.m</strong>
     <strong>FluoroLR.m</strong>
Line 441: Line 400:
\begin{equation}K_{D_R} = \frac{[R_f]}{([R]_0 - [R_f])([D_R]_0 - [R_f])}\end{equation}
\begin{equation}K_{D_R} = \frac{[R_f]}{([R]_0 - [R_f])([D_R]_0 - [R_f])}\end{equation}
<p>
<p>
-
     Where KDR is the dissociation constant, $[Rf]$ is the fluorescent mRNA concentration, $[R]$ is the mRNA concentration, and $[D_R]$ is the dye concentration.
+
     where KDR is the dissociation constant, $[Rf]$ is the fluorescent mRNA concentration, $[R]$ is the mRNA concentration, and $[D_R]$ is the dye concentration.
</p>
</p>
-
<head>
 
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
-
<title>~/Desktop/MATLAB/FluoroLR.m.html</title>
 
-
<meta name="Generator" content="Vim/7.3">
 
-
<meta name="plugin-version" content="vim7.3_v6">
 
-
<meta name="syntax" content="matlab">
 
-
<meta name="settings" content="use_css,number_lines">
 
-
<style type="text/css">
 
-
<!--
 
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
.lnr { color: #888888; background-color: #e6e6e6; }
 
-
.Special { color: #8a2be2; }
 
-
.Statement { color: #b03060; font-weight: bold; }
 
-
.Constant { color: #ff8c00; }
 
-
.Comment { color: #0000ee; font-style: italic; }
 
-
.Identifier { color: #458b74; }
 
-
-->
 
-
</style>
 
-
</head>
 
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
<pre>
<pre>
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span>Rt<span class="Identifier">]</span> = FluoroLR (Rf, concentrations)
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span>Rt<span class="Identifier">]</span> = FluoroLR (Rf, concentrations)
Line 496: Line 437:
<span class="lnr">29 </span><span class="Statement">end</span>
<span class="lnr">29 </span><span class="Statement">end</span>
</pre>
</pre>
-
 
+
</div>
<p>
<p>
Line 505: Line 446:
</p>
</p>
-
<head>
 
-
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 
-
<title>~/Desktop/MATLAB/FluoroLP.m.html</title>
 
-
<meta name="Generator" content="Vim/7.3">
 
-
<meta name="plugin-version" content="vim7.3_v6">
 
-
<meta name="syntax" content="matlab">
 
-
<meta name="settings" content="use_css,number_lines">
 
-
<style type="text/css">
 
-
<!--
 
-
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
body { font-family: monospace; color: #000000; background-color: #ffffff; }
 
-
.lnr { color: #888888; background-color: #e6e6e6; }
 
-
.Comment { color: #0000ee; font-style: italic; }
 
-
.Special { color: #8a2be2; }
 
-
.Statement { color: #b03060; font-weight: bold; }
 
-
.Constant { color: #ff8c00; }
 
-
.Identifier { color: #458b74; }
 
-
-->
 
-
</style>
 
-
</head>
 
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
<pre>
<pre>
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span>Pt<span class="Identifier">]</span> = FluoroLP (Pf, concentrationsP)
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span>Pt<span class="Identifier">]</span> = FluoroLP (Pf, concentrationsP)
Line 557: Line 480:
<span class="lnr">29 </span><span class="Statement">end</span>
<span class="lnr">29 </span><span class="Statement">end</span>
</pre>
</pre>
 +
</div>
 +
<p>
<p>
Line 578: Line 503:
</p>
</p>
 +
<!--
<head>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Line 586: Line 512:
<meta name="settings" content="use_css,number_lines">
<meta name="settings" content="use_css,number_lines">
<style type="text/css">
<style type="text/css">
-
<!--
+
 
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
body { font-family: monospace; color: #000000; background-color: #ffffff; }
body { font-family: monospace; color: #000000; background-color: #ffffff; }
Line 595: Line 521:
.Comment { color: #0000ee; font-style: italic; }
.Comment { color: #0000ee; font-style: italic; }
.Identifier { color: #458b74; }
.Identifier { color: #458b74; }
-
-->
+
 
</style>
</style>
</head>
</head>
 +
-->
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
<pre>
<pre>
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> ETF <span class="Identifier">]</span> = mRNAexpress ( fluortime, DNA, Rt, alpha2 )
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> ETF <span class="Identifier">]</span> = mRNAexpress ( fluortime, DNA, Rt, alpha2 )
Line 624: Line 553:
<span class="lnr">23 </span><span class="Statement">end</span>
<span class="lnr">23 </span><span class="Statement">end</span>
</pre>
</pre>
 +
</div>
 +
<p>
<p>
Line 644: Line 575:
     where Tl is translational efficiency, beta is the protein degradation coefficient, and [P] is the protein concentration.
     where Tl is translational efficiency, beta is the protein degradation coefficient, and [P] is the protein concentration.
</p>
</p>
 +
 +
<!--
 +
<head>
 +
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 +
<title>~/Desktop/MATLAB/proteinexpress.m.html</title>
 +
<meta name="Generator" content="Vim/7.3">
 +
<meta name="plugin-version" content="vim7.3_v6">
 +
<meta name="syntax" content="matlab">
 +
<meta name="settings" content="use_css,number_lines">
 +
<style type="text/css">
 +
 +
pre { font-family: monospace; color: #000000; background-color: #ffffff; }
 +
body { font-family: monospace; color: #000000; background-color: #ffffff; }
 +
.lnr { color: #888888; background-color: #e6e6e6; }
 +
.Special { color: #8a2be2; }
 +
.Constant { color: #ff8c00; }
 +
.Statement { color: #b03060; font-weight: bold; }
 +
.Comment { color: #0000ee; font-style: italic; }
 +
.Identifier { color: #458b74; }
 +
 +
</style>
 +
</head>
 +
-->
 +
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
 +
<pre>
 +
<span class="lnr"> 1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> Tl <span class="Identifier">]</span> = proteinexpress (DNA, Pt, ETF, alpha2, beta2)
 +
<span class="lnr"> 2 </span><span class="Comment">%proteinexpress</span>
 +
<span class="lnr"> 3 </span>
 +
<span class="lnr"> 4 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
 +
<span class="lnr"> 5 </span><span class="Comment">%differential equation comes from: dP./dt = Trans * RNA - beta * P%</span>
 +
<span class="lnr"> 6 </span><span class="Comment">%want to solve for Trans, the translational efficiency            %</span>
 +
<span class="lnr"> 7 </span><span class="Comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
 +
<span class="lnr"> 8 </span>
 +
<span class="lnr"> 9 </span><span class="Statement">for</span> k = <span class="Constant">1</span>:length(Pt)
 +
<span class="lnr">10 </span>    Trans(k) = Pt(k) <span class="Statement">./</span> (ETF <span class="Statement">*</span> DNA <span class="Statement">./</span> (alpha2 <span class="Statement">*</span> beta2) <span class="Statement">*</span><span class="Comment">...</span>
 +
<span class="lnr">11 </span>    (<span class="Constant">1</span> <span class="Statement">-</span> <span class="Statement">exp</span>(<span class="Statement">-</span>beta2 <span class="Statement">*</span> (k <span class="Statement">-</span> <span class="Constant">1</span>))) <span class="Statement">-</span> ETF <span class="Statement">*</span> DNA <span class="Statement">./</span> (alpha2 <span class="Statement">*</span><span class="Comment">...</span>
 +
<span class="lnr">12 </span>    (<span class="Statement">-</span>alpha2 <span class="Statement">+</span> beta2)) <span class="Statement">*</span> (<span class="Statement">exp</span>(<span class="Statement">-</span>alpha2 <span class="Statement">*</span> (k <span class="Statement">-</span> <span class="Constant">1</span>)) <span class="Statement">-</span> <span class="Statement">exp</span>(<span class="Statement">-</span>beta2 <span class="Statement">*</span> (k <span class="Statement">-</span> <span class="Constant">1</span>))))<span class="Special">;</span>
 +
<span class="lnr">13 </span><span class="Statement">end</span>
 +
<span class="lnr">14 </span>
 +
<span class="lnr">15 </span><span class="Comment">%for k = 1:length(ETF)</span>
 +
<span class="lnr">16 </span><span class="Comment">%    Pt(k) = Trans * (ETF(k) * DNA ./ (alpha2 * beta2) * (1 -...</span>
 +
<span class="lnr">17 </span><span class="Comment">%    exp(-beta2 * (k - 1))) - ETF(k) * DNA ./ (alpha2 *...</span>
 +
<span class="lnr">18 </span><span class="Comment">%    (-alpha2 + beta2)) * (exp(-alpha2 * (k - 1)) - ...</span>
 +
<span class="lnr">19 </span><span class="Comment">%    exp(-beta2 * (k - 1))));</span>
 +
<span class="lnr">20 </span><span class="Comment">%    </span>
 +
<span class="lnr">21 </span><span class="Comment">%end</span>
 +
<span class="lnr">22 </span>
 +
<span class="lnr">23 </span>Tl = <span class="Statement">mean</span>(Trans)<span class="Special">;</span>
 +
<span class="lnr">24 </span><span class="Statement">end</span>
 +
</pre>
 +
</div>
 +
<p>
<p>
     <strong>PoPS.m</strong>
     <strong>PoPS.m</strong>
Line 655: Line 640:
</p>
</p>
<p>
<p>
-
     where n is the approximate number of the promoters of interest in a cell (i.e. plasmid copy).
+
     where n is the approximate number of the promoters of interest in a cell (i.e., plasmid copy).
</p>
</p>
 +
 +
 +
<div class="slide" style="cursor: pointer; color: #990000;">-->Click to Show/Hide Code<--</div>
 +
<div class="view">
 +
<pre>
 +
<span class="lnr">1 </span><span class="Identifier">function</span> <span class="Identifier">[</span> PoPS <span class="Identifier">]</span> = PoPS( alpha2, beta2, Pt, Tl )
 +
<span class="lnr">2 </span><span class="Comment">%This function calculates Polymerase per second given a few parameters</span>
 +
<span class="lnr">3 </span><span class="Comment">%This equation is valid at steady state.</span>
 +
<span class="lnr">4 </span>
 +
<span class="lnr">5 </span>n = <span class="Constant">1</span><span class="Special">;</span>
 +
<span class="lnr">6 </span>PoPS = alpha2 <span class="Statement">*</span> beta2 <span class="Statement">*</span> Pt <span class="Statement">./</span> (n <span class="Statement">*</span> Tl)<span class="Special">;</span>
 +
<span class="lnr">7 </span>
 +
<span class="lnr">8 </span><span class="Statement">end</span>
 +
</pre>
 +
</div>
<p>
<p>
     <strong> </strong>
     <strong> </strong>
</p>
</p>
 +
<p>
<p>
-
  <h1 id = "section1-3" align="center" /><div class="glow1"><b>Outputs</b></div><br /><br /></h1>
+
  <h1 id = "section1-3">Outputs</h1>
</p>
</p>
 +
<br />
 +
<p>
<p>
     The model outputs polymerase per second, although transcriptional efficiency and translational efficiency are also important factors in the model.
     The model outputs polymerase per second, although transcriptional efficiency and translational efficiency are also important factors in the model.
-
     Derivations of these equations can be found on the derivations page.
+
     Derivations of these equations can be found on the <a href = "https://2012.igem.org/Team:Carnegie_Mellon/Mod-Derivations">derivations page</a>.
</p>
</p>

Latest revision as of 03:34, 27 October 2012

Image:CMU_image6.jpeg




Inputs

The inputs to the model are the measurement tables of concentration of dye vs. time. Optional inputs to the model include an in vitro measurement of saturation of the dye, and measurements of the fluorescence of the dye with mRNA and protein synthesis turned off. The first optional measurement can be used to compare the in vitro fluorescence saturation levels with the in vivo fluorescence saturation levels in order to give a scaling factor for the all the measurements in the input. Estimations can be used in place of these to simplify the number of inputs. The second optional measurement can be used to determine the degradation rates of mRNA and protein.

The equations for the model can be found here.

Walkthrough

Fluoro2.m

This function is the function that is called to run the entire program. In addition, it takes the mRNA titration tables (modeldata) and converts it into fluorescent mRNA concentrations. It then passes the degradation data to the degradation functions, Degradation.m and DegradationP.m to return alpha2 and beta2, the degradation coefficients.

-->Click to Show/Hide Code<--
 1 function [ PoPSans ] = Fluoro2( matrix, matrix2, DNA, modeldata )
 2 %Fluoro 2: This function takes in a matrix of titrations and determines
 3 %both the possible percentage for bound mRNA as well as the actual
 4 %fluorescent mRNA concentration from fluorescent input values.
 5 
 6 
 7 controlc = matrix(end,:); %concentration and fluorescence of the control
 8 controlconc = controlc(1); %concentration of dye for the control
 9 controldat = controlc(1:end); %fluorescence of the control
10 maxc = max(controldat);
11 concs = matrix(:,1); %concentrations of the dye in the wells
12 concs1 = concs(1:(end - 2));
13 controlmax = maxc;
14 
15 Rf = [];
16 
17 for i = 2:size(matrix, 2);
18     fluordat = matrix(:,i); %fluoroscence data at some time point
19     fluordat1 = fluordat(1:(end - 2));
20     s = fitoptions('Method', 'NonlinearLeastSquares', 'Startpoint',...
21     [fluordat1(end), 1/(controlconc)]);
22     g = fittype('a * (1 - exp(b * (-x)))', 'coefficients', {'a', 'b'},...
23     'options', s);
24     h = fit(concs1, fluordat1, g);
25     coeffvals = coeffvalues(h);
26     %figure(i);
27     %plot(h, concs1, fluordat1)
28     factorScale = coeffvals(1) / controlmax;
29                 %scaling factor from in vitro to in vivo
30     for j = 1:size(concs1);
31         if abs(h(concs1(j)) - h(1)) <= (.2 * h(1));
32             Rf(i - 1) = concs1(j) * factorScale;
33             break
34         end
35     end
36 
37 end
38 time = matrix(1,:);
39 fluortime = time(2:size(matrix, 2));
40 
41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 %Section for Transcriptional Efficiency      %
43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 
45 Rt = FluoroLR(Rf, fluortime);
46 
47 
48 alpha2 = Degradation(modeldata);
49 
50 ETF = mRNAexpress(fluortime, DNA, Rt, alpha2);
51 %ETF = mean(ETF);
52 
53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 %Section for Translational Efficiency        %
55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 
57 Pt = ProteinFunctions(matrix2);
58 
59 beta2 = DegradationP(modeldata);
60 
61 Tl = proteinexpress(DNA, Pt, ETF, alpha2, beta2);
62 
63 %Tl = proteinexpress(DNA, 1.6, ETF, alpha2, beta2)
64 
65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 %Section for Polymerase per Second           %
67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 
69 PoPSans = PoPS(alpha2, beta2, Pt, Tl);
70 
71 end

Degradation.m

This function takes in mRNA fluorescence data with mRNA synthesis turned off. This makes determining degradation rates easier, as all the change (as we will define degradation) in the mRNA concentration will be due to degradation. The function takes the data and fits a curve to the data, in the process calculating the degradation rate.

-->Click to Show/Hide Code<--
 1 function [ alpha2 ] = Degradation ( modeldata )
 2 dRi = modeldata(:,3);
 3 time = modeldata(:,1);
 4 %dRi(length(dRi),:) = [];
 5 C = max(dRi);
 6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 7 %Differential Equation: dRi./dt = alpha * Rt%
 8 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 9 
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 %dRi is the fluorescence measurements of RNA during degradation only%
12 %alpha is the desired result, so we solve the diff eq               %
13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14 
15 for i = 1:(length(dRi));
16     if dRi(i) ~= 0 && time(i) ~= 0
17         alpha(i) = log(dRi(i) ./ C) ./ time(i);
18     else
19         alpha(i) = log(dRi(2) ./ C) ./ time(2);
20     end
21 end
22 alpha;
23 alpha2 = -mean(alpha);
24 %Rdegra = Rt * alpha2;
25 
26 end

DegradationP.m

This function has a similar role to Degradation.m. This function takes in protein fluorescence data with protein synthesis turned off. This function, similarly to Degradation.m, takes the data and fits a curve to the data.

The degradation functions return alpha2 and beta2 to Fluoro2.m. Fluoro2.m then calls ProteinFunctions.m to convert the protein titration data to fluorescent protein concentrations.

-->Click to Show/Hide Code<--
 1 function [ beta2 ] = DegradationP ( modeldata )
 2 %DegradationP
 3 
 4 dPi = modeldata(:,6);
 5 timeP = modeldata(:,1);
 6 %dRi ./ dt = alpha * Ri, solution: R = Ce^(alpha t) ./ alpha
 7 C1 = max(dPi);
 8 %ln(Ri ./ C) ./ t = alpha
 9 for i = 1:length(dPi)
10     if dPi(i) ~= 0 && timeP(i) ~= 0
11         beta(i) = log(dPi(i) ./ C1) ./ timeP(i);
12     else
13         beta(i) = log(dPi(2) ./ C1) ./ timeP(2);
14     end
15 end
16 
17 beta2 = -mean(beta);
18 %Pdegra = beta2 * Pt;
19 end

ProteinFunctions.m

This function does the same thing as Fluoro2.m with the mRNA titration data. It returns fluorescent protein concentrations over time.

Fluoro2.m takes the fluorescent protein and fluorescent mRNA concentrations and passes them to FluoroLR.m and FluoroLP.m to convert to total protein and total mRNA concentrations.

-->Click to Show/Hide Code<--
 1 function [ Pt ] = ProteinFunctions( matrix)
 2 %UNTITLED Summary of this function goes here
 3 %   Detailed explanation goes here
 4 
 5 controlc = matrix(end,:); %concentration and fluorescence of the control
 6 controlconc = controlc(1); %concentration of dye for the control
 7 controldat = controlc(1:end); %fluorescence of the control
 8 maxc = max(controldat);
 9 concs = matrix(:,1); %concentrations of the dye in the wells
10 concs1 = concs(1:(end - 2));
11 controlmax = maxc;
12 
13 Pf = [];
14 
15 for i = 2:size(matrix, 2);
16     fluordat = matrix(:,i); %fluoroscence data at some time point
17     fluordat1 = fluordat(1:(end - 2));
18 
19     s = fitoptions('Method', 'NonlinearLeastSquares', 'Startpoint',...
20     [fluordat1(end), 1/(controlconc)]);
21 
22     g = fittype('a * (1 - exp(b * (-x)))', 'coefficients', {'a', 'b'},...
23     'options', s);
24 
25     h = fit(concs1, fluordat1, g);
26     coeffvals = coeffvalues(h);
27     %figure(i);
28     %plot(h, concs1, fluordat1)
29     factorScale = coeffvals(1) / controlmax;...
30         %scaling factor from in vitro to in vivo
31     for j = 1:size(concs1);
32         if abs(h(concs1(j)) - h(1)) <= (.2 * h(1));
33             Pf(i - 1) = concs1(j) * factorScale;
34             break
35         end
36     end
37 
38 end
39 time = matrix(1,:);
40 fluortime = time(2:size(matrix, 2));
41 
42 Pt = FluoroLP (Pf, fluortime);
43 
44 end
45 

FluoroLR.m

This function takes in fluorescent mRNA concentrations and converts it to mRNA concentrations using first-order chemical reactions. One dye molecule will bond to one mRNA molecule, creating an mRNA-dye complex. This leads to a rather simple conversion using the known dye concentration.

\begin{equation}K_{D_R} = \frac{[R_f]}{([R]_0 - [R_f])([D_R]_0 - [R_f])}\end{equation}

where KDR is the dissociation constant, $[Rf]$ is the fluorescent mRNA concentration, $[R]$ is the mRNA concentration, and $[D_R]$ is the dye concentration.

-->Click to Show/Hide Code<--
 1 function [Rt] = FluoroLR (Rf, concentrations)
 2 %DFHBI = 1*10^(-9); %concentration of dye
 3 %Rfmax = 1*10^(-10);%max concentration of the mRNA
 4 KD = 464*10^(-9);
 5 
 6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 7 %Relates the mRNA fluorescence levels with the total mRNA levels%
 8 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 9 
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 %fluorescence is measured, Rf is the fluorescent mRNA concentration%
12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13 
14 %a = max(fluorescence) ./ Rfmax;
15 %Rf = zeros(length(fluorescence) - 1, 1);
16 %for i = 1:(length(fluorescence) - 1)
17 %    Rf(i) = fluorescence(i) ./ a;    
18 %end
19 
20 %%%%%%%%%%%%%%%%%%%%%%
21 %Rt is the total mRNA%
22 %%%%%%%%%%%%%%%%%%%%%%
23 
24 Rt = [];
25 for j = 1:(length(Rf))
26     Rt(j) = Rf(j) * (1 + KD ./ (concentrations(j) - Rf(j)));
27 end
28 
29 end

FluoroLP.m

This function has a similar role to FluoroLR.m, except using fluorescent protein concentrations and converting it to protein concentration.

-->Click to Show/Hide Code<--
 1 function [Pt] = FluoroLP (Pf, concentrationsP)
 2 MAG = 1*10^(-9); %concentration of dye
 3 Pfmax = 1*10^(-10);  %max concentration of the protein
 4 KD2 = 464*10^(-9);
 5 
 6 
 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 8 %Relates the protein fluorescence levels with the total protein levels%
 9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10 
11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 %fluorescence is measured, Pf is the fluorescent protein concentration%
13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14 
15 %b = max(fluorescenceP) ./ Pfmax;
16 %Pf = zeros(length(fluorescenceP), 1);
17 %for i = 1:(length(fluorescenceP))
18 %    Pf(i) = fluorescenceP(i) ./ b;
19 %end
20 
21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22 %Pt is the total protein concentration%
23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24 
25 Pt = [];
26 for j = 1:(length(concentrationsP))
27     Pt(j) = Pf(j) * (1 + KD2 ./ (concentrationsP(j) - Pf(j)));
28 end
29 end

mRNAexpress.m

Fluoro2.m then takes the total mRNA concentrations passed by FluoroLR.m and passes it to mRNAexpress.m, which calculates the transcriptional efficiency. This is done via the differential equation

\begin{equation}\frac{d[R]}{dt} = Ts \cdot [D] - \alpha \cdot [R]\end{equation}

to which the solution is

\begin{equation} Ts = \frac{[R] \cdot \alpha}{[D] \cdot (1 - e^{-\alpha \cdot t})}\end{equation}

where $[R]$ is mRNA concentration, $Ts$ is transcriptional efficiency, $[D]$ is DNA concentration, and $\alpha$ is the mRNA degradation coefficient.

-->Click to Show/Hide Code<--
 1 function [ ETF ] = mRNAexpress ( fluortime, DNA, Rt, alpha2 )
 2 %mRNA expression model
 3 
 4 %%%%%%%%%%%%%%%%%
 5 %DNA is measured%
 6 %%%%%%%%%%%%%%%%%
 7 
 8 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 9 %ET is the transcriptional efficiency, ETF is the average%
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 
12 for k = 1:(length(Rt))
13     if fluortime(k) ~= 0
14         ET(k) = Rt(k) * alpha2 ./ DNA ./(1 - exp(-alpha2 * (fluortime(k))));
15     else
16         ET(k) = Rt(k) * alpha2 ./ DNA ./(1 - exp(-alpha2 * (.2)));
17     end
18 end
19 ET;
20 ET = ET(2:end);
21 ETF = mean(ET);
22 %ETF = ET;
23 end

proteinexpress.m

Fluoro2.m takes the transcriptional efficiency from mRNAexpress.m, total protein concentrations from FluoroLP.m, and alpha2 and beta2 from Degradation.m and DegradationP.m, and passes them to proteinexpress.m. proteinexpress.m computes the translational efficiency using the differential equation

\begin{equation}\frac{d[P]}{dt} = [R] \cdot Tl - \beta \cdot [P]\end{equation}

to which the solution is

\begin{equation}Tl = \frac{[P]}{\frac{Ts \cdot [D]}{(\alpha \cdot \beta)} \cdot (1 - e^{-\beta \cdot t}) - \frac{Ts \cdot [D]}{\alpha \cdot (-\alpha + \beta)} \cdot (e^{-\alpha \cdot t} - e^{-\beta \cdot t})} \label{eq:Tl}\end{equation}

where Tl is translational efficiency, beta is the protein degradation coefficient, and [P] is the protein concentration.

-->Click to Show/Hide Code<--
 1 function [ Tl ] = proteinexpress (DNA, Pt, ETF, alpha2, beta2)
 2 %proteinexpress
 3 
 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 5 %differential equation comes from: dP./dt = Trans * RNA - beta * P%
 6 %want to solve for Trans, the translational efficiency            %
 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 8 
 9 for k = 1:length(Pt)
10     Trans(k) = Pt(k) ./ (ETF * DNA ./ (alpha2 * beta2) *...
11     (1 - exp(-beta2 * (k - 1))) - ETF * DNA ./ (alpha2 *...
12     (-alpha2 + beta2)) * (exp(-alpha2 * (k - 1)) - exp(-beta2 * (k - 1))));
13 end
14 
15 %for k = 1:length(ETF)
16 %    Pt(k) = Trans * (ETF(k) * DNA ./ (alpha2 * beta2) * (1 -...
17 %    exp(-beta2 * (k - 1))) - ETF(k) * DNA ./ (alpha2 *...
18 %    (-alpha2 + beta2)) * (exp(-alpha2 * (k - 1)) - ...
19 %    exp(-beta2 * (k - 1))));
20 %    
21 %end
22 
23 Tl = mean(Trans);
24 end

PoPS.m

Fluoro2.m passes to the final function alpha2 and beta2 from Degradation.m and DegradationP.m, total protein concentration from FluoroLP.m, and translational efficiency from proteinexpress.m. PoPS.m calculates the approximate polymerase per second using the equation

\begin{equation}PoPS = \frac{\alpha \cdot \beta \cdot [P]}{n \cdot Tl} \label{eq:PoPS}\end{equation}

where n is the approximate number of the promoters of interest in a cell (i.e., plasmid copy).

-->Click to Show/Hide Code<--
1 function [ PoPS ] = PoPS( alpha2, beta2, Pt, Tl )
2 %This function calculates Polymerase per second given a few parameters
3 %This equation is valid at steady state.
4 
5 n = 1;
6 PoPS = alpha2 * beta2 * Pt ./ (n * Tl);
7 
8 end

Outputs


The model outputs polymerase per second, although transcriptional efficiency and translational efficiency are also important factors in the model. Derivations of these equations can be found on the derivations page.

Image:TartanFooter.jpeg