Difference between revisions of "Team:TAS Taipei/Software"

 
(18 intermediate revisions by 2 users not shown)
Line 109: Line 109:
 
                 <ul class="nav">
 
                 <ul class="nav">
 
                     <li>
 
                     <li>
                         <a href="#PM" class="pageNavBig">PR CALCULAOTR</a>
+
                         <a href="#PM" class="pageNavBig">PR CALCULATOR</a>
 
                     </li>
 
                     </li>
 
                     <li>
 
                     <li>
Line 132: Line 132:
 
                     <div class="row">
 
                     <div class="row">
 
                         <h4 class="para col-lg-12">
 
                         <h4 class="para col-lg-12">
                             We’ve created four calculators based on our modeling data to <b>inform WWTP managers on the amount of Proteorhodopsin (PR) bacteria or biofilm-coated biocarriers they need to remove nanoparticles (NPs)</b>. Imagine yourself as a WWTP manager and try our PR and biofilm calculators below!
+
                             Learn more about modeling for: <br>
                        </h4>
+
                             &nbsp;&nbsp;&nbsp;<a href="https://goo.gl/Ko1uWz">PR bacteria</a> <br>
                    </div>
+
                            &nbsp;&nbsp;&nbsp;<a href="https://goo.gl/AATnBD">Biofilm</a> <br><br>
                    <div class="row">
+
                             Download our calculators <a href="https://github.com/igemsoftware2017/TAS_Taipei/releases/tag/1.0.0">here.</a>  
                        <h4 class="para col-lg-12">
+
                             Learn more about <a href="https://goo.gl/Ko1uWz">PR bacteria</a> and <a href="https://goo.gl/AATnBD">biofilm</a> modeling!<br><br>
+
                             Download our calculators <a href="https://github.com/xXMaelstromXx/TAS_Taipei/releases">here</a>.
+
 
                         </h4>
 
                         </h4>
 
                     </div>
 
                     </div>
Line 150: Line 147:
 
                         <h4 class="para col-lg-12">
 
                         <h4 class="para col-lg-12">
 
                             <b>PR_Runner is a calculator that outputs the final NP concentration</b> given the following inputs: initial NP concentration, initial PR bacteria concentration and intended time. Try the PR_Runner calculator below!   
 
                             <b>PR_Runner is a calculator that outputs the final NP concentration</b> given the following inputs: initial NP concentration, initial PR bacteria concentration and intended time. Try the PR_Runner calculator below!   
                        </h4>
 
                    </div>
 
                    <div class="row">
 
                        <h4 class="section-title-2 col-lg-12">
 
                            <b>PR_Runner</b>
 
 
                         </h4>
 
                         </h4>
 
                     </div>
 
                     </div>
