Difference between revisions of "Team:OUC-China/Software"

Line 247: Line 247:
 
<div class='text'style="color:#9ad3c8;font-weight:bold">Definition of Requirements</div></br>
 
<div class='text'style="color:#9ad3c8;font-weight:bold">Definition of Requirements</div></br>
 
<div class='text'>In the process of making software, we constantly discuss with teammates and professors  about what kind of software is good and in demand. So we did a statistical analysis of the projects of the iGEM team over the years, and we found that in terms of repressing and activating genes, some people used the CRISPR system, some people used asRNA, and the rest were some other regulatory approaches. So, our software does have a large audience. We collected Suggestions and found that most people want the software to be quickly learned and not overly complex. Some of them want the software to run faster to get results.</div></br>
 
<div class='text'>In the process of making software, we constantly discuss with teammates and professors  about what kind of software is good and in demand. So we did a statistical analysis of the projects of the iGEM team over the years, and we found that in terms of repressing and activating genes, some people used the CRISPR system, some people used asRNA, and the rest were some other regulatory approaches. So, our software does have a large audience. We collected Suggestions and found that most people want the software to be quickly learned and not overly complex. Some of them want the software to run faster to get results.</div></br>
<div class='text'></div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/d/d8/T--OUC-China--softwarebackground.png" style="max-width:80%"></div></br>
<div class='text'> </div></br>
+
<div class='text'>Fig A.The ratio of CRISPR to non-coding RNA use among undergraduate team between 2010 and 2018.</div></br>
<div class='text'>CRISPR:69% RNA:31%</div></br>
+
<div class='text' style="text-align:center">CRISPR:69% RNA:31%</div></br>
 
<div class='text'></div></br>
 
<div class='text'></div></br>
 
<div class='text' style="color:#9ad3c8;font-weight:bold">Design RiboLego</div></br>
 
<div class='text' style="color:#9ad3c8;font-weight:bold">Design RiboLego</div></br>
 
<div class='text'>According to the needs of most people, we had several options in mind, and the key aspects we were searching for were:</div></br>
 
<div class='text'>According to the needs of most people, we had several options in mind, and the key aspects we were searching for were:</div></br>
<div class='text'>? Easy to understand</div></br>
+
<div class='text'>Easy to understand</div></br>
<div class='text'>? Reduced computational workload.</div></br>
+
<div class='text'>Reduced computational workload.</div></br>
<div class='text'>? The use of versatile programming languages. </div></br>
+
<div class='text'>The use of versatile programming languages. </div></br>
 
<div class='text'>That is why we chose python and Linux. Python's insistence on a clear and uniform style of design makes it an easy to read, easy to maintain, and a versatile language popular with a large number of users. At the same time, in terms of software algorithm compilation, we use a lot of intelligent algorithms to make the software run more efficient and fast.The python library and the free energy algorithm we introduced needed to run on Linux. Linux is a free to use and freely distributed unix-like operating system, a POSIX and unix-based multi-user, multi-task, multi-threaded and multi-cpu operating system. It supports 32-bit and 64-bit hardware.</div></br>
 
<div class='text'>That is why we chose python and Linux. Python's insistence on a clear and uniform style of design makes it an easy to read, easy to maintain, and a versatile language popular with a large number of users. At the same time, in terms of software algorithm compilation, we use a lot of intelligent algorithms to make the software run more efficient and fast.The python library and the free energy algorithm we introduced needed to run on Linux. Linux is a free to use and freely distributed unix-like operating system, a POSIX and unix-based multi-user, multi-task, multi-threaded and multi-cpu operating system. It supports 32-bit and 64-bit hardware.</div></br>
 
<div class='text'> </div></br>
 
<div class='text'> </div></br>
Line 261: Line 261:
 
<div class='text'>RiboLego’s functions can be divided into three modules, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios,selection of stabilizer and asRNA design. </div></br>
 
<div class='text'>RiboLego’s functions can be divided into three modules, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios,selection of stabilizer and asRNA design. </div></br>
 
<div class='text'>When the user runs the program, the first interface of the software appears. According to the user's requirements, click the corresponding option.</div></br>
 
<div class='text'>When the user runs the program, the first interface of the software appears. According to the user's requirements, click the corresponding option.</div></br>
<div class='text'> </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/1/1b/T--OUC-China--ribolegointerface1.png" style="max-width:80%"></div></br>
 
<div class='text'>(T--OUC-China--ribolegointerface1.png)</div></br>
 
<div class='text'>(T--OUC-China--ribolegointerface1.png)</div></br>
 
<div class='text'>①If the user click tuner option:</div></br>
 
<div class='text'>①If the user click tuner option:</div></br>
Line 267: Line 267:
 
