Difference between revisions of "Team:Lethbridge/Software"

(Prototype team page)
 
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Lethbridge}}
+
{{Template:Lethbridge/reset}}
 +
{{Template:Lethbridge/css}}
 +
{{Template:Lethbridge/navbar2}}
 +
{{Template:Lethbridge/mini-template-css}}
 
<html>
 
<html>
 +
<body>
 +
<br><br>
 +
<img src="https://static.igem.org/mediawiki/2018/5/58/T--Lethbridge--banner_Software.png" width=100% alt="Software Banner Image">
 +
<div class="content"> <!--everything added for content goes after this line CHRISISAAC-->
 +
<br><br>
  
  
<div class="column full_size judges-will-not-evaluate">
+
<div class="container"><div class="row"><div class="col-sm">
<h3>★  ALERT! </h3>
+
<p class="f12">The purpose of this tool is to facilitate a match between molecular cargo and cellular target and provide a protein nanocompartment recommendation as a starting point for the design of your own VINCEnT! The tool accepts user input to specify the cellular target, molecular cargo, and approximate size of the protein nanocompartment. After submitting, a recommendation will be generated and will provide a link to a datasheet with information on the PNC.<br><br></p>
<p>This page is used by the judges to evaluate your team for the <a href="https://2018.igem.org/Judging/Medals">medal criterion</a> or <a href="https://2018.igem.org/Judging/Awards"> award listed below</a>. </p>
+
    </div></div></div>
<p> Delete this box in order to be evaluated for this medal criterion and/or award. See more information at <a href="https://2018.igem.org/Judging/Pages_for_Awards"> Instructions for Pages for awards</a>.</p>
+
</div>
+
  
 +
<div style="height: 25px;"></div>
 +
    <div class="container">
 +
  <h1>Protein Nanocompartment Designer</h1>
 +
    </div>
  
<div class="clear"></div>
+
    <form> <!-- BEGIN USER INPUTS -->
 +
      <div class="container">
 +
        <div class="row">
 +
          <div class="col-sm"> <!-- Target -->
 +
            <div class="form-group">
 +
              <label for="target">Target</label>
 +
              <select class="form-control" id="target">
 +
                <option value=1>Mammal</option>
 +
                <option value=2>Bacteria</option>
 +
                <option value=3>Plant</option>
 +
              </select>
 +
            </div>
 +
        </div>
 +
          <div class="col-sm"> <!-- Size Range -->
 +
              <div class="form-group">
 +
                <label for="cargo">Size Range</label>
 +
                <select class="form-control" id="size">
 +
                  <option value="1">15-30nm</option>
 +
                  <option value="2">30-60nm</option>
 +
                  <option value="3">>60nm</option>
 +
                </select>
 +
              </div>
 +
          </div>
 +
        </div>
 +
        <div class="row">
 +
          <div class="col-sm"> <!-- Cargo Sequence -->
 +
            <div class="form-group">
 +
                <label for="sequence">Cargo Sequence</label>
 +
                <input type="text" class="form-control" id="sequence" placeholder="Sequence in FASTA format">
 +
            </div>
 +
          </div>
 +
        </div>
 +
        <!-- Submit button activates the JS -->
 +
        <button onclick="submitData()" type="button" class="btn btn-primary">Submit</button>
 +
        <script>
 +
        function submitData() { //MAIN FUNCTION CALLS ALL
 +
          data = getValues(); //Extract from the HTML forms
 +
          code = pickPNC(data.sequenceType, data.targetType, data.sizeType); //What PNC suits the user needs?
 +
          showhide();
 +
          writeProtocols(code);
 +
        }
  
 +
        function showhide() {
 +
            var x = document.getElementById("recommend");
 +
            if (x.style.display === "none") {
 +
                x.style.display = "block";
 +
            } else {
 +
                x.style.display = "block";
 +
            }
 +
        }
  
