Difference between revisions of "Team:USTC/Software"

Line 114: Line 114:
 
<p>This is the final program used to get our NDM calibration. Based on this software program, we are able to count the number of bright fringes. As a matter of fact, the variation of bright fringes is the key breakthrough to antibiotic analysis.</p>
 
<p>This is the final program used to get our NDM calibration. Based on this software program, we are able to count the number of bright fringes. As a matter of fact, the variation of bright fringes is the key breakthrough to antibiotic analysis.</p>
 
<p>Code</p>
 
<p>Code</p>
<pre><code id="code">function seeim(i)
+
<div><textarea id="code3" name="code">function seeim(i)
 
name=num2str(i);
 
name=num2str(i);
 
I=imread(name,'pnm');
 
I=imread(name,'pnm');
 
G=rgb2gray(I);
 
G=rgb2gray(I);
 
imshow(G);
 
imshow(G);
</code></pre><p>Demo<br><img src="https://static.igem.org/mediawiki/2015/2/2d/20150919072.png" alt="Figure 4: Checking figure program"></p>
+
</textarea></div><p>Demo<br><img src="https://static.igem.org/mediawiki/2015/2/2d/20150919072.png" alt="Figure 4: Checking figure program"></p>
<pre><code id="code">function A=getfr(i)
+
<div><textarea id="code4" name="code">function A=getfr(i)
 
name=num2str(i);
 
name=num2str(i);
 
I=imread(name,'pnm');
 
I=imread(name,'pnm');
Line 137: Line 137:
 
end
 
end
 
A=r;
 
A=r;
</code></pre><pre><code id="code">function M=getfrs(i)
+
</textarea></div><div><textarea id="code5" name="code">function M=getfrs(i)
 
A=getfr(i);
 
A=getfr(i);
 
t=1:480;
 
t=1:480;
Line 143: Line 143:
 
[a,k]=size(pksa);
 
[a,k]=size(pksa);
 
M=a;
 
M=a;
</code></pre><p>Running result<br>ans =<br>    78</p>
+
</textarea></div><p>Running result<br>ans =<br>    78</p>
 
<p><img src="https://static.igem.org/mediawiki/2015/c/c1/20150919073.png" alt="Figure 5: Fringes counting program running result"></p>
 
<p><img src="https://static.igem.org/mediawiki/2015/c/c1/20150919073.png" alt="Figure 5: Fringes counting program running result"></p>
 
<p>To get a series of results, this program is required.</p>
 
<p>To get a series of results, this program is required.</p>
<pre><code id="code">function N=getpkss(i,j)
+
</textarea></div><div><textarea id="code6" name="code">function N=getpkss(i,j)
 
B=zeros(j-i+1,1);
 
B=zeros(j-i+1,1);
 
for m=i:j
 
for m=i:j
Line 155: Line 155:
 
end
 
end
 
N=B;
 
N=B;
</code></pre><p>Demo</p>
+
</textarea></div><p>Demo</p>
 
<p>ans =</p>
 
<p>ans =</p>
<pre><code id="code">78
+
<div><textarea id="code7" name="code">78
 
80
 
80
 
77
 
77
Line 178: Line 178:
 
81
 
81
 
79
 
79
</code></pre>
+
</textarea></div>
  
 
           </div>
 
           </div>
Line 211: Line 211:
 
<p>This program is used to count the total number of bacteria.</p>
 
<p>This program is used to count the total number of bacteria.</p>
 
<p>Code</p>
 
<p>Code</p>
<pre><code id="code">function a=shujun(i)
+
<div><textarea id="code8" name="code">function a=shujun(i)
 
name=num2str(i);
 
name=num2str(i);
 
I=imread(name,'jpg');
 
I=imread(name,'jpg');
Line 223: Line 223:
 
a=num;
 
a=num;
 
end
 
end
</code></pre><p>Demo</p>
+
</textarea></div><p>Demo</p>
 
<p>input image:<br><img src="https://static.igem.org/mediawiki/2015/0/0e/20150919074.jpg" alt="Figure 6: Adhesion Assay image"><br>output result<br>ans =<br>    865</p>
 
<p>input image:<br><img src="https://static.igem.org/mediawiki/2015/0/0e/20150919074.jpg" alt="Figure 6: Adhesion Assay image"><br>output result<br>ans =<br>    865</p>
<pre><code id="code">function A=mulshu(m)
+
<div><textarea id="code8" name="code">function A=mulshu(m)
 
A=zeros(m,1);
 
A=zeros(m,1);
 
for i=1:m
 
for i=1:m
 
     A(i,1)=shujun(i);
 
     A(i,1)=shujun(i);
 
end
 
end
</code></pre>
+
</textarea></div>
 
<div class="divider"></div>
 
