Difference between revisions of "Team:SJTU-Software/project"

Line 43: Line 43:
 
   </a>
 
   </a>
 
</div>
 
</div>
<nav data-am-sticky>
+
 
 +
<br/>
 +
<nav class="scrollspy-nav" data-am-scrollspy-nav="{offsetTop: 100}" data-am-sticky>
 
   <br/>
 
   <br/>
 
   <ul class="am-avg-sm-7 am-thumbnails mainNav">
 
   <ul class="am-avg-sm-7 am-thumbnails mainNav">
 
     <li class = "navItem">
 
     <li class = "navItem">
 
       <a href="home">
 
       <a href="home">
      <img class="am-thumbnails navPhoto" id = "1" src="https://static.igem.org/mediawiki/2015/4/4a/SJTU-SOFTWARE.1-1.png" />
+
        <img class="am-thumbnails navPhoto" id = "1" src="https://static.igem.org/mediawiki/2015/4/4a/SJTU-SOFTWARE.1-1.png" />
    <p class = "navPhoto">Home</p>
+
        <p class = "navPhoto">Home</p>
    </a>
+
      </a>
</li>
+
    </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
    <a href="project">
+
      <a href="project">
      <img class="am-thumbnails navPhoto" id = "2" src="https://static.igem.org/mediawiki/2015/4/4c/SJTU-SOFTWARE.2-2.png" />
+
        <img class="am-thumbnails navPhoto" id = "2" src="https://static.igem.org/mediawiki/2015/4/4c/SJTU-SOFTWARE.2-2.png" />
    <p class = "navPhoto">Project</p>
+
        <p class = "navPhoto">Project</p>
    </a>
+
      </a>
 
     </li>
 
     </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
    <a href="document">
+
      <a href="document">
      <img class="am-thumbnails navPhoto" id = "3" src="https://static.igem.org/mediawiki/2015/6/63/SJTU-SOFTWARE.3-1.png" />
+
        <img class="am-thumbnails navPhoto" id = "3" src="https://static.igem.org/mediawiki/2015/6/63/SJTU-SOFTWARE.3-1.png" />
    <p class = "navPhoto">Document</p>
+
        <p class = "navPhoto">Document</p>
    </a>
+
      </a>
 
     </li>
 
     </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
    <a href="requirement">
+
      <a href="requirement">
      <img class="am-thumbnails navPhoto" id = "4" src="https://static.igem.org/mediawiki/2015/d/d0/SJTU-SOFTWARE.4-1.png" />
+
        <img class="am-thumbnails navPhoto" id = "4" src="https://static.igem.org/mediawiki/2015/d/d0/SJTU-SOFTWARE.4-1.png" />
    <p class = "navPhoto">Requirement</p>
+
        <p class = "navPhoto">Requirement</p>
    </a>
+
      </a>
 
     </li>
 
     </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
Line 77: Line 79:
 
     </li>
 
     </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
    <a href="humanPractice">
+
      <a href="humanPractice">
      <img class="am-thumbnails navPhoto" id = "6" src="https://static.igem.org/mediawiki/2015/0/08/SJTU-SOFTWARE.6-1.png" />
+
        <img class="am-thumbnails navPhoto" id = "6" src="https://static.igem.org/mediawiki/2015/0/08/SJTU-SOFTWARE.6-1.png" />
    <p class = "navPhoto">Human<br/>practice</p>
+
        <p class = "navPhoto">Human<br/>practice</p>
    </a>
+
      </a>
 
     </li>
 
     </li>
 
     <li class = "navItem">
 
     <li class = "navItem">
    <a href="team">
+
      <a href="team">
      <img class="am-thumbnails navPhoto" id = "7" src="https://static.igem.org/mediawiki/2015/b/b7/SJTU-SOFTWARE.7-1.png" />
+
        <img class="am-thumbnails navPhoto" id = "7" src="https://static.igem.org/mediawiki/2015/b/b7/SJTU-SOFTWARE.7-1.png" />
    <p class = "navPhoto">Team</p>
+
        <p class = "navPhoto">Team</p>
    </a>
+
      </a>
 
     </li>
 
     </li>
 
   </ul>
 
   </ul>
 
</nav>
 
</nav>
 +
<br/>
 +
<br/>
  
<div id = "home" data-am-scrollspy="{animation: 'slide-top'}">
+
<div class = "project" id = "block">
<div class = "baseTitle">
+
  <div id = "block1" class = "am-panel-group">
<p> <font color = "#DADADA">Background</font></p>
+
    <div class = " project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'slide-bottom'}">
</div>
+
      <a name = "Background" id = "Background"></a>
<div class="base-frame" id = "home">
+
      <hr class = "border-line"/>
  <p class = "panelTitle">BASE</p>
