Team:OUC-China/Software

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.


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.


①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 monocistrons sequence and the start and end positions of the CDs's SD sequence. The two parameters are separated by Spaces.



If the user choose polycistrons, he need to input the 1st CDs, the start and end positions of the 1st CDs's SD sequence,the 2rd CDs and the start and end positions of the 2rd CDs's SD (Only biscistrons can be verified at present). The four arguments are separated by Spaces, for example:




For predict and riboswitch option:

If the user choose monocistrons , he need to input the riboswitch sequence,the monocistrons sequence and the start and end positions of the CDs's SD sequence .The three arguments are separated by Spaces.

If the user choose polycistrons, he need to input the riboswitch sequence, the 1st CDs,the start and end positions of the 1st CDs's SD sequence,2rd CDs and the start and end positions of the 2rd CDs's SD .(Only biscistrons can be verified at present). The five arguments are separated by Spaces.

For design and promoters option:

If the user choose monocistrons, he need to input the monocistrons sequence, the start and end positions of the CDs's SD sequence and target translation rate.The three arguments are separated by Spaces.The five arguments are separated by Spaces.

If the user choose polycistrons, he need to input the 1st CDs,the start and end positions of the 1st CDs's SD sequence, the 2rd CDs and the start and end positions of the 2rd CDs's SD, the target translation rate is about 2rd CDs(Only biscistrons can be verified at present). The five arguments are separated by Spaces.

For design and riboswitch option:

If the user choose monocistrons, he need to input the riboswitch sequence, the monocistrons sequence,the start and end positions of the CDs's SD sequence and target translation rate.The four arguments are separated by Spaces.

If the user choose polycistrons, he need to input the riboswitch sequence, the 1st CDs,the start and end positions of the 1st CDs's SD sequence, the 2rd CDs and the start and end positions of the 2rd CDs's SD, the target translation rate is about 2rd CDs(Only biscistrons can be verified at present). The six arguments are separated by Spaces.



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.

Click here to get the codes of software.