<div class="divider"></div>
  
Line 236: Line 236:
 
<p>This program is used to count the total number of moving bacteria. Along with bacterial counting program, we finally got the mechanism of polylysine interaction.</p>
 
<p>This program is used to count the total number of moving bacteria. Along with bacterial counting program, we finally got the mechanism of polylysine interaction.</p>
 
<p>Code</p>
 
<p>Code</p>
<pre><code id="code">function b=act(m,n)
+
<div><textarea id="code9" name="code">function b=act(m,n)
 
s1=num2str(m);
 
s1=num2str(m);
 
s2=num2str(n);
 
s2=num2str(n);
Line 244: Line 244:
 
b=shujun(G);
 
b=shujun(G);
 
end
 
end
</code></pre><pre><code>function A=mulact(m)
+
</textarea></div><div><textarea id="code9" name="code">function A=mulact(m)
 
A=zeros(m,1);
 
A=zeros(m,1);
 
for i=1:m
 
for i=1:m
Line 254: Line 254:
 
     A(i,1)=c;
 
     A(i,1)=c;
 
end
 
end
</code></pre><p>Demo</p>
+
</textarea></div><p>Demo</p>
 
<p>ans =<br>  405 </p>
 
<p>ans =<br>  405 </p>
 
<div class="divider"></div>
 
<div class="divider"></div>
Line 260: Line 260:
 
<h4 id="Bacteria-total-number-time-curve" class="scrollspy">Bacteria total number-time curve</h4>
 
<h4 id="Bacteria-total-number-time-curve" class="scrollspy">Bacteria total number-time curve</h4>
 
<p>Coding</p>
 
<p>Coding</p>
<pre><code>function drawBT1(Ka,Kd,C,Vz,sigma0)%Ka is the adhesive rate of bacteria, Kd is the drop rate of bacteria, C is the density of bacteria solution,Vz is the velocity of bacteria,sigma0 is the maximum density of baacteria on surface
+
</textarea></div><div><textarea id="code10" name="code">function drawBT1(Ka,Kd,C,Vz,sigma0)%Ka is the adhesive rate of bacteria, Kd is the drop rate of bacteria, C is the density of bacteria solution,Vz is the velocity of bacteria,sigma0 is the maximum density of baacteria on surface
 
t=linspace(0,100,101);
 
t=linspace(0,100,101);
 
K=Ka*C*Vz/(Kd*sigma0+Ka*C*Vz);
 
K=Ka*C*Vz/(Kd*sigma0+Ka*C*Vz);
Line 266: Line 266:
 
plot(t,sigma)
 
plot(t,sigma)
 
end
 
end
</code></pre><p>Running result<br><img src="https://static.igem.org/mediawiki/2015/9/99/20150901024.png" alt="Figure 7: Movement number simulation result"></p>
+
</textarea></div><p>Running result<br><img src="https://static.igem.org/mediawiki/2015/9/99/20150901024.png" alt="Figure 7: Movement number simulation result"></p>
 
<div class="divider"></div>
 
<div class="divider"></div>
  
 
<h4 id="Bacteria-movement-number-Time-curve" class="scrollspy">Bacteria movement number-Time curve</h4>
 
<h4 id="Bacteria-movement-number-Time-curve" class="scrollspy">Bacteria movement number-Time curve</h4>
 
<p>Coding</p>
 
<p>Coding</p>
<pre><code id="code">function drawBMT(c,b,m0,k)
+
<textarea id="code11" name="code">function drawBMT(c,b,m0,k)
 
t=linspace(0,100,101);
 
t=linspace(0,100,101);
 
M=c*(1-exp(-b*t))*m0.*exp(-k*t);
 
M=c*(1-exp(-b*t))*m0.*exp(-k*t);
Line 279: Line 279:
 
title('PAO1-PLL-0 Movement number-time');
 
title('PAO1-PLL-0 Movement number-time');
 
end
 
end
</code></pre><p>Running result<br><img src="https://static.igem.org/mediawiki/2015/8/88/20150907052.png" alt="Figure8:Bacteria movement number-Time simulation result"></p>
+
</textarea></div><p>Running result<br><img src="https://static.igem.org/mediawiki/2015/8/88/20150907052.png" alt="Figure8:Bacteria movement number-Time simulation result"></p>
 
           </div>
 
           </div>
 
         </div>
 
         </div>
Line 309: Line 309:
 
<p>This program is used to predict the advantages of ROSE construction. We successfully demonstrate our ROSE will be able to amplify fluorescence siganl.</p>
 
<p>This program is used to predict the advantages of ROSE construction. We successfully demonstrate our ROSE will be able to amplify fluorescence siganl.</p>
 
<p>Code</p>
 
<p>Code</p>
<pre><code id="code">clear all
+
<textarea id="code12" name="code">clear all
 