+
      <div class = "backgroundContent am-panel-hd">
   <p>We refer to the idea of SJTU-software 2014 and make it a better one. Still we aim to develop a software for part evaluation and recommendation, but we make it more detailed and convincing by taking relationships between parts in a device into account. We also change it into a web-based appliance which is more convenient to use.
+
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block1', target: '#do-not-say-1'}"><b>Background</b></h4>
</p>
+
      </div>
</div>
+
      <div class="am-panel-collapse am-collapse backgroundContent" id = "do-not-say-1">
 +
        <div class = "panel-hd">
 +
          <p class = " Background">
 +
            As we know, there are more than 20,000 biobricks in iGEM official standard database and the number of biobrick keeps increasing every year. Based on the fact that sequencing technology gave birth to bioinformatics, we assumed that with the explosive increase of biobricks, it will be harder for synthetic biologists to manually find good biobricks which meets the requirements when they are trying to create new devices with existing parts. This issue will inevitably lead to the birth of softwares and databases especially related to synthetic biology and these intelligent tools will further promote the rapid development of synthetic biology. So we integrated biobricks data before September from the iGEM official standard database and then developed a visual online device-designing system for synthetic biology researchers.<br/>
 +
            Meanwhile, in order to facilitate the researchers to look for better biobricks, we combined the search function and scoring system from the 2014 SJTU Software’s EasyBBK with our own system. In this way, users can find biobricks in line with their requirements more quickly.<br/>
 +
          </p>
 +
        </div>
 +
      </div>
 +
    </div>
 +
  </div>
 +
  <div id = "block7" class = "am-panel-group">
 +
   <div class = " project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'slide-bottom'}">
 +
      <a name = "Design" id = "Design"></a>
 +
      <hr class = "border-line"/>
 +
      <div class = "designContent am-panel-hd">
 +
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block7', target: '#do-not-say-2'}"><b>Design&Algorithm</b></h4>
 +
      </div>
 +
      <div class="am-panel-collapse am-collapse backgroundContent" id = "do-not-say-2">
 +
        <div class = "panel-hd">
 +
          <p class = "Introduction"><b>Introduction<br/></b>
 +
          Our software, BASE, has four functions: search, recommendation, evaluation and upload. Via search function, users can search for parts or devices using IDs or features as keywords. In recommendation interface, users can draw their devices. They can also give some keywords when drag an icon to the chain to get a list of parts which fit the require and other parts best. When using evaluation, users firstly enter a device that they designed, then our software can give advice for each part to improve their devices.Finally, users can upload their device to the IGEM part registry and BASE’s database. For the first three functions, we develop a set of scoring system to evaluate the effectiveness and ease of use of the parts and devices.
 +
          </p>
 +
          <p class = "Methods"><b>Method<br/></b>
 +
          We get the data of parts from IGEM part registry. A total of 14971 bio-bricks are recorded in the database. Then we divide them into two groups, parts and devices, according to whether the biobrick has subparts. Among them, ??? are parts and ??? are devices. For each bio-brick, there’re four different websites:
 +
          http://parts.igem.org/cgi/xml/part.cgi?part=BBa_???
 +
          http://parts.igem.org/cgi/partsdb/part_info.cgi?part_name=BBa_???
 +
          http://parts.igem.org/partsdb/get_part.cgi?part=BBa_??? 
 +
          http://parts.igem.org/Part:BBa_???:Experience
 +
          When collecting data, we simply replace the ??? with the bricks’ ID.
 +
          We then extract information from the websites. The information include Part_status, Sample_status, Part_results, Uses, DNA_status, Qualitative_experience, Group_favorite, Star_rating, Del, Groups, Number_comments, Ave_rating. And we take most of the above factors into account when scoring bio-bricks.
 +
          As for optimizing the weight of these factors, we firstly analyze the distribution of value of the factors to choose the factors that can distinguish the parts most effectively. Then we select 40 parts and 40 devices as the training sets. Finally we get the weight by combining results of several methods.
 +
          </p>
 +
          <p class = " Results"><b>Results<br/></b>
 +
          1.scores for different values of factors
 +
          To build a scoring system, we start at giving scores to the values of these factors. With the help of wet lab researchers, we rank the values of discrete type according to their effect on researches, and choose a relatively good method to transform successive values into values between 0 and 1.
 +
            For discrete values, we have a scoring table as below.
 +
          </p>
 +
          <div class = "am-g">
 +
            <p> Table1:<br/>
 +
            <table class = "am-u-sm-5 " border = "1">
 +
              <tr>
 +
                <th rowspan = "2">Part status</th>
 +
                <td>Released HQ 2013</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>other</td>
 +
                <td>0</td>
 +
              </tr>
 +
              <tr>
 +
                <th rowspan = "4">Sample status</td>
 +
                <td>In Stock</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>It's complicated</td>
 +
                <td>0.5</td>
 +
              </tr>
 +
              <tr>
 +
                <td>For Reference Only</td>
 +
                <td>0.25</td>
 +
              </tr>
 +
              <tr>
 +
                <td>other</td>
 +
                <td>0</td>
 +
              </tr>
 +
              <tr>
 +
                <th rowspan = "2">DNA Status</th>
 +
                <td>Available</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>other</td>
 +
                <td>0</td>
 +
              </tr>
 +
              <tr>
 +
                <th rowspan = "3">Part Results</th>
 +
                <td>Works</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>Issues</td>
 +
                <td>0.25</td>
 +
              </tr>
 +
              <tr>
 +
                <td>Fails;None;Null</td>
 +
                <td>0</td>
 +
              </tr>
 +
              <tr>
 +
                <th rowspan = "2">Star Rating</th>
 +
                <td>1</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>Null</td>
 +
                <td>0</td>
 +
              </tr>
 +
              <tr>
 +
                <th rowspan = "3">Qualitative_<br/>experience</th>
 +
                <td>Works</td>
 +
                <td>1</td>
 +
              </tr>
 +
              <tr>
 +
                <td>Issues</td>
 +
                <td>0.25</td>
 +
              </tr>
 +
              <tr>
 +
                <td>other</td>
 +
                <td>0</td>
 +
              </tr>
 +
            </table>
 +
            <p class = "am-u-sm-6 Results">
 +
            For those successive values, such as used times, average rating, number of comments, we develop two scoring methods. The “average rating” factor has only 5 values, so we just simply score it as a arithmetic progression. As for the other two factors, the distribution of values seems very unbalanced. And since we can be convinced that a brick is good when it’s used several tens times and the feedbacks are good, there’s no need to force a brick to get used for a thousand times before it’s recommended to other users, though some of the parts are actually used hundreds or even thousands of times. So we calculate the score by the expression below.
 +
            Score=log(n+1)/log(nmax+1)
 +
            The n in the expression refers to the values. By using this expression, we reduce the effect of extreme values and make the scores more convincing.
 +
            </p>
 +
          </div>
 +
          <p>And the optimized weight of the factors are shown in the table below.<br/>
 +
            Table2:<br/>
 +
          </p>
 +
          <div class = "am-g">
 +
            <table class = "am-u-sm-5" border = "1">
 +
              <tr>
 +
                <th width = "40%">Part Status</th>
 +
                <td width = "60%">10</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Sample Status</th>
 +
                <td>10</td>
 +
              </tr>
 +
              <tr>
 +
                <th>DNA Status</th>
 +
                <td>10</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Part Results</th>
 +
                <td>15</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Star Rating</th>
 +
                <td>10</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Qualitative_<br/>experience</th>
 +
                <td>5</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Used Times</th>
 +
                <td>15</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Average Rating</th>
 +
                <td>20</td>
 +
              </tr>
 +
              <tr>
 +
                <th>Number<br/>of Comments</th>
 +
                <td>5</td>
 +
              </tr>
 +
            </table>
 +
            <p class = "am-u-sm-6 Results">The above scoring system are used to evaluate all the bricks in our databases. It become effective in all the functions except upload. However, we still have another scoring system for devices.  
 +
            </p>
 +
          </div>
 +
          <p class = "Results">
 +
          2.devices scoring method with relationship between parts
 +
          This method is mainly used in the evaluation function. For a device which is just designed by users, the score we get through the first method actually mean nothing, as there’re no information for the device on the registry. So we need to develop a new evaluation system based on its composing parts and relationships between the parts.
 +
          When evaluating the relationships between parts, we take several factors into consideration, such as the frequency and the average score when the parts are used together and so on.
 +
          Firstly the weight of the two aspects is confirmed. The default ratio is 65% for the parts and 35% for the relationships. In the first aspect, the weight of different types is dynamic. It’s influenced by the number and type of the parts. However it still shows the different significance of the parts. But in the second aspect, all relationships share the same weight.
 +
          Then the scoring begins. Given that wet lab researchers care more about the outcome of a device, we search for functional coding parts in the device, and optimize it in the first place. After the user locks the functional parts, we start to optimize other parts. The order is decided according to their type and location in the device.
 +
          Since there’re two scoring system for devices, the weight in the second one is adjusted to make the scores made by different method close so that scores for new devices can have the comparability with those already in the database.
  
