Team:USTC-Software/Medal




Medal


Bronze

Our team have achieved the following 6 goals:

R1: Register for iGEM, have a great summer, and attend the Giant Jamboree.
E1: Of course, we have a good time together and are going to attend the Giant Jamboree.
R2: Complete the Judging Form.
E2: Our Judging Form is completed.
R3: Create and share a Description of the team¡¯s project using the iGEM wiki.
E3: The description and more detailed information of BioBLESS are on our wiki. Since our team is in the software track, we do not need to submit or document parts.
R4: Present a poster and a talk at the iGEM Jamboree.
E4: We will participate in Giant Jamboree and display our poster.
R5: Create a page on your team wiki with clear attribution of each aspect of your project.
E5: Here is our wiki¡¯s attributions page.
R6: Develop and make available, via the iGEM GitHub page, an open source software that supports Synthetic Biology based on Standard Parts or interacts with the Registry.
E6: We developed our project via the iGEM GitHub page. Here is our GitHub repository.




Silver

In addition to the Bronze Medal requirements, our team have achieved the following 3 goals:

R1: Provide a comprehensive, well-designed User Guide for your software and upload it to your wiki. Be creative!
E1: You could watch our video tutorial or download a pdf version.
R2: Develop a well documented library or API for other developers.
E2: You could download API doucumentation in here.
R3: Demonstrate that you followed best practices 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, and documentation of releases and changes between releases.
E3: Here are our demo page and validation page demonstrating several realistic examples on our wiki. We also have automated unit testing, documentation of test coverage, bug tracking facilities and documentation of releases and changes between releases on our GitHub.




Gold

In addition to the Bronze and Silver Medal requirements, our team have achieved the following 2 goals:

R1: iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, safety, security, and intellectual property rights. We refer to these activities as Human Practices in iGEM. Demonstrate how your team has identified, investigated and addressed one or more of these issues in the context of your project.
E1: We had done the Human Practices in outreach. More information and pictures are on our Human Practices page.
R2: Address a problem that you would like to co-develop with a wetlab team. This should be a collaboration where the wetlab team posts a problem they are having and your team addresses the issue by creating an online software solution.
E2: Yes. We address an issue for USTC team about fringe detection in their project, and we created an online software, where you can use to compute the interference series.
R3: Re-use and further develop a previous iGEM software project (or parts thereof) and demonstrate how future teams can continue this trend through good code documentation, use of open source materials and creation of great instructional materials.
E3: Yes, we inherit and develop the idea of 2007 team of USTC, they developed many Boolean gates and planned to employ knowledge from digital circuit to create cascade of Boolean gates. And our software reuses the framework of last year¡¯s USTC-Software team and the separation of front-end and back-end completely and REST API as the interface between them. Moreover, developers could easily develop their own software based on our project. More specifically, we could provide developers an easy-of-use API for further development. Here are the two examples below.
* Graph API. Software engineers could easily use our python code to build a gene circuit based on a truth with just a few lines. 
More specifically, developers just use the code `import biocircuit` to import our package and then use the following code to converting a truth table(a string) 
to some gene circuits with score.
        expr_from_back = biocircuit.string2expr(expr)
        circuit_from_back = biocircuit.create_circuit(expr_from_back)
        scores_from_back = biocircuit.circuit_score(circuit_from_back, biogate.d_gate)
        
* Simulate API. If scientists find a better way to simulate a gene circuit. He could just easily replace the algorithm with his owns. 
With the same interface, no changes should be made to the other components. The API could be seen below.
    system_data = biosystem.bio_system(request.data)
    system_data.simulation()
    response_from_back = system_data.record_list
Below is a well-formated example of the bio_system API
```
system_data = {
    "nodes": ["NOT2", "INPUT"],
    "arcs": [
        {"from": 1, "to": 0}
    ],
    "system_parameter":
        {
            "time": 10000
        },
    "simulation_parameters": [
        {
            "e1": {
                "trans1": 0.001,
                "trans2": 0.5,
                "decay1": 0.2,
                "decay2": 0.1
            },
            "e2": {
                "reg": 3
            },
            "e3": {
                "trans1": 0.01,
                "trans2": 0.5,
                "decay1": 0.2,
                "decay2": 0.1
            },
            "e4": {
                "reg": 3
            },
            "e5": {
                "reg": 3
            },
            "e6": {
                "trans1": 0.01,
                "trans2": 0.5,
                "decay1": 0.2,
                "decay2": 0.1
            },
            "device_parameter": {
                "initial": [
                    40, 40, 40
                ]
            }
        },
        {
            "device_parameter": {
                "initial": [
                    0
                ]
            }
        }
    ]
}
```


We also have auto-generated API documention for further development. See http://ustc.software/docs For REST API for the frontend for data 
exchange. See our github README to know how to generate the python API for backend.
For detailed Information, please see our github page.


		
R4: Demonstrate your software at the iGEM Giant Jamboree in the software demo suite. You should show a functional prototype that teams can use in following years.
E4: Yes. We will demonstrate BioBLESS in the software demo suite during the Giant Jamboree. We will show how BioBLESS¡¯s functions, including automatic circuit design, simulation&analysis, and visualization can help other teams in following years.

University of Science and Technology of China
No.96, Jinzhai Road, Hefei, Anhui, P.R.China
USTC-Software 2015

University of Science and Technology of China

We are here for you

Sponsered by