Team:USTC-Software/requirements.php
From 2014.igem.org
Requirements
Medals
Bronze
The following 4 goals must be achieved:
Register the team, have a great summer, and have fun attending the Jamboree in Boston.
Create and share a description of the team's project via the iGEM wiki.
Present a Poster and Talk at the Regional Jamboree and World Championship Jamboree.
Develop and make available via The Registry of Software Tools, an open source software tool that supports Synthetic Biology based on Standard Parts.
You can directly enter the precise number of Standard Part, you can get its all types in BioBrick Assistant Windows.
Silver
In addition to the Bronze Medal requirements, the following 4 goals must be achieved:
Demonstrate the relevance of your development for Synthetic Biology based on standard Parts.
You can directly enter the precise number of Standard Part, you can get its types in BioBrick Assistant Windows .then you can use blast tool with the sequence from BioBrick Assistant.By comparing the homology between the sequence of the part and in our database, we could predict its impact on the target body when injected to some extent.
Provide a comprehensive and well-designed User Guide. (Be creative! An instructional video may work as well.)
We have a complete user manual here!
Provide detailed API documentation, preferably, automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc).
We use toc to automatically produce api document. Here!
Demonstrate that you followed best practises in software development so that other developers can modify, use and reuse your code. Provide more than one realistic test case. Examples of best practices are automated unit testing and documentation of test coverage , bug tracking facilities, documentation of releases and changes between releases.
Problem feedback and bug tracking: You can cast inquiry on us by GitHub, GitLab and YouTrack. Meanwhile, YouTrack is also used for bug tracking, ensuring your feedback goes to the developer as soon as possible.
Automated Deployment: Our server has automated deployment capabilities. Server-side applications are bound with the Product branch of Git. All codes pushed to the Product branch will be deployed to many servers over the world in ten seconds. In order to prevent fault codes from being deployed to the servers by mistake, all the testing branches will be deployed to the testing server real-timely to be tested by developers.
Unit Testing: Our server applies automated unit testing to dealing with uploaded back end codes. It will test the basic legitimacy and function of the codes, including robustness testing with respect to illegitimate uploaded parameters, legitimacy testing on data legitimacy, status testing of the database and testing of function realizaton, etc.
Gold
In addition to the Bronze and Silver Medal requirements, two additional goals must be achieved:
Provide a convincing validation, testing the performance of the development -- experimentally (can be outsourced) or by other teams and users. Note, even if the algorithm or tool turns out not to work that well, the Gold requirement is fulfilled if the test is good and the analysis convincing. Validation may include: preferably experiments, informatics analysis (complexity, run time) of an algorithm, or user studies.
Analysis of pathway finder (k-shortest pathway search):
We use a specail heuristic algorithm , A* search algorithm, to find more than one path connected two nodes in a given network.The run time of A* depends on structure of the given network. The space complexity is the number of edges plus the number of nodes. In our back end, we test this algorithm. The average of time which database reading costs is 1"40, the average of time which Vars initialization costs is 0"70, the average of time which SPFA(abbreviation for Shortest Path Faster Algorithm) costs is 0"37, and the average of time which Serialize costs is 0"21.
And the second goal can be any one of the following:
Make your software interact / interface with the Registry.
You can directly enter the precise number of Standard Part, you can get its types in BioBrick Assistant Windows .then you can use blast tool with the sequence from BioBrick Assistant.By comparing the homology between the sequence of the part and in our database, we could predict its impact on the target body when injected to some extent.
Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks.
We use blast code from ncbi to comparing the homology.
Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)
We use toc to automatically produce api document. Here!
Support and use the SBOL and / or SBOLv standard.
Biopano supports file format conversion to sbol perfectly.
Safety
1. Are you using the iGEM Software repository at github.com/igemsoftware? If you have instead stored your code elsewhere, please explain where and why you have put it there. If your code is not in the iGEM repository, a re you using any version control system such as Git, CVS, or SVN?
Yes, we use the iGEM Software repository at github.com/igemsoftware.
2. Does your software store any private data supplied by the user? (For example: the user's name and email address, passwords, DNA sequences, circuit designs, etc.) If yes, please describe what kind of data is stored. If no, skip the rest of this question and move on to question 3.
We store the user's name, the email address (if he/she logs in using Gmail account) or the username (if logged in using Baidu account), and the user's all data designed with our software. Especially, we DO NOT store the user's password because we only allow users to log in with their Gmail account or Baidu account using OAuth2.0 , which is a very secure protocol describing a third-party login pattern.
3. Does your software include any other security features? Please describe them here.
We use OAuth technology in user system. So users can log in with their GOOGLE account or BAIDU account without telling us their passwords.
4. Does your software let the user create a design by choosing parts/genes from a list/database, such as the Registry? If so, which lists/databases are included? Is there any restriction on which parts/ genes the user can choose?
Yes, users can use database built by our team to assist themself to create a design. The database we build is the result of merging and reforming parts of KEGG, RegulonDB, Uniport.
5. Does your software allow users to write new data into any public lists or databases? If so, do you check the new data for errors before allowing it to be written?
Yes, users can upload their data to our database anytime.
Yes, we will check validation and format of data before it is written in the back end.
6. Does your software include any other features that encourage the user to create safe designs? Please describe them.
No.
7. Is your team also doing biological work in a wet lab ?
No.
Collaboration
While preparing for iGEM, we always hope we can accomplish more and more people can join this great project. Luckily, by cooperation with others, all these hopes come ture.
While completing our project, we encountered all kinds of problems, of which some could hardly solve by ourselves. We solved them by discussing and cooperating with many professors of USTC. At the same time, we knew more about the original thoughts of synthetic biological researchers. So we tried to combine their needs and our project, hoping we could also help them. Now, we believe that we realized our original intention.
One reason why iGEM competition is unforgettable is that it makes us know more like-minded people. This year, we hoped iGEM teams could communicate more with each other, so we organized iGEM meetup this summer. Teams from China got familiar through the meetup, and we kept in touch after it. We not only got to know each other by frequent communication, but helped each other with their problems to bring about good results for us all as well.
While enjoying iGEM, we hoped more people could join us. This year, HFUT_CHINA sent a team for iGEM for the first time. As a team new to iGEM, it would surely encounter more problems. As their neighbor, we kept in touch with them and did everything we could to help them with their project. Through the course, we got to know a lot of people enthusiastic about iGEM of our age. We are glad that they also join iGEM.