<div class = "homeFooter">
+
          3.Adding parts one by one
<div class = "footLine"></div>
+
          This method is mainly used in recommendation function. It’s similar to the second one, but it only cares about the new adding part and relationships when doing the recommendations. The weight’s also adjusted to fit the other two method.
<div class = "upperTria"></div>
+
          </p>
</div>
+
          <p class = "Reference"><b>Reference<br/><br/></b>
<br/>
+
            Morgan Madec, Yves Gendrault, Christophe Lallement, Member, IEEE, Jacques Haiech. A game-of-life like simulator for design-oriented modeling of BioBricks in synthetic biology, 34th Annual International Conference of the IEEE EMBS, San Diego, California USA, 28 August - 1 September, 2012<br/><br/>
</div>
+
            Suvi Santala, * Matti Karp, and Ville Santala, Monitoring Alkane Degradation by Single BioBrick Integration to an Optimal Cellular Framework, Synth. Biol. 2012, 1, 60 −64<br/><br/>
 +
            Patrick M Boyle1, Devin R Burrill1, Mara C Inniss1, Christina M Agapakis1, Aaron Deardon, Jonathan G DeWerd, Michael A Gedeon, Jacqueline Y Quinn, Morgan L Paull, Anugraha M Raman, Mark R Theilmann, Lu Wang, Julia C Winn, Oliver Medvedik, Kurt Schellenberg, Karmella A Haynes,Alain Viel, Tamara J Brenner, George M Church, Jagesh V Shah1 and Pamela A Silver, A BioBrick compatible strategy for genetic modification of plants, Journal of Biological Engineering 2012, 6:8<br/><br/>
 +
            Ilya B. Tikh & Mark Held & Claudia Schmidt-Dannert, BioBrickTM compatible vector system for protein expression in Rhodobacter sphaeroides, Appl Microbiol Biotechnol (2014) 98:3111–3119<br/><br/>
 +
            Jacob E. Vick & Ethan T. Johnson & Swat i Choudhar y & Sarah E. Bloch & Fern ando Lope z-Galleg o & Poonam Sr ivastava & Ilya B. Tikh & Grays on T. Wawrzy n & Claud ia Sc hmidt-Da nnert, Optimized compa tible set of BioBrick™ vectors for met abolic pathway engineering, Appl Microbiol Biotechnol (2011) 92:1275–1286<br/><br/>
 +
            Methods in Molecular Biology: Synthetic+Gene+Networks, John M. Walker, Wilfried Weber, Martin Fussenegger, Humana Press, 2012<br/><br/>
 +
          </p>
 +
        </div>
 +
      </div>
 +
  </div>
  