<div class='text'>If the user wants to predict the translation rate of natural operons, they should click the prediction option.</div></br>
 
<div class='text'>If the user wants to predict the translation rate of natural operons, they should click the prediction option.</div></br>
 
<div class='text'>If the use wants to design synthetic operons with desired expression level ratios, they should click the design option.</div></br>
 
<div class='text'>If the use wants to design synthetic operons with desired expression level ratios, they should click the design option.</div></br>
<div class='text'>         </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/1/1b/T--OUC-China--pedict_design1.png" style="max-width:80%"></div></br>
<div class='text'>(T--OUC-China--pedict_design1.png)</div></br>
+
<div class='text'></div></br>
 
<div class='text'>Secondly, Because the promoter and riboswitch algorithms are different, click the promoter or riboswitch options according to the user's needs.</div></br>
 
<div class='text'>Secondly, Because the promoter and riboswitch algorithms are different, click the promoter or riboswitch options according to the user's needs.</div></br>
<div class='text'> </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/8/89/T--OUC-China--riboswitch_promoter.png" style="max-width:80%"></div></br>
<div class='text'>(T--OUC-China--riboswitch promoter.png)</div></br>
+
<div class='text'></div></br>
 
<div class='text'>Thirdly, Because the algorithm of monocistrons and polycistrons is different, the user needs to choose different options according to his choice.</div></br>
 
<div class='text'>Thirdly, Because the algorithm of monocistrons and polycistrons is different, the user needs to choose different options according to his choice.</div></br>
<div class='text'> </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/0/09/T--OUC-China--monocistrons_and_polycistrons.png" style="max-width:80%"></div></br>
<div class='text'>(T--OUC-China--monocistrons and polycistrons.png)</div></br>
+
<div class='text'></div></br>
 
<div class='text'>For predict and promoters option:</div></br>
 
<div class='text'>For predict and promoters option:</div></br>
 
<div class='text'>If the user choose monocistrons , he only need to input the single monocistrons sequence.</div></br>
 
<div class='text'>If the user choose monocistrons , he only need to input the single monocistrons sequence.</div></br>
<div class='text'> </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/8/8c/T--OUC-China--monocistrons_and_polycistrons_sequence.png" style="max-width:80%"></div></br>
<div class='text'>(T--OUC-China--monocistrons and polycistrons sequence.png)</div></br>
+
<div class='text'></div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS and 2rd CDS.(Only biscistrons can be verified at present).</div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS and 2rd CDS.(Only biscistrons can be verified at present).</div></br>
<div class='text'> </div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/c/c9/T--OUC-China--promoter_1st2rd_sequence.png" style="max-width:80%"></div></br>
<div class='text'>(T--OUC-China--promoter 1st2rd sequence.png)</div></br>
+
<div class='text'></div></br>
 
<div class='text'>For predict and riboswitch option:</div></br>
 
<div class='text'>For predict and riboswitch option:</div></br>
 
<div class='text'>If the user choose monocistrons , he need to input the monocistrons sequence and riboswitch sequence.</div></br>
 
<div class='text'>If the user choose monocistrons , he need to input the monocistrons sequence and riboswitch sequence.</div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS , 2rd CDS and riboswitch sequence(Only biscistrons can be verified at present).</div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS , 2rd CDS and riboswitch sequence(Only biscistrons can be verified at present).</div></br>
 +
 
<div class='text'>For design and promoters option:</div></br>
 
<div class='text'>For design and promoters option:</div></br>
 
<div class='text'>        If the user choose monocistrons, he only need to input the single cistron sequence and target translation rate.</div></br>
 
<div class='text'>        If the user choose monocistrons, he only need to input the single cistron sequence and target translation rate.</div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS, 2rd CDS and target translation rate (Only biscistrons can be verified at present, the target translation rate is about 2rd CDS).</div></br>
 
<div class='text'>If the user choose polycistrons, he need to input the 1st CDS, 2rd CDS and target translation rate (Only biscistrons can be verified at present, the target translation rate is about 2rd CDS).</div></br>
 
<div class='text'>  </div></br>
 
<div class='text'>  </div></br>
<div class='text'>(T--OUC-China--target rate.png)</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/d/db/T--OUC-China--target_rate.png" style="max-width:80%"></div></br>
 
<div class='text'>Finally, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios will be given through TXT file and software interface.</div></br>
 
<div class='text'>Finally, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios will be given through TXT file and software interface.</div></br>
 
<div class='text'>  </div></br>
 
<div class='text'>  </div></br>
<div class='text'>(T--OUC-China--tunerresult.png) ()</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/a/a4/T--OUC-China--tunnerresult.png" style="max-width:80%"></div></br>
 
