Team:AMU-Poznan/Project

From 2014.igem.org

(Difference between revisions)
Line 66: Line 66:
<img src="https://static.igem.org/mediawiki/2014/b/bb/Shmir-STANDARD.png" width="60%"></br>
<img src="https://static.igem.org/mediawiki/2014/b/bb/Shmir-STANDARD.png" width="60%"></br>
<h1>User Guide</h1>
<h1>User Guide</h1>
 +
<div align="left">
<h3>Usage via Web server</h1>
<h3>Usage via Web server</h1>
go to our website <a href="shmir.wmi.amu.edu.pl">shmir.wmi.amu.edu.pl</a>
go to our website <a href="shmir.wmi.amu.edu.pl">shmir.wmi.amu.edu.pl</a>
Line 85: Line 86:
--stymulators : One of ["yes", "no", "no_difference"] -- default: "no_difference"</br>
--stymulators : One of ["yes", "no", "no_difference"] -- default: "no_difference"</br>
./shmir_client.py from_transcript NM_001618.3 --mirna_name miR-30a --min_gc 22</br>
./shmir_client.py from_transcript NM_001618.3 --mirna_name miR-30a --min_gc 22</br>
 +
</div>
<h1>Technology</h1>
<h1>Technology</h1>
 +
<div align="left">
</br>The application was built with Python 2.7. It is divided into 3 parts:</br>
</br>The application was built with Python 2.7. It is divided into 3 parts:</br>
RESTful API - the “heart” of our software - it performs all calculations. Our application is built on CentOS (Linux) operating system. To maintain better compatibility with our server we use Vagrant to create Virtual Machine and Puppet to manage infrastructure of our project. All you need to do is: type into console “vagrant up” and after a while everything is ready to work. This subproject is written with following technologies/frameworks/libraries: Flask, Flask-Cache, SqlAlchemy, PostgreSQL, Celery, Flower, Rabbitmq, Redis, BioPython, mfold (lightweight), uwsgi, sphinx, Python testing tools (mock, nose, unittest).</br>
RESTful API - the “heart” of our software - it performs all calculations. Our application is built on CentOS (Linux) operating system. To maintain better compatibility with our server we use Vagrant to create Virtual Machine and Puppet to manage infrastructure of our project. All you need to do is: type into console “vagrant up” and after a while everything is ready to work. This subproject is written with following technologies/frameworks/libraries: Flask, Flask-Cache, SqlAlchemy, PostgreSQL, Celery, Flower, Rabbitmq, Redis, BioPython, mfold (lightweight), uwsgi, sphinx, Python testing tools (mock, nose, unittest).</br>
Console client - simple console application which communicates with API using requests library. It has 3 options: mfold (folding structure), from_sirna (create sh-miR from siRNA) and from_transcript (create sh-miR from transcript name).</br>
Console client - simple console application which communicates with API using requests library. It has 3 options: mfold (folding structure), from_sirna (create sh-miR from siRNA) and from_transcript (create sh-miR from transcript name).</br>
Website - application written in Django framework. It enables you to use the API via graphical interface. You can also create your own account and save the history of your requests for later usage.
Website - application written in Django framework. It enables you to use the API via graphical interface. You can also create your own account and save the history of your requests for later usage.
 +
</div>
</br>
</br>
<h1>API documentation</h1>
<h1>API documentation</h1>
Line 97: Line 101:
Here you can find api for developers: <a href="https://github.com/Nozdi/shmir">https://github.com/Nozdi/shmir</a></br>
Here you can find api for developers: <a href="https://github.com/Nozdi/shmir">https://github.com/Nozdi/shmir</a></br>
<h1>Releases (re-use of 2013iGEM software)</h1>
<h1>Releases (re-use of 2013iGEM software)</h1>
 +
<div align="left">
</br>sh-miR designer v1.0 </br>
</br>sh-miR designer v1.0 </br>
First version of the program presented on iGEM 2013 by our team. The user have to provide siRNA sequence (one or both strands). The miRNA database includes 5 miRNAs. </br>
First version of the program presented on iGEM 2013 by our team. The user have to provide siRNA sequence (one or both strands). The miRNA database includes 5 miRNAs. </br>
Line 111: Line 116:
preparing construct with flanking restriction enzymes </br>
preparing construct with flanking restriction enzymes </br>
providing plasmids with parts from standard parts </br>
providing plasmids with parts from standard parts </br>
 +