<div class="column full_size">
+
        function getValues() { //Extract Values from the Form
<h1>Software</h1>
+
            var target = document.getElementById('target').value;
</div>
+
            var size = document.getElementById('size').value;
<div class="column two_thirds_size">
+
            var sequence = sequenceCheck(document.getElementById('sequence').value);
<h3>Best Software Tool Special Prize</h3>
+
            var userInput = {
<p>Regardless of the topic, iGEM projects often create or adapt computational tools to move the project forward. Because they are born out of a direct practical need, these software tools (or new computational methods) can be surprisingly useful for other teams. Without necessarily being big or complex, they can make the crucial difference to a project's success. This award tries to find and honor such "nuggets" of computational work.
+
              targetType:target,
 +
              sizeType:size,
 +
              sequenceType:sequence
 +
            };
 +
            return userInput
 +
        }
  
 +
        function pickPNC(a, b, c) { // CargoSeq - Target - Size
 +
          const PNC = {
 +
            1: { //Protein
 +
              1: { // Mammal
 +
                1: "NONE", // S  111
 +
                2: "NONE", // M  112
 +
                3: "NONE"  // L  113
 +
              },
 +
              2: { // Bacteria
 +
                1: "MS2", // S  121
 +
                2: "NONE", // M  122
 +
                3: "P22"  // L  123
 +
              },
 +
              3: { // Plant
 +
                1: "BMV", // S  131
 +
                2: "NONE", // M  132
 +
                3: "NONE"  // L  133
 +
              }
 +
            },
  
<br><br>
+
            2: { //DNA
To compete for the <a href="https://2018.igem.org/Judging/Awards">Best Software Tool prize</a>, please describe your work on this page and also fill out the description on the <a href="https://2018.igem.org/Judging/Judging_Form">judging form</a>.
+
              1: { // Mammal
<br><br>
+
                1: "NONE", // S  211
You must also delete the message box on the top of this page to be eligible for this prize.
+
                2: "JCV", // M  212
</p>
+
                3: "NONE"  // L  213
 +
              },
 +
              2: { // Bacteria
 +
                1: "VP8", // S  221
 +
                2: "NONE", // M  222
 +
                3: "P22"  // L  223
 +
              },
 +
              3: { // Plant
 +
                1: "NONE", // S  231
 +
                2: "NONE", // M  232
 +
                3: "NONE"  // L  233
 +
              }
 +
            },
 +
 
 +
            3: { //RNA
 +
              1: { // Mammal
 +
                1: "NONE", // S  311
 +
                2: "ARC", // M  312
 +
                3: "NONE"  // L  313
 +
              },
 +
              2: { // Bacteria
 +
                1: "PDE2", // S  321
 +
                2: "NONE", // M  322
 +
                3: "NONE"  // L  323
 +
              },
 +
              3: { // Plant
 +
                1: "CCMV", // S  331
 +
                2: "NONE", // M  332
 +
                3: "NONE"  // L  333
 +
              }
 +
            }
 +
          };
 +
          return PNC[a][b][c] //Returns the PNC Code
 +
        }
 +
 
 +
        function sequenceCheck(sequence) { //REGEX for Type
 +
          var PRO = /^[GALMFWKQESPVICYHRNDT]+$/gmi //Code 1
 +
          var DNA = /^[ATCG]+$/gmi //Code 2
 +
          var RNA = /^[AUCG]+$/gmi //Code 3
 +
          //Testing
 +
          if (RNA.test(sequence)) {
 +
            result = 3;
 +
          } else if (DNA.test(sequence)) {
 +
            result = 2;
 +
          } else if (PRO.test(sequence)) {
 +
            result = 1;
 +
          } else {
 +
            result = 1;
 +
          }
 +
          //Return result
 +
          return result
 +
        }
 +
 
 +
        function writeProtocols(code) {
 +
          const dataSheet = {
 +
            MS2: {
 +
              name: "MS2",
 +
              full: "Bacteriophage MS2 Capsid",
 +
              sequence: "MASNFTQFVLVDNGGTGDVTVAPSNFANGVAEWISSNSRSQAYKVTCSVRQSSAQNRKYTIKVEVPKVATQTVGGVELPVAAWRSYLNMELTIPIFATNSDCELIVKAMQGLLKDGNPIPSAIAANSGIY",
 +
              pdb: "1MSC",
 +
              radius: "Outer: 27nm Inner: 15nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/f/f2/T--Lethbridge--MS2_VLP_datasheet.pdf"
 +
            },
 +
            FF: {
 +
              name: "FF",
 +
              full: "E.coli Filementus Phage Capsid",
 +
              sequence: "MKKLLFAIPLVVPFYSHSAETVESCLAKPHTENSFTNVWKDDKTLDRYANYEGCLWNATGVVVCTGDETQCYGTWVPIGLAIPENEGGGSEGGGSEGGGSEGGGTKPPEYGDTPIPGYTYINPLDGTYPPGTEQNPANPNPSLEESQPLNTFMFQNNRFRNRQGALTVYTGTVTQGTDPVKTYYQYTPVSSKAMYDAYWNGKFRDCAFHSGFNEDPFVCEYQGQSSDLPQPPVNAGGGSGGGSGGGSEGGGSEGGGSEGGGSEGGGSGGGSGSGDFDYEKMANANKGAMTENADENALQSDAKGKLDSVATDYGAAIDGFIGDVSGLANGNGATGDFAGSNSQMAQVGDGDNSPLMNNFRQYLPSLPQSVECRPYVFGAGKPYEFSIDCDKINLFRGVFAFLLYVATFMYVFSTFANILRNKES",
 +
              pdb: "P03661",
 +
              radius: "So many nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/c/ce/T--Lethbridge--Ff_phage_datasheet.pdf"
 +
            },
 +
            P22: {
 +
              name: "P22",
 +
              full: "Bacteriophage P22 Capsid",
 +
              sequence: "atggctttgaacgaaggtcaaattgttacactggcggtagatgaaatcatcgaaaccatctccgcaatcactccaatggcgcagaaagccaagaaatacaccccgcctgctgcttctatgcagcgctccagcaataccatctggatgcctgtagagcaagagtcacccactcaggagggctgggatttaactgataaagcgacagggttactggaacttaacgtcgcggtaaacatgggagagccggataacgacttcttccagttgcgtgctgatgacttgcgagacgaaactgcgtatcgtcgccgcatccagtctgccgctcgcaagctggcgaacaacgttgagttgaaagtcgcaaacatggccgccgagatgggttcgctggttatcacctcccctgatgccatcggcactaataccgcagacgcctggaactttgtggccgacgcagaagaaatcatgttctcccgcgaacttaacccgacatggggacatcgtacttcttcaaccctcaggactacaaaaaagcgggttacgacctgaccaagcgtgacatcttcgggcgtattcctgaagaagcataccgagatggcaccattcagcgtcaggtcgctggcttcgatgatgtcctgcgctctccgaaacttcctgtgctgaccaaatccaccgcaactggcatcactgtatccggtgcgcagtccttcaagcctgtcgcatggcaactggataacgatggcaacaaagttaacgttgataaccgttttgctaccgtcaccctgtctgcaactaccggcatgaaacgcggcgacaaaatttcgtttgctggcgttaagttccttggtcagatggctaagaacgtactggctcaggatgcgactttctccgtagtccgcgttgttgacggtactcatgttgaaatcacgccgaagccggtagcgctggatgatgtttccctgtctccggagcgcgtgcctacgccaacgttaacacctcgctggctgatgcaatggcagtgaacattctgaacgttaaagacgctcgcactaatgtgttctgggctgacgatgctattcgtatcgtgtctcagccgattccggctaaccatgaactttttgcaggtatgaaaactacctcattcagcatccctgatgttggcctgaacggtatcttcgctacgcagggtgatatttccaccctgtccggcctgtgccgtattgcgctgtggtacggcgtaaacgcgacacgaccggaggcaatcggtgttggcctgcctggtcagactgcg",
 +
              pdb: "",
 +
              radius: "60nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/b/b2/T--Lethbridge--P22_VLP_datasheet.pdf"
 +
            },
 +
            CCMV: {
 +
              name: "CCMV",
 +
              full: "Cowpea Chlorotic Mottle Virus Capsid",
 +
              sequence: "MSTVGTGKLTRAQRRAAARKNKRNTRVVQPVIVEPIASGQGKAIKAWTGYSVSKWTASCAAAEAKVTSAITISLPNELSSERNKQLKVGRVLLWLGLLPSVSGTVKSCVTETQTTAAASFQVALAVADNSKDVVAAMYPEAFKGITLEQLTADLTIYLYSSAALTEGDVIVHLEVEHVRPTFDDSFTPVY",
 +
              pdb: "P03601",
 +
              radius: "Outer: 24nm, Inner: 18nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/d/df/T--Lethbridge--CCMV_data_datasheet.pdf"
 +
            },
 +
            BMV: {
 +
              name: "BMV",
 +
              full: "Brome Mosaic Virus Capsid",
 +
              sequence: "MSTSGTGKMTRAQRRAAARRNRWTARVQPVIVEPLAAGQGKAIKAIAGYSISKWEASSDAITAKATNAMSITLPHELSSEKNKELKVGRVLLWLGLLPSVAGRIKACVAEKQAQAEAAFQVALAVADSSKEVVAAMYTDAFRGATLGDLLNLQIYLYASEAVPAKAVVVHLEVEHVRPTFDDFFTPVYR",
 +
              pdb: "P03602",
 +
              radius: "30nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/5/5e/T--Lethbridge--BMV_VLP_datasheet.pdf"
 +
            },
 +
            VP8: {
 +
              name: "VP1/VP8",
 +
              full: "Murine Polyomarius Capsid",
 +
              sequence: "APKRKAGVSKCETKCTKACPRPAPVPKLLIKGGMEVLDLVTGPDSVTEIEAFLNPRMGQPPTPESLTEGGQYYGWSRGINLATSDTEDSPGNNTLPTWSMAKLQLPMLNEDLTCDTLQMWEAVSVKTEVVGSGSLLDVHGFNKPTDTVNTKGISTPVEGSQYHVFAVGGEPLDLQGLVTDARTKYKEEGVVTIKTITKKDMVNKDQVLNPISKAKLDKDGMYPVEIWHPDPAKNENTRYFGNYTGGTTTPPVLQFTNTLTTVLLDENGVGPLCKGEGLYLSCVDIMGWRVTRNYDVHHWRGLPRYFKITLRKRWVKNPYPMASLISSLFNNMLPQVQGQPMEGENTQVEEVRVYDGTEPVPGDPDMTRYVDRFGKTKTVFPGN",
 +
              pdb: "P11196",
 +
              radius: "",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/b/b6/T--Lethbridge--VP1-VP8_VLP_datasheet.pdf"
 +
            },
 +
            JCV: {
 +
              name: "JCV",
 +
              full: "John Cunningham Virus (Similar to SV40)",
 +
              sequence: "MAPTKRKGERKDPVQVPKLLIRGGVEVLEVKTGVDSITEVECFLTPEMGDPDEHLRGFSKSISISDTFESDSPNRDMLPCYSVARIPLPNLNEDLTCGNILMWEAVTLKTEVIGVTSLMNVHSNGQATHDNGAGKPVQGTSFHFFSVGGEALELQGVLFNYRTKYPDGTIFPKNATVQSQVMNTEHKAYLDKNKAYPVECWVPDPTRNENTRYFGTLTGGENVPPVLHITNTATTVLLDEFGVGPLCKGDNLYLSAVDVCGMFTNRSGSQWRGLSRYFKVQLRKRRVKNPYPISFLLTDLINRRTPRVDGQPMYGMDAQVEEVRVFEGTEELPGDPDMMRYVDKYGQLQTKML",
 +
              pdb: "",
 +
              radius: "45nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/b/b7/T--Lethbridge--JCV_VLP_datasheet.pdf"
 +
            },
 +
            PDE2: {
 +
              name: "PDE2",
 +
              full: "Pyruvate Dehydrogenase Complex",
 +
              sequence: "MAFEFKLPDIGEGIHEGEIVKWFVKPGDEVNEDDVLCEVQNDKAVVEIPSPVKGKVLEILVPEGTVATVGQTLITLDAPGYENMTFKGQEQEEAKKEEKTETVSKEEKVDAVAPNAPAAEAEAGPNRRVIAMPSVRKYAREKGVDIRLVQGTGKNGRVLKEDIDAFLAGGAKPAPAAAEEKAAPAAAKPATTEGEFPETREKMSGIRRAIAKAMVHSKHTAPHVTLMDEADVTKLVAHRKKFKAIAAEKGIKLTFLPYVVKALVSALREYPVLNTSIDDETEEIIQKHYYNIGIAADTDRGLLVPVIKHADRKPIFALAQEINELAEKARDGKLTPGEMKGASCTITNIGSAGGQWFTPVINHPEVAILGIGRIAEKPIVRDGEIVAAPMLALSLSFDHRMIDGATAQKALNHIKRLLSDPELLLMEA",
 +
              pdb: "P11961",
 +
              radius: "24nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/1/1f/T--Lethbridge--PDE2_VLP_datasheet.pdf"
 +
            },
 +
            ARC: {
 +
              name: "Arc-Gag",
 +
              full: "Arc-Gag",
 +
              sequence: "AUG",
 +
              pdb: "P12497",
 +
              radius: "30nm",
 +
              error: "able",
 +
              protocol: "https://static.igem.org/mediawiki/2018/e/e2/T--Lethbridge--Arc-Gag_VLP_datasheet.pdf"
 +
            },
 +
            NONE: {
 +
              name: "None",
 +
              full: "a protein nanocompartment",
 +
              sequence: "CCTGGTGTGGATACACAGATCTTCGAGGACCCACGGGAGTTCCTGAGCCACCTGGAAGAGTACCTGCGGCAGGTGGGTGGCTCTGAAGAATATTGGCTGTCCCAGATCCAGAACCACATGAATGGGCCAGCCAAGAAGTGGTGGGAGTTCAAGCAGGGCTCGGTGAAGAACTGGGTGGAGTTCAAGAAGGAGTTTCTGCAATACAGTGAGGGTACACTCTCCCGTGAAGCCATTCAGCGGGAGCTGGAGCTGCCGCAGAAGCAGGGTGAACCACTCGACCAGTTCCTCTGGCGCAAGCGGGACCTGTACCAGACACTGTATGTGGACGCTGAGGAGGAGGAGATCATTCAGTATGTGGTGGGCACCCTGCAGCCCAAACTCAAGCGCTTTCTGCGCCACCCACTCCCCAAGACCCTGGAGCAGCTTATCCAGAGGGGTATGGAAGTGCAGGACGGCCTGGAGCAGGCAGCTGAGCCTTCTGGCACCCCACTG",
 +
              pdb: "",
 +
              radius: "",
 +
              error: "unable",
 +
              protocol: ""
 +
            }
 +
          }
 +
          //Change the HTML Content
 +
          document.getElementById('pnc_code').innerHTML = "Result: " + dataSheet[code].name;
 +
          document.getElementById('pnc_error').innerHTML = dataSheet[code].error;
 +
          document.getElementById('pnc_full').innerHTML = dataSheet[code].full;
 +
          document.getElementById("pnc_download").href= dataSheet[code].protocol;
 +
          document.getElementById("pnc_download").download= dataSheet[code].name + "_datasheet.pdf";
 +
          //
 +
          //
 +
          //
 +
        }
  
 +
        </script>
 +
      </div>
 +
    </form>
  