<div class='text'>②If the user click stabilizer option:</div></br>
 
<div class='text'>②If the user click stabilizer option:</div></br>
 
<div class='text'>  The user only needs to input the riboswitch sequence and a whole length of a gene that can stable the riboswitch secondary structure. Software results will be given in TXT format files.</div></br>
 
<div class='text'>  The user only needs to input the riboswitch sequence and a whole length of a gene that can stable the riboswitch secondary structure. Software results will be given in TXT format files.</div></br>
 
<div class='text'>  </div></br>
 
<div class='text'>  </div></br>
<div class='text'>(T--OUC-China--stabilizer sequence.png)</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/4/45/T--OUC-China--stabilizer_sequence.png" style="max-width:80%"></div></br>
 +
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/f/fd/T--OUC-China--stabilizerresult.png" style="max-width:80%"></div></br>
 
<div class='text'> </div></br>
 
<div class='text'> </div></br>
 
<div class='text'>③If the user click asRNA option:</div></br>
 
<div class='text'>③If the user click asRNA option:</div></br>
Line 303: Line 305:
 
<div class='text'>  If the user want to design the repressing asRNA, the user need to click the repressing asRNA option.</div></br>
 
<div class='text'>  If the user want to design the repressing asRNA, the user need to click the repressing asRNA option.</div></br>
 
<div class='text'> </div></br>
 
<div class='text'> </div></br>
<div class='text'>(T--OUC-China--repressing activating.png)</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/d/d6/T--OUC-China--repressing_activating.png" style="max-width:80%"></div></br>
 
<div class='text'>Secondly, the user needs to input the targeted sequence of asRNA:</div></br>
 
<div class='text'>Secondly, the user needs to input the targeted sequence of asRNA:</div></br>
 
<div class='text'> </div></br>
 
<div class='text'> </div></br>
<div class='text'> (T--OUC-China--activating repressing.png)</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/6/65/T--OUC-China--activating_repressing.png" style="max-width:80%"></div></br>
 
<div class='text'>At the interface of activating asRNA , the software will give the obtained activating asRNA sequence and its activation efficiency through TXT file and software interface.</div></br>
 
<div class='text'>At the interface of activating asRNA , the software will give the obtained activating asRNA sequence and its activation efficiency through TXT file and software interface.</div></br>
 
<div class='text'>  At the interface of repressing asRNA , the software will give the obtained repressing asRNA sequence and its repression efficiency through TXT file and software interface.</div></br>
 
<div class='text'>  At the interface of repressing asRNA , the software will give the obtained repressing asRNA sequence and its repression efficiency through TXT file and software interface.</div></br>
 
<div class='text'> </div></br>
 
<div class='text'> </div></br>
<div class='text'>(T--OUC-China--actiivating repressing result.png)</div></br>
+
<div class='text' style="text-align:center"><img src="https://static.igem.org/mediawiki/2019/1/1d/T--OUC-China--actiivating_repressing_result.png" style="max-width:80%"></div></br>
 
<div class='text'>Future:</div></br>
 
<div class='text'>Future:</div></br>
 
<div class='text'>We have successfully implemented a user-friendly software interface that makes it easier for users to predict their own sequences’ translation rate. </div></br>
 
<div class='text'>We have successfully implemented a user-friendly software interface that makes it easier for users to predict their own sequences’ translation rate. </div></br>
Line 316: Line 318:
 
<div class='text'>Finally, to achieve a better user experience, we want to create reporting capabilities. Depend on it, the result and problem will Inform users in real time.</div></br>
 
<div class='text'>Finally, to achieve a better user experience, we want to create reporting capabilities. Depend on it, the result and problem will Inform users in real time.</div></br>
 
<div class='text'>We think RiboLego is a powerful software, and we hope our software can play more roles in the future.</div></br>
 
<div class='text'>We think RiboLego is a powerful software, and we hope our software can play more roles in the future.</div></br>
<div class='text'></div></br>
+
 
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'> </div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
<div class='text'></div></br>
+
  
 
</br></br></br></br>
 
</br></br></br></br>

Revision as of 11:40, 21 October 2019

kkkkk





















































Overview

Nowadays, with the development and popularization of computer science, more and more scientific research works benefit from it. In our project, our modeling work was done with the help of software. With python, the model principle is converted to code form. When users input a target sequence or desired expression level, the software will predict expression level ratios in the target sequence or to design synthetic sequence with desired expression level ratios. When users input the complete sequence that stabilize riboswitch secondary structure. The software will output suitable stabilizer for the users to choose. If the user want to design asRNA to activate or repress target gene, they only need to input the target sequence. And that the software will give the asRNA sequence and predict the efficiency of designed asRNA. Finally, we exposed the code in our wiki to help anyone who needs it.


