Team:Exeter/lab book/glyco/wk6

From 2012.igem.org

(Difference between revisions)
 
(10 intermediate revisions not shown)
Line 33: Line 33:
       <a href="https://2012.igem.org/Team:Exeter/lab_book/gibs/wk1"; style="color:#57b947">Operon Construction</a>       
       <a href="https://2012.igem.org/Team:Exeter/lab_book/gibs/wk1"; style="color:#57b947">Operon Construction</a>       
       &nbsp;|&nbsp;
       &nbsp;|&nbsp;
-
       <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk1"; style="color:#57b947">Glycobase</a>
+
       <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk1"; style="color:#57b947" >Glycobase</a>
       </p>
       </p>
     <!--End Project Division Links-->
     <!--End Project Division Links-->
Line 69: Line 69:
         -
         -
         </p>
         </p>
-
         <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk5"; style="color:#1d1d1b">30th July - 3rd August</a>
+
         <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk6"; style="color:#1d1d1b">30th July - 3rd August</a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk7"; style="color:#1d1d1b">6th - 10th August</a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk8"; style="color:#1d1d1b">10th - 14th September</a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk9"; style="color:#1d1d1b">17th - 21st September</a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="https://2012.igem.org/Team:Exeter/lab_book/glyco/wk10"; style="color:#1d1d1b">24th - 28th September</a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="https://2012.igem.org/Team:Exeter/Results/GlycoBase"; style="color:#e30614"><b>The Database: <font size="3">GlycoBase</font></b></a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="http://glycoweb.com/"; style="color:#e30614" target="_blank"><b>The Result: <font size="3">GlycoWeb</font></b></font></a>
 +
        <p>
 +
        -
 +
        </p>
 +
        <a href="http://sourceforge.net/projects/exe2012ecandi/"; style="color:#e30614" target="_blank"><b><font size="3">Source Code</font></b></font></a>
       </font>
       </font>
     </div>
     </div>
     <!--End Project Division Week Hyperlinks-->
     <!--End Project Division Week Hyperlinks-->
-
 
     </td>
     </td>
    
    
   <td width="850" height="250">
   <td width="850" height="250">
   <!------------INSERT WEEKLY IMAGE HERE------------>
   <!------------INSERT WEEKLY IMAGE HERE------------>
-
     <img src="" alt="" title="" width="850" height="250">
+
     <img src="https://static.igem.org/mediawiki/2012/7/70/Exe2012_lab15.jpg" alt="" title="" width="850" height="250">
   </td>
   </td>
   </tr>
   </tr>
Line 85: Line 112:
   <td valign="top" width="850">
   <td valign="top" width="850">
     <div style="text-align:justify">
     <div style="text-align:justify">
-
     <font face="DokChampa" color="#1d1d1b" size="2">
+
     <font face="Verdana" color="#1d1d1b" size="2">
      
      
-
       <font face="DokChampa" color="#57b947" size="4">
+
       <font face="Verdana" color="#57b947" size="4">
       <p><b><u>Glycobase: 30th July - 3rd August 2012</u></b></p>
       <p><b><u>Glycobase: 30th July - 3rd August 2012</u></b></p>
       </font>
       </font>
-
     <p><b><i>30/07/12</i></b></p>
+
     <p><b>30/07/12</b></p>
-
<p><i>GlycoBase Version 2.0</i></p>
+
<p><i>Using Bottle.Py</i></p>
-
<p>New features include:
+
<p>Completed example, importing 'route' using '@route('/attempt/:name') and running on localhost port 8080.</p>
-
</br>1) Randomize Button
+
<p>Ran the app.py python file using Windows command prompt. Output shows Bottle server listening on 'http://localhost:8080/'.</p>
-
</br>2) Drop down menu for the sugar unit choice</p>
+
<p>Went to URL http://localhost:8080/attempt/one.</p>
-
<p>To implement the randomize button I need to create a table highlighting all possible combinations.</p>
+
-
<p>Assign each of these an integer key, selected via the random number generator function.</p>
+
<p>Union operator used like an AND function for select statements.</p>
<p>Union operator used like an AND function for select statements.</p>
-
<p>Would it be better to build the chain as we go?</p>
+
<p>The message 'hello iGEM team' displayed, written to be in localhost port 8080.</p>
<p>SQL count could be useful for the dropdown menu.</p>
<p>SQL count could be useful for the dropdown menu.</p>
-
<p>rand_integer = random.randint(1,100) used to select a random integer between 1 and 100.</p>
+
<p>Completed second example using dynamic route http://localhost:8080/dynamic. The web address 'dynamic' is stored as variable unknown. This is printed on the screen and the web address changed.</p>
-
<p>The SQL select distinct statement: In a table, some of the columns may contain duplicate values. This is not a problem, however sometimes you will want to list only the different (distinct) values in a table. The 'distinct' keyword can be utilized in such situations.</p>
+
<p>Third example uses more than one dynamic route.</p>
-
<p>This is very useful in populating a drop down menu for sugars into the interface.</p>
+
<p>Expected output:
-
<p>Use a script to create a text file with the separate sugar names, then subsequently call this text file in the interface mainloop().</p>
+
</br>path 1:p1
-
<p>Display is unclear in interface, call a meeting to decide layout.</p>
+
</br>path 2:p2</p>
-
     <p><b><i>25/07/12</i></b></p>