</div>
+
    <!-- Spacing for the Results -->
 +
    <div style="height: 25px;"></div>
 +
    <hr />
 +
    <div style="height: 25px;"></div>
  
<div class="column third_size">
+
    <!-- RESULTS RETURNED -->
<div class="highlight decoration_A_full">
+
    <div class="container" id="recommend" style="display: none;">
<h3> Inspiration </h3>
+
      <div class="row">
<p>
+
        <div class="col-sm">
Here are a few examples from previous teams:
+
          <h2 id="pnc_code"></h2>
</p>
+
          <p class="f12">Based on your input we were
<ul>
+
            <a id="pnc_error"></a> to recommend
<li><a href="https://2016.igem.org/Team:BostonU_HW">2016 BostonU HW</a></li>
+
            <a id="pnc_full"></a>
<li><a href="https://2016.igem.org/Team:Valencia_UPV">2016 Valencia UPV</a></li>
+
            for your application.
<li><a href="https://2014.igem.org/Team:Heidelberg/Software">2014 Heidelberg</a></li>
+
          </p>
<li><a href="https://2014.igem.org/Team:Aachen/Project/Measurement_Device#Software">2014 Aachen</a></li>
+
          <p class="f11">
</ul>
+
            Remember, biology is a cooperative endeavour. When people aren't careful with the biology they do, it can have long lasting effects on everyone else. Accordingly, you should be very careful about encapsulating nucleic acids that are able to self-replicate or integrate into a genome. Ideally, a PNC should be used to carry single-use cargo. For instance, encapsulating a gene drive or other heritable element is strongly discouraged.
</div>
+
          </p>
</div>
+
        </div>
 +
      </div>
 +
      <div class="row">
 +
        <div class="col-sm">
 +
          <a href="" download="" id="pnc_download">
 +
            <button type="button" class="btn btn-primary">Download</button>
 +
          </a>
 +
        </div>
 +
      </div>
 +
    </div>
  
 +
</div> <!--this closes off the content div CHRISISAAC-->
 +
</body>
 
</html>
 
</html>

Latest revision as of 02:44, 18 October 2018



Software Banner Image


The purpose of this tool is to facilitate a match between molecular cargo and cellular target and provide a protein nanocompartment recommendation as a starting point for the design of your own VINCEnT! The tool accepts user input to specify the cellular target, molecular cargo, and approximate size of the protein nanocompartment. After submitting, a recommendation will be generated and will provide a link to a datasheet with information on the PNC.

Protein Nanocompartment Designer