</div>
<h1>Unit Tests</h1>
<h1>Unit Tests</h1>
</br>
</br>
-
A few words about</br>
+
<div align="left">
-
</br>
+
In our application we are using unit tests to test alghoritms, functions and database.</br>
In our application we are using unit tests to test alghoritms, functions and database.</br>
We are testing inputs and outputs:</br>
We are testing inputs and outputs:</br>
Line 149: Line 154:
         )</br>
         )</br>
</br>
</br>
 +
</div>
<h1>Validation</h1>
<h1>Validation</h1>
<h3>old version shmiR v1.0 (average time)</h3>
<h3>old version shmiR v1.0 (average time)</h3>
Line 245: Line 251:
</br>
</br>
<div align="left">Bronze. The following 4 goals must be achieved:</br>
<div align="left">Bronze. The following 4 goals must be achieved:</br>
-
<b>Register the team, have a great summer, and have fun attending the Jamboree in Boston.</br>
+
<ul>
-
Create and share a description of the team's project via the iGEM wiki.</br></b>
+
<li><b>Register the team, have a great summer, and have fun attending the Jamboree in Boston.</br><\li>
-
Present a Poster and Talk at the Regional Jamboree and World Championship Jamboree.<b> We will on Jamboree :)</br>
+
<li>Create and share a description of the team's project via the iGEM wiki.</br></b><\li>
-
Develop and make available, via The iGEM Software Registry, an open source software that supports Synthetic Biology based on Standard Parts.</b></br></br>
+
<li>Present a Poster and Talk at the Regional Jamboree and World Championship Jamboree.<b> We will on Jamboree :)</br><\li>
 +
<li>Develop and make available, via The iGEM Software Registry, an open source software that supports Synthetic Biology based on Standard Parts.<\li></b></br></br>
 +
</ul>
Silver: In addition to the Bronze Medal requirements, the following 4 goals must be achieved:</br>
Silver: In addition to the Bronze Medal requirements, the following 4 goals must be achieved:</br>
-
<b>Demonstrate the relevance of your development for Synthetic Biology based on standard Parts.</br>
+
<ul>
-
Provide a comprehensive and well-designed User Guide. (Be creative! An instructional video may work as well.)</br>
+
<b><li>Demonstrate the relevance of your development for Synthetic Biology based on standard Parts.</br></li>
-
Provide detailed API documentation, preferably, automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc).</br>
+
<li>Provide a comprehensive and well-designed User Guide. (Be creative! An instructional video may work as well.)</br></li>
-
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.</br></br></b>
+
<li>Provide detailed API documentation, preferably, automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc).</br></li>
 +
<li>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.</br></br></b></li>
 +
</ul>
Gold: In addition to the Bronze and Silver Medal requirements, two additional goals must be achieved: </br>
Gold: In addition to the Bronze and Silver Medal requirements, two additional goals must be achieved: </br>
<b>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.</br></b>
<b>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.</br></b>
And the second goal can be any one of the following:</br>
And the second goal can be any one of the following:</br>
-
Make your software interact / interface with the Registry.</br>
+
<ul>
-
<b>Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks.</br>
+
<li>Make your software interact / interface with the Registry.</br></li>
-
Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)</b>
+
<li><b>Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks.</br></li>
-
Support and use the SBOL and / or SBOLv standard.</br>
+
<li>Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)</b></br></li>
-
<b>iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, safety, security, or intellectual property rights. Describe an approach that your team used to address at least one of these questions. Evaluate your approach, including whether it allowed you to answer your question(s), how it influenced the team’s scientific project, and how it might be adapted for others to use (within and beyond iGEM). We encourage thoughtful and creative approaches, and those that draw on past Policy & Practice (formerly Human Practices) activities.</b></br></br>
+
<li>Support and use the SBOL and / or SBOLv standard.</br></li>
 +
<li><b>iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, safety, security, or intellectual property rights. Describe an approach that your team used to address at least one of these questions. Evaluate your approach, including whether it allowed you to answer your question(s), how it influenced the team’s scientific project, and how it might be adapted for others to use (within and beyond iGEM). We encourage thoughtful and creative approaches, and those that draw on past Policy & Practice (formerly Human Practices) activities.</li>
 +
</ul></b></br></br>
</div></div>
</div></div>

Revision as of 16:58, 15 October 2014