<div class = "am-g project">
+
    <div class = "project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'scale-down'}">
  <nav class = "am-u-sm-2 navs">
+
      <a name = "Validaction" id = "Validaction"></a>
    <ul class="am-thumbnails subNav fixed-nav am-animation-slide-left am-animation-delay-1" id = "ul1">
+
      <hr class = "border-line"/>
      <li class = "subNavItem">
+
      <div class = "validactionContent am-panel-hd">
      <a class="subNavItem" data-am-collapse="{target: '#collapse-nav'}" >Design&Algorithm </a>
+
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block2', target: '#do-not-say-3'}"><b>Validaction</b></h4>
        <nav>
+
       </div>
        <ul id="collapse-nav" class="am-nav am-collapse ">
+
       <div class="am-panel-collapse am-collapse validactionContent" id = "do-not-say-3">
          <li class = "designNav"><a href = "#Design" class = "scrollNav">Introduction</a></li>
+
        <div class = "panel-hd">
          <li class = "designNav"><a href = "#Design" class = "scrollNav">Methods</a></li>
+
          <p class = " validaction">勾勾丑丑哒</p>
          <li class = "designNav"><a href = "#Design" class = "scrollNav">Results</a></li>
+
        </div>
          <li class = "designNav"><a href = "#Design" class = "scrollNav">Reference</a></li>
+
      </div>
        </ul>
+
        </nav>
+
      </li>
+
    <li><a class="subNavItem scrollNav"  href = "#Validaction">Validaction</a></li>
+
      <li><a class="subNavItem scrollNav"  href = "#Demo">Demo</a></li>
+
      <li><a class="subNavItem scrollNav"  href = "#Download">Download</a></li>
+
      <li><a class="subNavItem scrollNav"  href = "#Achivement">Achievement</a></li>
+
    </ul>
+
</nav>
+
<div class = "am-u-sm-10 project-content"data-am-scrollspy="{animation: 'slide-bottom'}">
+
    <a name = "Design" id = "Design"></a>
+
    <hr class = "border-line"/>
+
    <div class = "designContent">
+
      <p class = "am-animation-fade my-animation-delay Introduction">Introduction<br/>
+
  Our software, BASE, has four functions: search, recommendation, evaluation and upload. <br/>Via search function, users can search for parts or devices using IDs or features as keywords. <br/>In recommendation interface, users can draw their devices. They can also give some keywords when drag an icon to the chain to get a list of parts which fit the require and other parts best. <br/>When using evaluation, users firstly enter a device that they designed, then our software can give advice for each part to improve their devices. <br/>Finally, users can upload their device to the IGEM part registry and BASE’s database. <br/>For the first three functions, we develop a set of scoring system to evaluate the effectiveness and ease of use of the parts and devices.
+
      </p>
+
      <p class = "am-animation-fade my-animation-delay Methods">Method<br/>