+
<p>Web browser input http:/localhost:8080/p1/p2, where p1 and p2 are now variables recorded under path 1 and path 2.</p>
-
<p><i>Exception Handling</i></p>
+
     <p><b>01/08/12</b></p>
-
<p>Used to catch errors which occur whenever the application may be running such that users do not 'see' the error.</p>
+
<p>More bottle examples completed along with http request methods.<p>
-
<p>The most common errors in GlycoBase 2.0 are as follows:</p>
+
    <p><b>02/08/12</b></p>
-
<p>1) Value Error
+
<p><i>Routing static files</i></p>
-
</br>This error occurs when the user attempts to call the randomize method without entering the desired length of repeat unit.</p>
+
<p>Static files (images or CSS stylesheets) are not served automatically so must add a route and call back to control where to find the files. Thus, the CSS is interpreted within the HTML.</p>
-
<p>2) Operational Error
+
<p><i>Web based to do list</i></p>
-
</br>This error occurs whenever the user calls a method that makes use of the SQL database before creating the database.</p>
+
<p>Each page visible in the browser is generated when the URL is called. A 'route' in the bottle is an address on the server. When called, Bottle accepts the call and checks if there is any Python function defined. Bottle then executes any code called.</p>
-
<p>Error 1 best fixed printing a message to the output text widget.</p>
+
<p>Important point is the decorator statement @route('toDO'). Functions are bound to this route. Bottle returns result of function bound to route. You may bind multiple routes to functions but each route can only have one function.</p>  
-
<p>Error 2 can occur in several places, for example using the randomize button or entering a sugar string and the 'fetch enzymes' <i>before</i> creating the database. Best fixed by calling the database and relooping to the main program.</p>
+
<p><i>Bottle Template to Format the Output</i></p>  
-
 
+
<p>Bottle expects a string or list of strings from a function.
-
    
+
</br>The string can be text formatted using HTML markup.
-
   
+
</br>Templates are stored as .tpl files and can be called from within functions.
 +
</br>They contain a mix of HTML mark-up and Python statements.  
 +
</br>Every line beginning with % is interpreted as Python code. All condition must be closed with % end.
 +
</br>Access a variable within a non-python code line with double curly braces.</p>
 +
<p>Using GET or POST values studied.</p>
 +
<Used 'dynamic routing' to edit existing items and validated these.</p>  
 +
<p>Reviewed 'dynamic routes using regular expressions', returning static files and how to catch errors.</p>     
     </font>
     </font>
     </div>
     </div>
Line 125: Line 156:
   
   
  </table>
  </table>
 +
 +
<table width="980" align="center" cellspacing="20">
 +
<tr align="center">
 +
  <td>
 +
  <font color="#57B947" size="1" face="Verdana">
 +
    <p><u>Website Designed and Built by: Ryan Edginton, James Lynch & Alex Clowsley</u> &nbsp;&nbsp;|&nbsp;&nbsp;
 +
    <a href="https://igem.org/Team.cgi?id=764" style="color:#57B947" target="_blank"><u>Contact Us</u></a>  &nbsp;&nbsp;|&nbsp;&nbsp;
 +
    <a href="https://2012.igem.org/Team:Exeter/site_map" style="color:#57B947"><u>Site Map</u></a></p>
 +
  </font>
 +
  </td>
 +
</tr>
 +
</table>
</body>
</body>
</html>
</html>

Latest revision as of 00:24, 27 September 2012

ExiGEM2012 Lab Book Glyco wk5

Glycobase: 30th July - 3rd August 2012

30/07/12

Using Bottle.Py

Completed example, importing 'route' using '@route('/attempt/:name') and running on localhost port 8080.

Ran the app.py python file using Windows command prompt. Output shows Bottle server listening on 'http://localhost:8080/'.

Went to URL http://localhost:8080/attempt/one.

Union operator used like an AND function for select statements.

The message 'hello iGEM team' displayed, written to be in localhost port 8080.

SQL count could be useful for the dropdown menu.

Completed second example using dynamic route http://localhost:8080/dynamic. The web address 'dynamic' is stored as variable unknown. This is printed on the screen and the web address changed.

Third example uses more than one dynamic route.

Expected output:
path 1:p1
path 2:p2

Web browser input http:/localhost:8080/p1/p2, where p1 and p2 are now variables recorded under path 1 and path 2.

01/08/12

More bottle examples completed along with http request methods.

02/08/12

Routing static files

Static files (images or CSS stylesheets) are not served automatically so must add a route and call back to control where to find the files. Thus, the CSS is interpreted within the HTML.

Web based to do list

Each page visible in the browser is generated when the URL is called. A 'route' in the bottle is an address on the server. When called, Bottle accepts the call and checks if there is any Python function defined. Bottle then executes any code called.

Important point is the decorator statement @route('toDO'). Functions are bound to this route. Bottle returns result of function bound to route. You may bind multiple routes to functions but each route can only have one function.

Bottle Template to Format the Output

Bottle expects a string or list of strings from a function.
The string can be text formatted using HTML markup.
Templates are stored as .tpl files and can be called from within functions.
They contain a mix of HTML mark-up and Python statements.
Every line beginning with % is interpreted as Python code. All condition must be closed with % end.
Access a variable within a non-python code line with double curly braces.

Using GET or POST values studied.

Reviewed 'dynamic routes using regular expressions', returning static files and how to catch errors.

Website Designed and Built by: Ryan Edginton, James Lynch & Alex Clowsley   |   Contact Us   |   Site Map