|
|
Line 63: |
Line 63: |
| <!--------------------------------------------------------------Widget stuff-------------------------------------------------------------> | | <!--------------------------------------------------------------Widget stuff-------------------------------------------------------------> |
| <!-------------------------------JavaScript-------------------------------> | | <!-------------------------------JavaScript-------------------------------> |
− | <script language="JavaScript"> | + | <HEAD> |
− | function biocontain(form) {
| + | <TITLE>Test Input</TITLE> |
− | alert("hello");
| + | <SCRIPT LANGUAGE="JavaScript"> |
− | <!-- var inLab;
| + | function testResults (form) { |
− | var inHuman;
| + | var TestVar = form.inputbox.value; |
− | var easeImplement;
| + | alert ("You typed: " + TestVar); |
− | var costImplement;
| + | } |
− | var easeMain;
| + | </SCRIPT> |
− | var costMain;
| + | </HEAD> |
− | var effect;
| + | <BODY> |
− | var toxic;
| + | <FORM NAME="myform" ACTION="" METHOD="GET">Enter something in the box: <BR> |
− | var tradishAux = 0;
| + | <INPUT TYPE="text" NAME="inputbox" VALUE=""><P> |
− | var synAux = 0;
| + | <INPUT TYPE="button" NAME="button" Value="Click" onClick="testResults(this.form)"> |
− | var killSwitch = 0;
| + | </FORM> |
− | var geneCircuit = 0;
| + | </BODY> |
− | var lockKey = 0;
| + | |
− | var xeno = 0;
| + | |
− | console.info("<!DOCTYPE html>");
| + | |
− | console.info("<html><head>");
| + | |
− | console.info("<meta http-equiv=\'Content-Type\' content=\'text/html; charset=UTF-8\'>");
| + | |
− | console.info("<title>Answer</title></head>");
| + | |
− | if ((inLab === "yes") && (inHuman === "yes")) {
| + | |
− | console.info("Error: You said the intended use of your system is both in the laboratory and in humans. Please fill out the form again to reflect the correct area of intended use.");
| + | |
− | }
| + | |
− | else if ((inLab === "yes")) {
| + | |
− | console.info("<p> You have no need for biocontainment, physical containment (e.g. UV radiation or bleach) will suffice for your purposes. </p>");
| + | |
− | }
| + | |
− | else if ((inHuman === "yes")) {
| + | |
− | console.info("<p> There are currently no good biocontainment methods for use in humans due to high escapee propagation. The best system we can recommend is lock and key, where the key is a molecular marker for a specific region in the body. Please refer to the bioethics section of the 2016 Virginia iGEM Biocontainment Pamphlet for more information on using synthetically modified organisms in the human body. </p>");
| + | |
− | }
| + | |
− | else {
| + | |
− | console.info("<body><h2>The best biocontainment method for your purposes is: </h2>");
| + | |
− | var sum = effect + (Math.abs(5 - easeImplement) + 1) + (Math.abs(5 - easeMain) + 1) + (Math.abs(5 - costMain) + 1) + (Math.abs(5 - costImplement) + 1);
| + | |
− | if (toxic < 4) {
| + | |
− | var row = (sum / 5 | 0);
| + | |
− | if (sum === 5) {
| + | |
− | console.info("<p> Traditional Auxotroph. Traditional auxotrophs are organisms that cannot synthesize a certain chemical necessary for survival and therefore must rely on artificial supplementation of the chemical. </p>");
| + | |
− | }
| + | |
− | else {
| + | |
− | var methodNames = ["Traditional Auxotroph. Traditional auxotrophs are organisms that cannot synthesize a certain chemical necessary for survival and therefore must rely on artificial supplementation of the chemical.", "Kill Switch. In typical kill switches, production of a toxin is suppressed by the presence of an environmental signal. When the signal is no longer presentin the environment, toxin production is uninhibited and the cell dies. Alternatively, a toxin can be produced as the end product of a reaction. Therefore, the organism will die upon completion of its task. Refer to this link for an example of a kill switch: http://dx.doi.org/10.1038/nchembio.1979. Note, there are many other different types of kill switches.", "Gene Circuit. In gene circuits, biological circuits respond to specific combinations of environmental signals in order to suppress toxin production. For example, signals A and B must be present to translate or activate C, a toxin production repressor. Refer to this link for an example of a gene circuit: http://dx.doi.org/10.1038/nchembio.1979", "Lock and Key. Lock?? and ??key is a form of synthetic auxotrophy where a set of essential genes (lock) are engineered so that they will not function properly unless a supplied molecule (key) is present. Since the default state of the cells is death, mutations are much less likely. Refer to this link for more information: http://dx.doi.org/10.1021/acssynbio.5b00085", "Non-Standard Amino Acid (NSAA) synthetic auxotrophy. NSAA synthetic auxotrophs are organisms that cannot survive unless a synthetic amino acid is supplemented in the growth environment of the organism. In this system, a tRNA recognizing a stop codon binds to the synthetic amino acid. This method requires full genome and proteome engineering to incorporate the stop codon and synthetic amino acid. Refer to this link for more detailed information: http://dx.doi.org/10.1038/nature14121"];
| + | |
− | console.info("<p>" + methodNames[row] + "</p>");
| + | |
− | }
| + | |
− | }
| + | |
− | else {
| + | |
− | if (sum < 11) {
| + | |
− | console.info("<p> Traditional Auxotroph. Traditional auxotrophs are organisms that cannot synthesize a certain chemical necessary for survival and therefore must rely on artificial supplementation of the chemical. </p>");
| + | |
− | }
| + | |
− | if (sum > 10 && sum < 21) {
| + | |
− | console.info("<p> Lock and Key. Lock?? and ??key is a form of synthetic auxotrophy where a set of essential genes (lock) are engineered so that they will not function properly unless a supplied molecule (key) is present. Since the default state of the cells is death, mutations are much less likely. Refer to this link for more information: http://dx.doi.org/10.1021/acssynbio.5b00085 </p>");
| + | |
− | }
| + | |
− | if (sum > 20) {
| + | |
− | console.info("<p> Non-Standard Amino Acid (NSAA) synthetic auxotrophy. NSAA synthetic auxotrophs are organisms that cannot survive unless a synthetic amino acid is supplemented in the growth environment of the organism. In this system, a tRNA recognizing a stop codon binds to the synthetic amino acid. This method requires full genome and proteome engineering to incorporate the stop codon and synthetic amino acid. Refer to this link for more detailed information: http://dx.doi.org/10.1038/nature14121 </p>");
| + | |
− | }
| + | |
− | }
| + | |
− | }
| + | |
− | };
| + | |
− | return Biocontain;
| + | |
− | }());
| + | |
− | -->
| + | |
− | </script> | + | |
− | | + | |
− | <!-------------------------------Form------------------------------->
| + | |
− | | + | |
− | | + | |
− | <head>
| + | |
− | <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
| + | |
− | <title>User Input Form</title>
| + | |
− | </head>
| + | |
− |
| + | |
− | <body>
| + | |
− | <h2>What are you looking for in a biocontainment method?</h2>
| + | |
− | <form name="myform" method="get" action="form_input.asp" onsubmit="return biocontain()" method="post">
| + | |
− |
| + | |
− | <fieldset>
| + | |
− | <legend>Intended use of your system</legend>
| + | |
− | Is the intended use of your synthetic organism only in the laboratory? <br />
| + | |
− | <input type="radio" name="inLab" value="yes" /> Yes
| + | |
− | <input type="radio" name="inLab" value="no" checked /> No
| + | |
− | <br /><br />
| + | |
− | | + | |
− | Is the intended use of your synthetic organism only in the human body? <br />
| + | |
− | <input type="radio" name="inHuman" value="yes" /> Yes
| + | |
− | <input type="radio" name="inHuman" value="no" checked /> No
| + | |
− | <br />
| + | |
− | </fieldset>
| + | |
− | | + | |
− | <br />
| + | |
− | | + | |
− | <fieldset>
| + | |
− | <legend>Indicate your level of concern for each biocontainment characteristic (1=not a concern, 3=kind of a concern, 5=very concerned).</legend>
| + | |
− | | + | |
− | <p> NOTE: For best results, be selective about your choices; i.e. avoid choosing 5 for every category. </p>
| + | |
− | | + | |
− | Ease of implementation: <input type="radio" name="easeImplement" value="1" checked /> 1 <input type="radio" name="easeImplement" value="2" /> 2 <input type="radio" name="easeImplement" value="3" /> 3 <input type="radio" name="easeImplement" value="4" /> 4 <input type="radio" name="easeImplement" value="5" /> 5 <br /><br />
| + | |
− | | + | |
− | Cost of implementation: <input type="radio" name="costImplement" value="1" checked /> 1 <input type="radio" name="costImplement" value="2" /> 2 <input type="radio" name="costImplement" value="3" /> 3 <input type="radio" name="costImplement" value="4" /> 4 <input type="radio" name="costImplement" value="5" /> 5 <br /><br />
| + | |
− | | + | |
− | Ease of maintaining the contained organism in the environment: <input type="radio" name="easeMain" value="1" checked /> 1 <input type="radio" name="easeMain" value="2" /> 2 <input type="radio" name="easeMain" value="3" /> 3 <input type="radio" name="easeMain" value="4" /> 4 <input type="radio" name="easeMain" value="5" /> 5 <br /><br />
| + | |
− | | + | |
− | Cost of maintaining the contained organism in the environment: <input type="radio" name="costMain" value="1" checked /> 1 <input type="radio" name="costMain" value="2" /> 2 <input type="radio" name="costMain" value="3" /> 3 <input type="radio" name="costMain" value="4" /> 4 <input type="radio" name="costMain" value="5" /> 5 <br /><br />
| + | |
− | | + | |
− | Effectiveness: <input type="radio" name="effect" value="1" checked /> 1 <input type="radio" name="effect" value="2" /> 2 <input type="radio" name="effect" value="3" /> 3 <input type="radio" name="effect" value="4" /> 4 <input type="radio" name="effect" value="5" /> 5 <br /><br />
| + | |
− | | + | |
− | Toxicity to environment: <input type="radio" name="toxic" value="1" checked /> 1 <input type="radio" name="toxic" value="2" /> 2 <input type="radio" name="toxic" value="3" /> 3 <input type="radio" name="toxic" value="4" /> 4 <input type="radio" name="toxic" value="5" /> 5
| + | |
− | </fieldset>
| + | |
− |
| + | |
− | <input type="hidden" name="secret" value="888" />
| + | |
− | <input type="submit" value="SEND" onClick="biocontain(this.form)/>
| + | |
− | <input type="reset" value="CLEAR" />
| + | |
− | </form> | + | |
− | </body> | + | |
| | | |
| </div> | | </div> |