+
We get the data of parts from IGEM part registry. A total of 14971 bio-bricks are recorded in the database. Then we divide them into two groups, parts and devices, according to whether the biobrick has subparts. <br/>Among them, ??? are parts and ??? are devices. <br/>For each bio-brick, there’re four different websites:<br/>
+
http://parts.igem.org/cgi/xml/part.cgi?part=BBa_???<br/>
+
http://parts.igem.org/cgi/partsdb/part_info.cgi?part_name=BBa_???<br/>
+
http://parts.igem.org/partsdb/get_part.cgi?part=BBa_??? <br/>
+
http://parts.igem.org/Part:BBa_???:Experience<br/>
+
  When collecting data, we simply replace the ??? with the bricks’ ID.<br/>
+
We then extract information from the websites. The information include Part_status, Sample_status, Part_results, Uses, DNA_status, Qualitative_experience, Group_favorite, Star_rating, Del, Groups, Number_comments, Ave_rating. And we take most of the above factors into account when scoring bio-bricks.<br/>
+
As for optimizing the weight of these factors, we firstly analyze the distribution of value of the factors to choose the factors that can distinguish the parts most effectively. Then we select 40 parts and 40 devices as the training sets. Finally we get the weight by combining results of several methods.<br/>
+
      </p>
+
      <p class = "am-animation-fade my-animation-delay Results">Results<br/>
+
1.scores for different values of factors<br/>
+
To build a scoring system, we start at giving scores to the values of these factors. With the help of wet lab researchers, we rank the values of discrete type according to their effect on researches, and choose a relatively good method to transform successive values into values between 0 and 1.<br/>
+
  For discrete values, we have a scoring table as below.<br/>
+
Table1:
+
       </p>
+
       <table></table>
+
      <p class = "am-animation-fade my-animation-delay Results"><br/>
+
  For those successive values, such as used times, average rating, number of comments, we develop two scoring methods. The “average rating” factor has only 5 values, so we just simply score it as a arithmetic progression. As for the other two factors, the distribution of values seems very unbalanced. And since we can be convinced that a brick is good when it’s used several tens times and the feedbacks are good, there’s no need to force a brick to get used for a thousand times before it’s recommended to other users, though some of the parts are actually used hundreds or even thousands of times. So we calculate the score by the expression below.<br/></p>
+
<p align = "center" class = "am-animation-fade my-animation-delay Results"> Score=log(n+1)/log(nmax+1) </p>
+
<p class = "am-animation-fade my-animation-delay Results"><br/>
+
The n in the expression refers to the values. By using this expression, we reduce the effect of extreme values and make the scores more convincing.<br/>
+
And the optimized weight of the factors are shown in the table below.<br/>
+
Table2:
+
      </p>
+
      <table></table>
+
      <p class = "am-animation-fade my-animation-delay Results"> <br/>The above scoring system are used to evaluate all the bricks in our databases. It become effective in all the functions except upload. However, we still have another scoring system for devices. <br/>
+
        2.devices scoring method with relationship between parts<br/>
+
This method is mainly used in the evaluation function. For a device which is just designed by users, the score we get through the first method actually mean nothing, as there’re no information for the device on the registry. So we need to develop a new evaluation system based on its composing parts and relationships between the parts. <br/>
+
When evaluating the relationships between parts, we take several factors into consideration, such as the frequency and the average score when the parts are used together and so on.<br/>
+
Firstly the weight of the two aspects is confirmed. The default ratio is 65% for the parts and 35% for the relationships. In the first aspect, the weight of different types is dynamic. It’s influenced by the number and type of the parts. However it still shows the different significance of the parts. But in the second aspect, all relationships share the same weight.<br/>
+
Then the scoring begins. Given that wet lab researchers care more about the outcome of a device, we search for functional coding parts in the device, and optimize it in the first place. After the user locks the functional parts, we start to optimize other parts. The order is decided according to their type and location in the device.<br/>
+
Since there’re two scoring system for devices, the weight in the second one is adjusted to make the scores made by different method close so that scores for new devices can have the comparability with those already in the database.<br/>
+
 
+
3.Adding parts one by one<br/>
+
This method is mainly used in recommendation function. It’s similar to the second one, but it only cares about the new adding part and relationships when doing the recommendations. The weight’s also adjusted to fit the other two method.
+
      </p>
+
      <p class = "am-animation-fade my-animation-delay Reference">吴静,吴晓燕,高忠长.客观多因素权重分配方法及其应用,Aerospace Shanghai