RiBoLeGo:

Model reveals how we design tuner, stabilizer and asRNA, but complex model and a large amount of calculation will limit you to use. To solve this huge problem, we introduced the software:RiboLego.In the form of user-friendly interface, the software provides users with corresponding functional services. So that everyone can have access to the capabilities of RiboLego. The software achieves the goal of spreading our model out.


Definition of Requirements

In the process of making software, we constantly discuss with teammates and professors about what kind of software is good and in demand. So we did a statistical analysis of the projects of the iGEM team over the years, and we found that in terms of repressing and activating genes, some people used the CRISPR system, some people used asRNA, and the rest were some other regulatory approaches. So, our software does have a large audience. We collected Suggestions and found that most people want the software to be quickly learned and not overly complex. Some of them want the software to run faster to get results.


Fig A.The ratio of CRISPR to non-coding RNA use among undergraduate team between 2010 and 2018.

CRISPR:69% RNA:31%


Design RiboLego

According to the needs of most people, we had several options in mind, and the key aspects we were searching for were:

● Easy to understand

● Reduced computational workload.

● The use of versatile programming languages.

That is why we chose python and Linux. Python's insistence on a clear and uniform style of design makes it an easy to read, easy to maintain, and a versatile language popular with a large number of users. At the same time, in terms of software algorithm compilation, we use a lot of intelligent algorithms to make the software run more efficient and fast.The python library and the free energy algorithm we introduced needed to run on Linux. Linux is a free to use and freely distributed unix-like operating system, a POSIX and unix-based multi-user, multi-task, multi-threaded and multi-cpu operating system. It supports 32-bit and 64-bit hardware.


Software process

RiboLego’s functions can be divided into three modules, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios,selection of stabilizer and asRNA design.

When the user runs the program, the first interface of the software appears. According to the user's requirements, click the corresponding option.


(T--OUC-China--ribolegointerface1.png)

①If the user click tuner option:

Firstly, they should choose the options which they want:

If the user wants to predict the translation rate of natural operons, they should click the prediction option.

If the use wants to design synthetic operons with desired expression level ratios, they should click the design option.



Secondly, Because the promoter and riboswitch algorithms are different, click the promoter or riboswitch options according to the user's needs.



Thirdly, Because the algorithm of monocistrons and polycistrons is different, the user needs to choose different options according to his choice.



For predict and promoters option:

If the user choose monocistrons , he only need to input the single monocistrons sequence.



If the user choose polycistrons, he need to input the 1st CDS and 2rd CDS.(Only biscistrons can be verified at present).



For predict and riboswitch option:

If the user choose monocistrons , he need to input the monocistrons sequence and riboswitch sequence.

If the user choose polycistrons, he need to input the 1st CDS , 2rd CDS and riboswitch sequence(Only biscistrons can be verified at present).

For design and promoters option:

If the user choose monocistrons, he only need to input the single cistron sequence and target translation rate.

If the user choose polycistrons, he need to input the 1st CDS, 2rd CDS and target translation rate (Only biscistrons can be verified at present, the target translation rate is about 2rd CDS).



Finally, the prediction of expression level ratios in natural operons or design of synthetic operons with desired expression level ratios will be given through TXT file and software interface.



②If the user click stabilizer option:

The user only needs to input the riboswitch sequence and a whole length of a gene that can stable the riboswitch secondary structure. Software results will be given in TXT format files.





③If the user click asRNA option:

Firstly, they should choose the options which they want:

If the user want to design the activating asRNA, the user need to click the activating asRNA option.

If the user want to design the repressing asRNA, the user need to click the repressing asRNA option.



Secondly, the user needs to input the targeted sequence of asRNA:



At the interface of activating asRNA , the software will give the obtained activating asRNA sequence and its activation efficiency through TXT file and software interface.

At the interface of repressing asRNA , the software will give the obtained repressing asRNA sequence and its repression efficiency through TXT file and software interface.



Future:

We have successfully implemented a user-friendly software interface that makes it easier for users to predict their own sequences’ translation rate.

Due to time, our design code has not yet been associated with the visual interface. The next step is to implement the connection between the visual interface and the design of the tuner sequence (if you want to design the tuner sequence, you can do so by reading our code), and the code work on the asRNA activation design is still in progress. We also want to be able to create a database of riboswitch to store more about riboswitch downstream’s stabilizer sequences so that users have a more diverse screening tuner and stabilizer.

Finally, to achieve a better user experience, we want to create reporting capabilities. Depend on it, the result and problem will Inform users in real time.

We think RiboLego is a powerful software, and we hope our software can play more roles in the future.