Line 174: Line 166:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td><button onclick = "calculate3()">Calculate!</button></td>
+
                                             <td colspan="2"><button onclick = "calculate3()">Calculate!</button></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr><td colspan=2>Initial Bacteria Concentration Needed (# of bacteria/microliter):
 
                                         <tr><td colspan=2>Initial Bacteria Concentration Needed (# of bacteria/microliter):
Line 187: Line 179:
 
                         <h4 class="para col-lg-12">
 
                         <h4 class="para col-lg-12">
 
                             <b>ReversePR_Runner is a calculator that outputs the final bacteria concentration</b> given the following inputs: initial and target NP concentration and intended retention time. Try the ReversePR_Runner calculator below!
 
                             <b>ReversePR_Runner is a calculator that outputs the final bacteria concentration</b> given the following inputs: initial and target NP concentration and intended retention time. Try the ReversePR_Runner calculator below!
                        </h4>
 
                    </div>
 
                    <div class="row">
 
                        <h4 class="section-title-2 col-lg-12">
 
                            <b>ReversePR_Runner</b>
 
 
                         </h4>
 
                         </h4>
 
                     </div>
 
                     </div>
Line 211: Line 198:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td><button onclick = "calculate2()">Calculate!</button></td>
+
                                             <td colspan="2"><button onclick = "calculate2()">Calculate!</button></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr><td colspan=2>Resulting NP Concentration (micromolar): <span id="NPResultConc">&nbsp;&nbsp;&nbsp;</span>
 
                                         <tr><td colspan=2>Resulting NP Concentration (micromolar): <span id="NPResultConc">&nbsp;&nbsp;&nbsp;</span>
Line 225: Line 212:
 
                     <div class="row">
 
                     <div class="row">
 
                         <h4 class="para col-lg-12">
 
                         <h4 class="para col-lg-12">
                             <b>Biofilm_Runner is a calculator that outputs the NP concentration of the effluent</b> given the following inputs: initial NP concentration, velocity of water in contact with biofilm, total volume of container, time for biofilm to be in contact with NP solution, and the number of biocarriers used. Try the Biofilm_Runner calculator below!
+
                             <b>Biofilm_Runner is a calculator that outputs the NP concentration of the effluent</b> given the following inputs: initial NP concentration, speed of water in contact with biofilm, total volume of container, time for biofilm to be in contact with NP solution, and the number of biocarriers used. Try the Biofilm_Runner calculator below!
                        </h4>
+
                    </div>
+
                    <div class="row">
+
                        <h4 class="section-title-2 col-lg-12">
+
                            <b>Biofilm_Runner</b>
+
 
                         </h4>
 
                         </h4>
 
                     </div>
 
                     </div>
Line 242: Line 224:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td>Velocity of water in contact with biofilm (cm/sec)</td>
+
                                             <td>Speed of water in contact with biofilm (cm/min)</td>
 
                                             <td><input type="number" id="velocity" value="0"></td>
 
                                             <td><input type="number" id="velocity" value="0"></td>
 
                                         </tr>
 
                                         </tr>
Line 250: Line 232:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td>Time for biofilm to be in contact with NP solution (seconds)</td>
+
                                             <td>Time for biofilm to be in contact with NP solution (minutes)</td>
 
                                             <td><input type="number" id="biot" value="0"></td>
 
                                             <td><input type="number" id="biot" value="0"></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td>Surface Area of biofilm used</td>
+
                                             <td># of biocarriers used (SA of 44.8 cm<sup>2</sup> each)</td>
 
                                             <td><input type="number" id="SA" value="0"></td>
 
                                             <td><input type="number" id="SA" value="0"></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td><button onclick = "calculate()">Calculate!</button></td>
+
                                             <td colspan="2"><button onclick = "calculate()">Calculate!</button></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr><td colspan=2>Resulting Nanoparticle Concentration (micromolar): <span id="bioNPResultConc">&nbsp;&nbsp;&nbsp;</span>
 
                                         <tr><td colspan=2>Resulting Nanoparticle Concentration (micromolar): <span id="bioNPResultConc">&nbsp;&nbsp;&nbsp;</span>
Line 269: Line 251:
 
                     <div class="row">
 
                     <div class="row">
 
                         <h4 class="para col-lg-12">
 
                         <h4 class="para col-lg-12">
                             <b>ReverseBiofilm_Runner is a calculator that outputs the number of biocarriers</b> needed given the following inputs: initial and target NP concentration, velocity of water in contact with biofilm, total volume of container, and time for biofilm to be in contact with NP solution. Try the ReverseBiofilm_Runner calculator below!
+
                             <b>ReverseBiofilm_Runner is a calculator that outputs the number of biocarriers</b> needed given the following inputs: initial and target NP concentration, speed of water in contact with biofilm, total volume of container, and time for biofilm to be in contact with NP solution. Try the ReverseBiofilm_Runner calculator below!
                        </h4>
+
                    </div>
+
                    <div class="row">
+
                        <h4 class="section-title-2 col-lg-12">
+
                            <b>ReverseBiofilm_Runner</b>
+
 
                         </h4>
 
                         </h4>
 
                     </div>
 
                     </div>
Line 290: Line 267:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td>Velocity of Water in contact with Biofilm (cm/s)</td>
+
                                             <td>Speed of Water in contact with Biofilm (cm/min)</td>
 
                                             <td><input type="number" id="velocity2" value="0"></td>
 
                                             <td><input type="number" id="velocity2" value="0"></td>
 
                                         </tr>
 
                                         </tr>
Line 298: Line 275:
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td>Total time biofilm is in contact with NP solution (s)</td>
+
                                             <td>Total time biofilm is in contact with NP solution (minutes)</td>
 
                                             <td><input type="number" id="biottwo" value="0"></td>
 
                                             <td><input type="number" id="biottwo" value="0"></td>
 
                                         </tr>
 
                                         </tr>
 
                                         <tr>
 
                                         <tr>
                                             <td><button onclick = "calculate4()">Calculate!</button></td>
+
                                             <td colspan="2"><button onclick = "calculate4()">Calculate!</button></td>
 
                                         </tr>
 
                                         </tr>
                                         <tr><td colspan=2>Surface Area of Biofilm Needed(cm<sup>2</sup>): <span id="bioNPResultSA">&nbsp;&nbsp;&nbsp;</span>
+
                                         <tr><td colspan=2># of biocarriers needed (SA of 44.8 cm<sup>2</sup> each): <span id="bioNPResultSA">&nbsp;&nbsp;&nbsp;</span>
 
                                         </tr>
 
                                         </tr>
 
                                     </tbody>
 
                                     </tbody>
Line 333: Line 310:
 
             }
 
             }
 
         });
 
         });
 +
        calculate = function(){
 +
            var conc = document.getElementById("conc").value;
 +
            var v = document.getElementById("velocity").value;
 +
            var SA = 44.8*document.getElementById("SA").value;
 +
            var V = document.getElementById("volume").value;
 +
            var t = document.getElementById("biot").value;
 +
            var tint = 5;
 +
            var ktrap = -0.000686;
 +
            var dNPdt = (ktrap*conc*v*SA)/(1000*V);
 +
            var resultConc = parseFloat(conc);
 +
           
 +
            for(var i = 0; i<(t/tint); i++){
 +
                dNPdt = (ktrap*resultConc*v*SA)/(1000*V);
 +
                resultConc = resultConc+tint*dNPdt;
 +
            }
 +
           
 +
            document.getElementById("bioNPResultConc").innerHTML = resultConc;
 +
        }
 +
        calculate4 = function(){
 +
            var conc = document.getElementById("Inconc").value;
 +
            var targetConc = document.getElementById("targetConc").value;
 +
            var startConc = parseFloat(conc);
 +
            var V = document.getElementById("Vtwo").value;
 +
            var v = document.getElementById("velocity2").value;
 +
            var t = document.getElementById("biottwo").value;
 +
            var SA = 1;
 +
            var tint = 5;
 +
            var ktrap = -0.00017331;
 +
            var dNPdt = (ktrap*conc*v*SA)/(1000*V);
 +
            var resultConc = parseFloat(conc);
 +
           
 +
            while(true){
 +
                resultConc = startConc;
 +
                for(var i = 0; i<(t/tint); i++){
 +
                    dNPdt = (ktrap*resultConc*v*SA)/(1000*V);
 +
                    resultConc = resultConc+tint*dNPdt;
 +
                }
 +
                if(Math.abs(resultConc-targetConc)>=0.01){
 +
                    if((resultConc-targetConc)>0){
 +
                        SA += 0.1;
 +
                    }else{
 +
                        SA -= 0.1;
 +
                    }
 +
                }else{
 +
                    break;
 +
                }
 +
            }
 +
           
 +
           
 +
            document.getElementById("bioNPResultSA").innerHTML = Math.round(SA*10000000/44.8)/10000000;
 +
        }
 +
        calculate2 = function(){
 +
            var L = document.getElementById("L").value;
 +
            var R = document.getElementById("R").value;
 +
            var C = 0;
 +
            var t = document.getElementById("t").value;
 +
            var tStep = 0.1;
 +
            var kOn = 0.00000035;
 +
            var kOff = 0.32;
 +
            var dcdt = kOn*L*R - kOff*C;
 +
 +
            for(var i = 0; i<(t/tStep); i++){
 +
                dcdt = Math.round(((kOn*L*R)-(kOff*C))*10000000)/10000000;
 +
                L = Math.round((L-(tStep*dcdt))*10000000)/10000000;
 +
                R = Math.round((R-(tStep*dcdt))*10000000)/10000000;
 +
                C = Math.round((C+(tStep*dcdt))*10000000)/10000000;
 +
            }
 +
 +
            document.getElementById("NPResultConc").innerHTML = L;
 +
        }
 +
        calculate3 = function(){
 +
            var L = document.getElementById("Ltwo").value;
 +
            var StartL = L;
 +
            var targetL = document.getElementById("targetL").value;
 +
            var StartR = 500000;
 +
            var C = 0;
 +
            var t = document.getElementById("ttwo").value;
 +
            var tStep = 0.1;
 +
            var kOn = 0.00000035;
 +
            var kOff = 0.32;
 +
            var dcdt = kOn*L*R - kOff*C;
 +
            var R = 0;
 +
 +
            while(true){
 +
                R = StartR;
 +
                L = StartL;
 +
                for(var i = 0; i<(t/tStep); i++){
 +
                    dcdt = Math.round(((kOn*L*R)-(kOff*C))*100000000)/100000000;
 +
                    L = Math.round((L-(tStep*dcdt))*100000000)/100000000;
 +
                    R = Math.round((R-(tStep*dcdt))*100000000)/100000000;
 +
                    C = Math.round((C+(tStep*dcdt))*100000000)/100000000;
 +
                }
 +
                if(Math.round((Math.abs(L-targetL)*100000000)/100000000)>=0.0001){
 +
                    if((L-targetL)>0){ 
 +
                        StartR += 100;
 +
                    }else{
 +
                        StartR -= 100;
 +
                    }
 +
                }else{
 +
                    break;
 +
                }
 +
            }
 +
            document.getElementById("BacteriaResultConc").innerHTML = StartR;
 +
        }
 
         $(function() {
 
         $(function() {
 
             $('.yellow').removeClass('active');
 
             $('.yellow').removeClass('active');

Latest revision as of 13:52, 1 November 2017

X

Project

Experiment

Modeling

Prototype

Human Practice

Biosafety

About Us

Attributions

Home
hi

SOFTWARE

We’ve created four calculators based on our modeling data to inform WWTP managers on the amount of Proteorhodopsin (PR) bacteria or biofilm-coated biocarriers they need to remove nanoparticles (NPs). Imagine yourself as a WWTP manager and try our PR and biofilm calculators below!

Learn more about modeling for:
   PR bacteria
   Biofilm

Download our calculators here.

PR BACTERIA CALCULATORS

PR_Runner is a calculator that outputs the final NP concentration given the following inputs: initial NP concentration, initial PR bacteria concentration and intended time. Try the PR_Runner calculator below!

Initial NP Concentration (micromolar)
Target NP Concentration (micromolar)
Retention Time (the amount of time water stays in the tank, hours)
Initial Bacteria Concentration Needed (# of bacteria/microliter):    

ReversePR_Runner is a calculator that outputs the final bacteria concentration given the following inputs: initial and target NP concentration and intended retention time. Try the ReversePR_Runner calculator below!

Initial NP Concentration (micromolar)
Initial Bacteria Concentration (# of cells/microliter)
Amount of time that can be used for the process (hours)
Resulting NP Concentration (micromolar):    

BIOFILM CALCULATORS

Biofilm_Runner is a calculator that outputs the NP concentration of the effluent given the following inputs: initial NP concentration, speed of water in contact with biofilm, total volume of container, time for biofilm to be in contact with NP solution, and the number of biocarriers used. Try the Biofilm_Runner calculator below!

Initial nanoparticle concentration (micromolar)
Speed of water in contact with biofilm (cm/min)
Total Volume of Container (L)
Time for biofilm to be in contact with NP solution (minutes)
# of biocarriers used (SA of 44.8 cm2 each)
Resulting Nanoparticle Concentration (micromolar):    

ReverseBiofilm_Runner is a calculator that outputs the number of biocarriers needed given the following inputs: initial and target NP concentration, speed of water in contact with biofilm, total volume of container, and time for biofilm to be in contact with NP solution. Try the ReverseBiofilm_Runner calculator below!

Initial NP concentration (micromolar)
Target NP Concentration (micromolar)
Speed of Water in contact with Biofilm (cm/min)
Total Volume of tank (L)
Total time biofilm is in contact with NP solution (minutes)
# of biocarriers needed (SA of 44.8 cm2 each):    

All units of the output and the inputs are included in the program. Enter as many significant digits as possible for more accurate results. To inspect the code of each .jar files, unzip with tools like 7zip or Winzip and then use BlueJ (free Java IDE) to open the package.