+
.Vol.28 Mar. 2011,60-63<br/><br/>
+
张月天,邬伟,曾欣.当前互联网几种信息推送技术及其评析,Journal of Yunnan Agricultural University.Vol.3 No.2 Apr. 2009,<br/><br/>
+
晋民杰,王快,范英,陈敏娜,王雯雯.一种基于相似系数的权重确定方法,Journal of Taiyuan University of Science and Technology.Vol.36 No.1 Feb. 2015<br/><br/>
+
闫家杰.确定多因素权重分配的AHP方法,Journal of Zhengzhou Institute of Technology,.Vol.15 No.1 Mar. 1994<br/><br/>
+
Morgan Madec, Yves Gendrault, Christophe Lallement, Member, IEEE, Jacques Haiech. A game-of-life like simulator for design-oriented modeling of BioBricks in synthetic biology, 34th Annual International Conference of the IEEE EMBS, San Diego, California USA, 28 August - 1 September, 2012<br/><br/>刘文卿.实验设计,清华大学出版社.2005<br/><br/>Suvi Santala, * Matti Karp, and Ville Santala, Monitoring Alkane Degradation by Single BioBrick Integration to an Optimal Cellular Framework, Synth. Biol. 2012, 1, 60 −64<br/><br/>Patrick M Boyle1, Devin R Burrill1, Mara C Inniss1, Christina M Agapakis1, Aaron Deardon, Jonathan G DeWerd, Michael A Gedeon, Jacqueline Y Quinn, Morgan L Paull, Anugraha M Raman, Mark R Theilmann, Lu Wang, Julia C Winn, Oliver Medvedik, Kurt Schellenberg, Karmella A Haynes,Alain Viel, Tamara J Brenner, George M Church, Jagesh V Shah1 and Pamela A Silver, A BioBrick compatible strategy for genetic modification of plants, Journal of Biological Engineering 2012, 6:8<br/><br/>Ilya B. Tikh & Mark Held & Claudia Schmidt-Dannert, BioBrickTM compatible vector system for protein expression in Rhodobacter sphaeroides, Appl Microbiol Biotechnol (2014) 98:3111–3119<br/><br/>Jacob E. Vick & Ethan T. Johnson & Swat i Choudhar y & Sarah E. Bloch & Fern ando Lope z-Galleg o & Poonam Sr ivastava & Ilya B. Tikh & Grays on T. Wawrzy n & Claud ia Sc hmidt-Da nnert, Optimized compa tible set of BioBrick™ vectors for met abolic pathway engineering, Appl Microbiol Biotechnol (2011) 92:1275–1286<br/><br/>杨仕柳, Lm(2n)暨拟因子设计正交表及通用计算程序, 1994-2014 China Academic Journal Electronic Publishing House, 42-45<br/><br/>Methods in Molecular Biology: Synthetic+Gene+Networks, John M. Walker, Wilfried Weber, Martin Fussenegger, Humana Press, 2012<br/><br/>
+
      </p>
+
    </div>
+
</div>
+
 
+
  <div class = "am-u-sm-10 project-content" data-am-scrollspy="{animation: 'scale-down'}">
+
    <a name = "Validaction" id = "Validaction"></a>
+
    <hr class = "border-line"/>
+
    <div class = "am-animation-fade my-animation-delay validactionContent">铭姐没有给
+
 
     </div>
 
     </div>
 
   </div>
 
   </div>
   <div class = "am-u-sm-10 project-content" data-am-scrollspy="{animation: 'scale-down'}">
+
   <div id = "block3" class = "am-panel-group">
    <a name = "Demo" id = "Demo"></a>
+
    <div class = "project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'scale-down'}">
    <hr class = "border-line"  />
+
      <a name = "Demo" id = "Demo"></a>
    <div class = "am-animation-fade my-animation-delay demoContent">暂时没有
+
      <hr class = "border-line"  />
 +
      <div class = "demoContent am-panel-hd">
 +
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block3', target: '#do-not-say-4'}"><b>Demo</b></h4>
 +
      </div>
 +
      <div class="am-panel-collapse am-collapse demoContent" id = "do-not-say-4">
 +
        <div class = "panel-hd">
 +
        <p class = "">勾勾傻傻哒</p>
 +
        </div>
 +
      </div>
 
     </div>
 
     </div>
 
   </div>
 
   </div>
   <div class = "am-u-sm-10 project-content" data-am-scrollspy="{animation: 'scale-down'}">
+
   <div id = "block4" class = "am-panel-group">
    <a name = "Download" id = "Download"></a>
+
    <div class = "project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'scale-down'}">
    <hr class = "border-line"/>
+
      <a name = "Download" id = "Download"></a>
    <div class = "am-animation-fade my-animation-delay downloadContent"><a href="http://www.igembase.com" ><b>勾勾么么哒</b></a>
+
      <hr class = "border-line" />
 +
      <div class = "demoContent am-panel-hd">
 +
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block4', target: '#do-not-say-5'}"><b>Download</b></h4>
 +
      </div>
 +
      <div class="am-panel-collapse am-collapse downloadContent" id = "do-not-say-5">
 +
        <div class = "panel-hd">
 +
        <p class = "">勾勾么么哒</p>
 +
        </div>
 +
      </div>
 
     </div>
 
     </div>
 
   </div>
 
   </div>
   <div class = "am-u-sm-10 project-content" data-am-scrollspy="{animation: 'scale-down'}">