R=R,k=k,k1=k1,k2=k2,k3=k3,k4=k4,k5=k5,k6=k6,k7=k7,k0=k0; %define the constant
 
R=R,k=k,k1=k1,k2=k2,k3=k3,k4=k4,k5=k5,k6=k6,k7=k7,k0=k0; %define the constant
 
t=linspace(0,10); %detecting time range
 
t=linspace(0,10); %detecting time range
Line 328: Line 328:
 
hold on
 
hold on
 
plot(k0*t,t); %print the traditional strategy result in the same image
 
plot(k0*t,t); %print the traditional strategy result in the same image
</code></pre><p>Demo</p>
+
</textarea></div><p>Demo</p>
 
<p><img src="https://static.igem.org/mediawiki/2015/1/1b/20150906Circuit.jpg" alt="Figure 9: ROSE Dynamics simulation result" data-image-src="https://static.igem.org/mediawiki/2015/1/1b/20150906Circuit.jpg"></p>
 
<p><img src="https://static.igem.org/mediawiki/2015/1/1b/20150906Circuit.jpg" alt="Figure 9: ROSE Dynamics simulation result" data-image-src="https://static.igem.org/mediawiki/2015/1/1b/20150906Circuit.jpg"></p>
 
           </div>
 
           </div>
Line 359: Line 359:
 
       });
 
       });
  
       var editor2 = CodeMirror.fromTextArea(document.getElementById("code2"), {
+
       var editor = CodeMirror.fromTextArea(document.getElementById("code2"), {
 
         mode: {name: "octave",
 
         mode: {name: "octave",
 
               version: 2,
 
               version: 2,
Line 367: Line 367:
 
         matchBrackets: true
 
         matchBrackets: true
 
       });
 
       });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code3"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code4"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code5"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code6"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code7"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code8"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code9"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code10"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code11"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
      var editor = CodeMirror.fromTextArea(document.getElementById("code12"), {
 +
        mode: {name: "octave",
 +
              version: 2,
 +
              singleLineStringErrors: false},
 +
        lineNumbers: true,
 +
        indentUnit: 4,
 +
        matchBrackets: true
 +
      });
 +
 +
 
     </script>
 
     </script>
 
</html>
 
</html>
 
{{USTC/footer}}
 
{{USTC/footer}}

Revision as of 23:56, 18 September 2015

In this section, we will introduce all the software program we used when processing our modeling and experimental data. Through our modeling, many complicated processdures are simply omitted by our convenient programs.

In general, our software programs are used in several sections,

  • Fringes Analysis, analysis of interference pattern.
  • Adhesion Dynamics, a series of programs relating to bacteria adhesion dynamics.
  • Rose Prediction, which calculate the advantages of our ROSE improvement.

All software of our project, you can download them at Github:2015USTCiGEM. All codes are based on

Fringes Pattern Simulation-Film I

This program is used to simulate fringes pattern deliverd by film I.

Code:

Demo
Figure 1: Film II deformation simulation result

After the formation of demo, we are able to recongize the real situation in our pre-experiment.

Fringes Pattern Simulation-Film II

This program is used to simulate fringes pattern deliverd by film II.

Code

Demo
Figure 2 :Film II deformation simulation result

Film I Fringes Analysis

Using this code, we are able to capture some important parameters in Film I.

Code

Demo
Figure 3 : Film I Fringes analysis running result

Film II Fringes Analysis-Fringes number analysis

This is the final program used to get our NDM calibration. Based on this software program, we are able to count the number of bright fringes. As a matter of fact, the variation of bright fringes is the key breakthrough to antibiotic analysis.

Code

Demo
Figure 4: Checking figure program

Running result
ans =
78

Figure 5: Fringes counting program running result

To get a series of results, this program is required.

Demo

ans =

During analysis of ahdesion assay results, we are quite annoyed about counting total bacteria number and moving bacteria number, which is really important for mechanism analysis and results determination. Consequently, this part explains how we efficiently accomplished these tough work based on our software.

Bacteria counting program

This program is used to count the total number of bacteria.

Code

Demo

input image:
Figure 6: Adhesion Assay image
output result
ans =
865

Moving Bacteria Counting Program

This program is used to count the total number of moving bacteria. Along with bacterial counting program, we finally got the mechanism of polylysine interaction.

Code

Demo

ans =
405

Bacteria total number-time curve

Coding

Running result
Figure 7: Movement number simulation result

Bacteria movement number-Time curve

Coding

Running result
Figure8:Bacteria movement number-Time simulation result

This program is used to predict the advantages of ROSE construction. We successfully demonstrate our ROSE will be able to amplify fluorescence siganl.

Code

Demo

Figure 9: ROSE Dynamics simulation result