+
   <div id = "block5" class = "am-panel-group">
    <a name = "Achivement" id = "Achivement"></a>
+
    <div class = "project-content am-panel am-panel-default" data-am-scrollspy="{animation: 'scale-down'}">
    <hr class = "border-line"/>
+
      <a name = "Achivement" id = "Achivement"></a>
    <div class = "am-animation-fade my-animation-delay achivementContent">
+
      <hr class = "border-line"/>
       <p class = "achivement">Achivement<br/>1.We firstly include relationships between parts to the evaluation of devices.<br/>
+
      <div class = "achivementContent am-panel-hd">
2.Our software can help in the whole process that a user designs a new device: the optimization of one part and another, and the visualization of the device.<br/>
+
        <h4 class = "am-panel-title" data-am-collapse="{parent: '#block5', target: '#do-not-say-6'}"><b>Achivement</b></h4>
3.Our software enable users to design their personalised weight for part evaluation.<br/>
+
       </div>
4.Our software help users upload their parts more easily and can expand its own database.<br/>
+
      <div class="am-panel-collapse am-collapse achivementContent" id = "do-not-say-6">
5.Our software is web-based, which is more convenient for users to use.<br/>
+
        <div class = "panel-hd">
       </p>
+
          <p class = "achivement">1.We firstly include relationships between parts to the evaluation of devices.
 +
          2.Our software can help in the whole process that a user designs a new device: the optimization of one part and another, and the visualization of the device.
 +
          3.Our software enable users to design their personalised weight for part evaluation.
 +
          4.Our software help users upload their parts more easily and can expand its own database.
 +
          5.Our software is web-based, which is more convenient for users to use.
 +
          </p>
 +
        </div>
 +
       </div>
 
     </div>
 
     </div>
 
   </div>
 
   </div>
 
</div>
 
</div>
 
+
<div class = "last">
 
+
<div class = "content">
+
 
</div>
 
</div>
 
<footer>
 
<footer>

Revision as of 18:34, 16 September 2015

Project





Background

As we know, there are more than 20,000 biobricks in iGEM official standard database and the number of biobrick keeps increasing every year. Based on the fact that sequencing technology gave birth to bioinformatics, we assumed that with the explosive increase of biobricks, it will be harder for synthetic biologists to manually find good biobricks which meets the requirements when they are trying to create new devices with existing parts. This issue will inevitably lead to the birth of softwares and databases especially related to synthetic biology and these intelligent tools will further promote the rapid development of synthetic biology. So we integrated biobricks data before September from the iGEM official standard database and then developed a visual online device-designing system for synthetic biology researchers.
Meanwhile, in order to facilitate the researchers to look for better biobricks, we combined the search function and scoring system from the 2014 SJTU Software’s EasyBBK with our own system. In this way, users can find biobricks in line with their requirements more quickly.


Design&Algorithm

Introduction
Our software, BASE, has four functions: search, recommendation, evaluation and upload. Via search function, users can search for parts or devices using IDs or features as keywords. In recommendation interface, users can draw their devices. They can also give some keywords when drag an icon to the chain to get a list of parts which fit the require and other parts best. When using evaluation, users firstly enter a device that they designed, then our software can give advice for each part to improve their devices.Finally, users can upload their device to the IGEM part registry and BASE’s database. For the first three functions, we develop a set of scoring system to evaluate the effectiveness and ease of use of the parts and devices.

Method
We get the data of parts from IGEM part registry. A total of 14971 bio-bricks are recorded in the database. Then we divide them into two groups, parts and devices, according to whether the biobrick has subparts. Among them, ??? are parts and ??? are devices. For each bio-brick, there’re four different websites: http://parts.igem.org/cgi/xml/part.cgi?part=BBa_??? http://parts.igem.org/cgi/partsdb/part_info.cgi?part_name=BBa_??? http://parts.igem.org/partsdb/get_part.cgi?part=BBa_???  http://parts.igem.org/Part:BBa_???:Experience When collecting data, we simply replace the ??? with the bricks’ ID. We then extract information from the websites. The information include Part_status, Sample_status, Part_results, Uses, DNA_status, Qualitative_experience, Group_favorite, Star_rating, Del, Groups, Number_comments, Ave_rating. And we take most of the above factors into account when scoring bio-bricks. As for optimizing the weight of these factors, we firstly analyze the distribution of value of the factors to choose the factors that can distinguish the parts most effectively. Then we select 40 parts and 40 devices as the training sets. Finally we get the weight by combining results of several methods.

Results
1.scores for different values of factors To build a scoring system, we start at giving scores to the values of these factors. With the help of wet lab researchers, we rank the values of discrete type according to their effect on researches, and choose a relatively good method to transform successive values into values between 0 and 1. For discrete values, we have a scoring table as below.

Table1:

Part status Released HQ 2013 1
other 0
Sample status In Stock 1
It's complicated 0.5
For Reference Only 0.25
other 0
DNA Status Available 1
other 0
Part Results Works 1
Issues 0.25
Fails;None;Null 0
Star Rating 1 1
Null 0
Qualitative_
experience
Works 1
Issues 0.25
other 0

For those successive values, such as used times, average rating, number of comments, we develop two scoring methods. The “average rating” factor has only 5 values, so we just simply score it as a arithmetic progression. As for the other two factors, the distribution of values seems very unbalanced. And since we can be convinced that a brick is good when it’s used several tens times and the feedbacks are good, there’s no need to force a brick to get used for a thousand times before it’s recommended to other users, though some of the parts are actually used hundreds or even thousands of times. So we calculate the score by the expression below. Score=log(n+1)/log(nmax+1) The n in the expression refers to the values. By using this expression, we reduce the effect of extreme values and make the scores more convincing.

And the optimized weight of the factors are shown in the table below.
Table2:

Part Status 10
Sample Status 10
DNA Status 10
Part Results 15
Star Rating 10
Qualitative_
experience
5
Used Times 15
Average Rating 20
Number
of Comments
5

The above scoring system are used to evaluate all the bricks in our databases. It become effective in all the functions except upload. However, we still have another scoring system for devices.

2.devices scoring method with relationship between parts This method is mainly used in the evaluation function. For a device which is just designed by users, the score we get through the first method actually mean nothing, as there’re no information for the device on the registry. So we need to develop a new evaluation system based on its composing parts and relationships between the parts. When evaluating the relationships between parts, we take several factors into consideration, such as the frequency and the average score when the parts are used together and so on. Firstly the weight of the two aspects is confirmed. The default ratio is 65% for the parts and 35% for the relationships. In the first aspect, the weight of different types is dynamic. It’s influenced by the number and type of the parts. However it still shows the different significance of the parts. But in the second aspect, all relationships share the same weight. Then the scoring begins. Given that wet lab researchers care more about the outcome of a device, we search for functional coding parts in the device, and optimize it in the first place. After the user locks the functional parts, we start to optimize other parts. The order is decided according to their type and location in the device. Since there’re two scoring system for devices, the weight in the second one is adjusted to make the scores made by different method close so that scores for new devices can have the comparability with those already in the database. 3.Adding parts one by one This method is mainly used in recommendation function. It’s similar to the second one, but it only cares about the new adding part and relationships when doing the recommendations. The weight’s also adjusted to fit the other two method.

Reference

Morgan Madec, Yves Gendrault, Christophe Lallement, Member, IEEE, Jacques Haiech. A game-of-life like simulator for design-oriented modeling of BioBricks in synthetic biology, 34th Annual International Conference of the IEEE EMBS, San Diego, California USA, 28 August - 1 September, 2012

Suvi Santala, * Matti Karp, and Ville Santala, Monitoring Alkane Degradation by Single BioBrick Integration to an Optimal Cellular Framework, Synth. Biol. 2012, 1, 60 −64

Patrick M Boyle1, Devin R Burrill1, Mara C Inniss1, Christina M Agapakis1, Aaron Deardon, Jonathan G DeWerd, Michael A Gedeon, Jacqueline Y Quinn, Morgan L Paull, Anugraha M Raman, Mark R Theilmann, Lu Wang, Julia C Winn, Oliver Medvedik, Kurt Schellenberg, Karmella A Haynes,Alain Viel, Tamara J Brenner, George M Church, Jagesh V Shah1 and Pamela A Silver, A BioBrick compatible strategy for genetic modification of plants, Journal of Biological Engineering 2012, 6:8

Ilya B. Tikh & Mark Held & Claudia Schmidt-Dannert, BioBrickTM compatible vector system for protein expression in Rhodobacter sphaeroides, Appl Microbiol Biotechnol (2014) 98:3111–3119

Jacob E. Vick & Ethan T. Johnson & Swat i Choudhar y & Sarah E. Bloch & Fern ando Lope z-Galleg o & Poonam Sr ivastava & Ilya B. Tikh & Grays on T. Wawrzy n & Claud ia Sc hmidt-Da nnert, Optimized compa tible set of BioBrick™ vectors for met abolic pathway engineering, Appl Microbiol Biotechnol (2011) 92:1275–1286

Methods in Molecular Biology: Synthetic+Gene+Networks, John M. Walker, Wilfried Weber, Martin Fussenegger, Humana Press, 2012


Validaction

勾勾丑丑哒


Demo

勾勾傻傻哒


Download

勾勾么么哒


Achivement

1.We firstly include relationships between parts to the evaluation of devices. 2.Our software can help in the whole process that a user designs a new device: the optimization of one part and another, and the visualization of the device. 3.Our software enable users to design their personalised weight for part evaluation. 4.Our software help users upload their parts more easily and can expand its own database. 5.Our software is web-based, which is more convenient for users to use.

此处放赞助商 学院