(Created page with "<html lang="en"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <meta charset="utf-8"/> <meta content="IE=edge" http-equiv="X-UA-Compatible...") |
|||
Line 107: | Line 107: | ||
}); | }); | ||
</script> | </script> | ||
+ | <html> | ||
+ | <body> | ||
+ | <h1>Yeast as a Chassis in iGEM</h1> | ||
+ | |||
+ | <p>As we noticed how many problems choosing yeast as a chassis can cause, we decided that bringing attention to these issues would be a valuable contribution to the iGEM community. Yeast, being an eukaryote, offers many advantages compared to prokaryotic chassis options such as E. coli. Using an eukaryotic chassis makes it possible to execute projects that could not be carried out with prokaryotic organisms, and allows to expand the scope of topics covered by iGEM projects. </p> | ||
+ | |||
+ | <p>The first obstacle to be encountered when considering yeast as a chassis is the availability of parts in the registry. We made an inventory of parts available for yeast in the registry, and compiled the following statistics: </p> | ||
+ | |||
+ | <p>Out of more than <b>20,000</b> BioBricks, <b>163</b> are designed for yeast. </p> | ||
+ | |||
+ | <p>Out of these, <b>31</b> are available. </p> | ||
+ | |||
+ | <p>Out of these, <b><u>1</b></u> part is on the registry’s list of well characterized parts. </p> | ||
+ | |||
+ | <p>Because of this, any team that uses yeast as a chassis is pushed to use vectors and parts outside of the registry, which might not comply with the limits the BioBrick RFC 10 assembly standard sets. This creates a major hindrance to the creation of yeast parts, as iGEM guidelines and medal criteria require submission in the standard BioBrick backbone, with parts being flanked by the standard BioBrick prefix and suffix. </p> | ||
+ | |||
+ | <p>This, in turn, means a considerable amount of additional work to fulfill iGEM criteria and modify parts to be shipped in the standard backbone. Such a thought might discourage teams from pursuing ideas they have for yeast-related projects. In addition, doing these modifications doesn’t seem very motivating, as the framework offered by the conventional assembly standard offers a poor environment for the function of yeast BioBricks. </p> | ||
+ | |||
+ | <p>Having the BioBricks prefix, and thus the XbaI restriction site directly upstream of the protein coding sequence, would result in a T as the -3 base upstream of the start codon. It has been reported that in eukaryotic translation initiation, the -3 base is optimally an A or G (Kozak, 1996). This base is key in defining translation initiation, as changing it into a T or C increases sensitivity to differences in other bases upstream of the start codon. Cavener et al. (1991) on the other hand showed that yeast has a strong bias for A in this position. Because of this, protein-coding BioBricks would always require the direct fusion of a ribosome binding site upstream of the start codon in order for them to be usable within the context of the standard prefix and suffix. This, in turn, makes the use of non-BioBrick backbones difficult, as these promoters might already be suitable to clone a protein-coding sequence into them without any specific fusions. </p> | ||
+ | |||
+ | <p>Particularly with the DNA synthesis deal iGEM has had with IDT in the last two years, and constantly lowering DNA synthesis costs, the importance of being able to obtain physical part copies from the registry is lower than ever before. For this reason, we find the requirements of the current assembly standard to be restrictive and limiting. </p> | ||
+ | |||
+ | <p>Ultimately, we believe that the most important function of the parts registry is the sharing of information about different parts and their function, and increasing understanding of parts’ interaction to facilitate the predictable engineering of biological systems. This purpose is no longer served when the delivery of physical part copies becomes a priority and limitation in itself. The current requirements set limitations that prevent progression in the field of synthetic biology, as teams are discouraged from pushing into uncharted territory. Our team sees great potential in the use of yeast as a chassis in future projects, but current iGEM criteria set limitations to the convenience of its use.</p> | ||
+ | |||
+ | <p>References</p> | ||
+ | |||
+ | <p>Cavener, D.R., Ray, S.C, 1991, Eukaryotic start and stop translation sites. <i>Nucleic Acids Research</i>, 19(12), pp. 3185-3192</p> | ||
+ | |||
+ | <p>Kozak, M., 1996, Point mutations define a sequence flanking the AUG initiator codon that modulates translation by eukaryotic ribosomes. <i>Cell</i>, 44(2), pp. 283-292</p> | ||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | <p> | ||
+ | </p> | ||
+ | </div> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | <br/> | ||
+ | </div> | ||
+ | <br></br><br></br><br></br> | ||
<div class="block-wrapper-inner" style="padding-top: 15px;"> | <div class="block-wrapper-inner" style="padding-top: 15px;"> | ||
<div class="container" style="width: 75%; font-family: robotolight; color: #4d4d33"> | <div class="container" style="width: 75%; font-family: robotolight; color: #4d4d33"> |
Revision as of 03:41, 20 October 2016
Community
Yeast as a Chassis in iGEM
As we noticed how many problems choosing yeast as a chassis can cause, we decided that bringing attention to these issues would be a valuable contribution to the iGEM community. Yeast, being an eukaryote, offers many advantages compared to prokaryotic chassis options such as E. coli. Using an eukaryotic chassis makes it possible to execute projects that could not be carried out with prokaryotic organisms, and allows to expand the scope of topics covered by iGEM projects.
The first obstacle to be encountered when considering yeast as a chassis is the availability of parts in the registry. We made an inventory of parts available for yeast in the registry, and compiled the following statistics:
Out of more than 20,000 BioBricks, 163 are designed for yeast.
Out of these, 31 are available.
Out of these, 1 part is on the registry’s list of well characterized parts.
Because of this, any team that uses yeast as a chassis is pushed to use vectors and parts outside of the registry, which might not comply with the limits the BioBrick RFC 10 assembly standard sets. This creates a major hindrance to the creation of yeast parts, as iGEM guidelines and medal criteria require submission in the standard BioBrick backbone, with parts being flanked by the standard BioBrick prefix and suffix.
This, in turn, means a considerable amount of additional work to fulfill iGEM criteria and modify parts to be shipped in the standard backbone. Such a thought might discourage teams from pursuing ideas they have for yeast-related projects. In addition, doing these modifications doesn’t seem very motivating, as the framework offered by the conventional assembly standard offers a poor environment for the function of yeast BioBricks.
Having the BioBricks prefix, and thus the XbaI restriction site directly upstream of the protein coding sequence, would result in a T as the -3 base upstream of the start codon. It has been reported that in eukaryotic translation initiation, the -3 base is optimally an A or G (Kozak, 1996). This base is key in defining translation initiation, as changing it into a T or C increases sensitivity to differences in other bases upstream of the start codon. Cavener et al. (1991) on the other hand showed that yeast has a strong bias for A in this position. Because of this, protein-coding BioBricks would always require the direct fusion of a ribosome binding site upstream of the start codon in order for them to be usable within the context of the standard prefix and suffix. This, in turn, makes the use of non-BioBrick backbones difficult, as these promoters might already be suitable to clone a protein-coding sequence into them without any specific fusions.
Particularly with the DNA synthesis deal iGEM has had with IDT in the last two years, and constantly lowering DNA synthesis costs, the importance of being able to obtain physical part copies from the registry is lower than ever before. For this reason, we find the requirements of the current assembly standard to be restrictive and limiting.
Ultimately, we believe that the most important function of the parts registry is the sharing of information about different parts and their function, and increasing understanding of parts’ interaction to facilitate the predictable engineering of biological systems. This purpose is no longer served when the delivery of physical part copies becomes a priority and limitation in itself. The current requirements set limitations that prevent progression in the field of synthetic biology, as teams are discouraged from pushing into uncharted territory. Our team sees great potential in the use of yeast as a chassis in future projects, but current iGEM criteria set limitations to the convenience of its use.
References
Cavener, D.R., Ray, S.C, 1991, Eukaryotic start and stop translation sites. Nucleic Acids Research, 19(12), pp. 3185-3192
Kozak, M., 1996, Point mutations define a sequence flanking the AUG initiator codon that modulates translation by eukaryotic ribosomes. Cell, 44(2), pp. 283-292
</div>
</div>
</br>
</br>
</br>
Conferences
We participated in two iGEM meetups – the Nordic iGEM Conference, or NiC, which was held in Stockholm, and The European Experience in Paris. They gave us a great opportunity to present our project, meet other iGEM teams, hear about their projects and collaborate. We got to socialize with other iGEM teams, see their approaches in tackling problems regarding all aspects of the project (e.g. fundraising, wet lab, research, etc.). All teams seemed to have had similar difficulties and it was nice to know that we weren’t alone. We learned how iGEM projects are done in different countries. Last but not least we got acquainted with the culture of the country, did sightseeing, experienced Swedish Gasque and paid a visit to aunt Mona Lisa.
At NiC, we got a chance to practice our project presentation skills as we took part in the Mini Jamboree. It was the first time we presented our project for an audience of that size. We placed in the top 4 and the winners got the honor of holding the NiC next year in their home-country. In two great ethics and arts workshops after the presentations we pondered some ethical questions, and imagined what the world would look like in the future where everything was based on synthetic biology. The judges, who were ex-iGEMers themselves, shared their experiences with us and about the current state of biotechnology in Sweden. The conference overall had a very warm setting and thanks to it we made some good friends. One of these friendships later led to a collaboration, which we will present below.
The judges, who were ex-iGEMers themselves, shared their experiences with us and about the current state of biotechnology in Sweden. The conference overall had a very warm setting and thanks to it we made some good friends. One of these friendships later led to a collaboration, which we will present below.
The Paris conference gave us a chance to prepare our first poster and take part in a lively poster session with more than twenty teams from all over Europe. There was an interesting panel discussion about biosecurity and the challenges and risks in synthetic biology.
These conferences also gave us a chance to meet iGEM officials – Vinoo Selvarajah and Randy Rettberg who gave us good advice which we will take into account in selecting next year’s Aalto-Helsinki team. This advice was to “Select your project and start as soon as possible so that you have enough time to get something done”.
<figure style="text-align: center;"> <img src="/wiki/images/e/e6/T--Aalto-Helsinki--community.png" style="float: left; width:100%; height; 100%"/>
<figcaption style="text-align:center;"> Nordic iGEM conference (left) and The European Experience in Paris (right). </figcaption> </figure>
“ Cyanobacteria range in size from 0.5 to 60 micrometers in diameter which represents one of the largest prokaryotic organism. ”
Collaborations
We were lucky to have quite a few collaborations. We got to help in starting up a new iGEM team, as we were approached by UCLouvain team from Belgium. It happened to be that one of their team members was on an exchange in the University of Helsinki, so we met and talked. We told as well as we could how our team was assembled the first time and what problems they had had. We talked about financing the project, choosing the project subject and about founding an organization to help with the financial side. Hopefully our tips were helpful and UCLouvain has had a great time in iGEM!
Thanks to the Stockholm conference we made good friends with the other Nordic iGEM teams and got to do a small collaboration with the Uppsala team. They asked for general information and methods for working with yeast, since they knew from our NiC presentation that we were working with yeast. We had a Skype meeting with them and sent our protocols.
EPF Lausanne team contacted us regarding a collaboration project they were planning to do which was somewhat related to our CollabSeeker. They wanted to create a platform, in the form of a blog or website, on which they could present iGEM teams and projects through “news articles”. We informed them about the CollabSeeker, which they found very exciting. We ended up giving them an interview via Skype, telling more about our search engine and answering questions to the survey they had prepared.
We also got in touch with a few other teams. We shared information about ourselves and CollabSeeker for XMU-China team’s exchange platform – Newsletter.
We had a Skype meeting with TEC CEM team and shared information about our teams as well as projects. The team, which is from Mexico, didn’t know that we had a true mexican in our team, and finding out about this was really fun.
We also helped METU HS Ankara team who wanted to create a database consisting of protocols in different language. We helped them to achieve their goal by translating our protocols into Finnish. Protocols were about Transformation, LB Broth, LB Agar, ONC, Competent Cell Preparation by Calcium Chloride, Getting the DNA Parts from the Kit Plate, Mini Prep Plasmid Isolation and Plasmid Isolation.
Founding an iGEM organization
As this was the third year Aalto-Helsinki competed in iGEM, we decided that it was time to strengthen the continuity of the team and also provide basis for an Aalto-Helsinki community. This is why we founded an organization called Aalto-Helsinki Synthetic Biology ry, for all the members of the previous years’ and the present year’s teams. An organization would provide a great channel for communicating with the old teams and also helped a lot with handling our finances.
As we were at the Nordic iGEM Conference, there was a lot of discussion of collaboration between different teams’ iGEM organizations. There was even ideas of a Nordic iGEM organization, which would function as a community for all the nordic iGEM organizations. However, as we had just founded the Aalto-Helsinki Synthetic Biology ry and wanted to get that running smoothly firs, in addition to having to focus on our iGEM project, nothing concrete was decided yet. The discussion of possible collaboration will probably start again after the Jamboree.
“ Cyanobacteria range in size from 0.5 to 60 micrometers in diameter which represents one of the largest prokaryotic organism. ”
Software
The CollabSeeker
CollabSeeker is a collaboration search tool for the iGEM community, available at <a href="”collab.aaltohelsinki.com”"> collab.aaltohelsinki.com </a> . It is intended to help iGEM teams easily find the contact details and project information of other teams for collaboration purposes.
The original version of the CollabSeeker was made by the last year’s Aalto-Helsinki team. It was based on the idea of teams writing their project and contact information into the system, with CollabSeeker essentially functioning as a communication platform. Other similar platforms are available, such as the <a href="”http://almaaslab.nt.ntnu.no/igem_matchmaker/index.php”"> iGEM Matchmaker </a> and the <a href="”http://www.igemmatch.org/”"> iGEM Match </a> website of the UC Davis team.
None of the available platforms have been very popular, however. The main problem is that these sorts of platforms only produce value once a large user base already exists, but a large user base can only form once the platform produces enough value to attract new potential users. In order to fix this problem, we knew we had to come up with a way to produce value and attract users without having an existing user base to back us up.
Enter CollabSeeker 2.0! This time around, we would not require teams to fill in their information for us. Instead, we would mine igem.org, facebook and twitter for the project descriptions, facebook and twitter pages of all the iGEM teams around the globe. Of course it would be pure insanity to try to do this manually, so we created a suite of small, automated software tools for the purpose.
We hope that the whole iGEM community will embrace the CollabSeeker, and that in the years to come it will become a mundane part of the project that everyone will use in a similar manner as Aalto-Helsinki’s BioBrick and Team Seekers.
How to use the CollabSeeker
The CollabSeeker search engine can be used without logging in. However, every team has a team page which can be edited only by the team in question, and this requires login. The iGEM teams are able to log in using Facebook, Twitter or login credentials provided by the Aalto-Helsinki team.
<figure style="text-align: center;"> <img src="1" style="width:50%; height; 50%"/>
<figcaption style="text-align:center;"> The teams are able to edit their own pages by logging in with Facebook, Twitter or login details provided by Aalto-Helsinki. The CollabSeeker can also be used without logging in. </figcaption> </figure>
The team descriptions and links to Facebook and Twitter accounts have been automatically uploaded on every team’s team page. The teams are able to modify their project descriptions, specify their collaboration desires and add contact information.
<figure style="text-align: center;"> <img src="/wiki/images/2/2a/T--Aalto-Helsinki--collab2.png" style="width:50%; height; 50%"/>
<figcaption style="text-align:left"> Every team has a team page, which can be edited by the team in question. All the team descriptions are already found on the team pages, so it’s only for the team to specify their collaboration details and add collaboration categories, so that the team will be easily found by other teams. We highly recommend the teams to add contact information to their team profile e.g. email (Facebook and Twitter accounts are already linked), to make the contacting process easier. </figcaption> </figure>
To easily find collaboration partners we added the opportunity to add collaboration categories to the team pages. All the collaboration categories can be found on the front page of the CollabSeeker.
Searching for teams based on their team names and team description is possible by using the search bar. The user has also the option to browse through all the teams available on CollabSeeker.
<figure style="text-align: center;"> <img src="/wiki/images/e/e5/T--Aalto-Helsinki--collab3.png" style="width:50%; height; 50%"/>
<figcaption style="text-align:center"> The search bar can be used to search for teams based on their team name or team description. </figcaption> </figure>
How we did it
In order to implement more advanced functionality in the CollabSeeker, we rewrote the engine entirely in Java using the Spring MVC framework and the Thymeleaf templating engine. In the process, the old html templates had to be heavily modified as well, so even though we preserved the looks of last year’s version, under the hood everything has changed.
The search engine is implemented using the popular Apache Lucene search framework, which was chosen due to it’s support of boolean search operators. In addition, we implemented both Facebook and Twitter login using Spring Social. However, our implementation of Facebook login requires the manage_pages permission, which we repeatedly requested from Facebook without luck, and therefore the feature had to be scrapped at the last minute. Twitter login is fully functional.
As mentioned, the basic architecture of CollabSeeker is based around the Model-View-Controller or MVC design pattern.
The CollabSeeker database is based around a single repository storing the information for each team. Under the hood, the database is implemented with PostgreSQL, but the Spring Framework provides an abstracted interface requiring no proficiency with SQL.
In order to link the team repository to searchable project details, all project information is stored within ASCII-encoded text files that are indexed by the Apache Lucene indexer. Each file is named after the team that it contains the project details of. When the user searches for terms, say “cyanobacteria” and “microcystin”, the Apache search engine uses the index to find a corresponding file and returns its name. The name is then linked to a team in the team repository using the findByName() method, and a view containing a listing of the applicable teams is constructed and shown to the user.
The Facebook and Twitter login features are based on the Spring Social and Spring Security plugins. Spring Security essentially takes care of all the needed authentication, while Spring Social is used only to connect a facebook or twitter profile to the correct team, after which Spring Security takes over the login process. The normal login using Aalto-Helsinki -provided credentials runs entirely through Spring Security. The passwords we provide are cryptographically secure random strings produced by the SecureRandom Java class. It is nonetheless suggested that users change their passwords once they have logged in with credentials we have provided.
The front-end is based on the Thymeleaf templating engine. Additionally, we use Javascript to produce certain functions such as “show more..” -links for long project descriptions.
As stated, we have created a suite of tools in the Ruby programming language for automatically finding iGEM teams’ contact details on Facebook and Twitter as well as their project information on the iGEM website. (more on these later??)
The source code for the CollabSeeker is available under the MIT license (?) <a href="”https://github.com/iGEM-QSF/NewCollabSeeker”"> on Github </a> .
WikiFire+
The WikiFire+ is a new, Python-based tool for automatic fast uploading of iGEM wikis to the servers. It is based on the Aalto-Helsinki 2014 team’s Quickifier, but is again vastly improved in terms of functionality and implementation.
The current version of WikiFire+ not only automatically sends html files to the iGEM servers using the Python requests library, it also automatically checks for any css or javascript files these html files link to, automatically sending these to the servers as templates. It also automatically sends any images contained in the html to the servers, and fixes the links contained in the html to point to the correct pages. Essentially it allows iGEM wikis to be developed completely locally with a hassle-free, quick upload.
The WikiFire+ is implemented in python using particularly the requests library for sending data to the web, and the BeautifulSoup html parser for automatic sending of image, css and javascript files. The tool is available <a href="”https://github.com/iGEM-QSF/Aalto-Helsinki-2016-Wiki”"> on GitHub </a> under the MIT license.
“ Cyanobacteria range in size from 0.5 to 60 micrometers in diameter which represents one of the largest prokaryotic organism. ”
InterLab study
Background
In order to compare results of similar experiments from different sources iGEM has proposed Interlab studies. It’s a set of experiments that teams can volunteer to do in order to deal with relative results issue. The aim is to improve the tools available to both the iGEM community and the synthetic biology community as a whole. This year’s goal was to let different teams measure fluorescence level of GFP protein. With minor difficulties we managed to complete the experiments and submit our results.
Overview
Work done in different labs can be hard to compare sometimes due to different measurement techniques or reporting methods. In order to address this issue iGEM has come up with Interlab studies which can be carried out by different teams around the world. Results of these studies are eventually combined to give understanding of relative issues arising during the process.
One of the big challenges in synthetic biology is that measurements of fluorescence usually cannot be compared because they are reported in different units or because different groups process data in different ways.Often one works around this by doing some sort of “relative expression” comparison; however, being unable to directly compare measurements makes it harder to debug engineered biological constructs, harder to effectively share constructs between labs, and harder even to just interpret your experimental controls.
This year iGEM had two protocols for measuring GFP fluorescence that would result in common, comparable units for teams to test out.
Results
Cell competency test
Before using our competent cells in our experiment, we had to use the Competent Cell Test Kit <a href="#a"> [1] </a> provided by iGEM to test the efficiency of our competent cells. The kit included five vials of purified DNA from BBa_J04450 in plasmid backbone pSB1C3. Each vial contained DNA at a different concentration: 50pg/µl, 20pg/µl, 10pg/µl, 5pg/µl, 0.5pg/µ. Transformations had to be performed with each of these to determine how efficient our competent cells were.
We used TOP10 Escherichia coli competent cells and SOC medium from the Gibson assembly kit that we ordered separately from New England Biolabs. On the first try we got around 10 colonies overall and clearly failed. Then we tried it again with one difference in the procedure - we added plasmids into the cells during the transformation, not the other way around which was written in the iGEM protocol. Unfortunately, it didn’t work the second time either and we got similar results. Not giving up, we tried it a third time and this time we additionally used pJR18 plasmid for positive control with three concentrations - 500 pg/µl, 50 pg/µl and 5 pg/µl. Also for the antibiotic we used ampicillin instead of chloramphenicol and this time it finally worked. Although after counting the colonies it was revealed that transformation efficiency was quite low - 1.8E7 cfu/µL on average and weighted 1.6E7 cfu/µL it was good enough to proceed with the transformations and start the actual experiments. Our competency results can be found in table 1.
<figure style="text-align:center;"> <figcaption style="text-align:left; padding-left: 13%"> Table 1. Cell competency test. </figcaption> <img src="/wiki/images/0/0d/T--Aalto-Helsinki--compcell.png" style="width:75%; height; 75%"/> </figure>
Calibration protocols
<figure style="float:right; text-align:center"> <figcaption style="text-align:left; padding-left: 10%"> Table 2. OD600 Reference point. </figcaption> <img src="/wiki/images/0/06/T--Aalto-Helsinki--interlab1.png" style="width:90%; height; 90%"/> </figure>
1. OD600 Reference point
We accidentally put the LUDOX solution into -20 storage room so we had to order a new one. After it arrived we put it into wells with water according to the protocol <a href="#b"> [2] </a> and measured it with a plate reader. After entering the numbers gotten from the plate reader into the excel sheet we got the final values - corrected Abs600, reference OD600 and correction factor (table 2).
2. Protocol FITC fluorescence standard curve
By following all the advice and procedures mentioned in the Calibration Protocol <a href="#b"> [2] </a> we prepared 1xPBS, 2xFITC, incubated 2xFITC and prepared the 1xFITC solutions. Then having the solution, we did the serial dilutions according to the protocol and measured the fluorescence with a plate reader. After entering the numbers into the excel sheet we were able to calculate the standard curve of fluorescence for FITC concentration. Our results can be seen in figure 1.
<figure style="text-align:center"> <img src="/wiki/images/2/2e/T--Aalto-Helsinki--interlab3.png" style="width:70%; height; 70%"/> <figcaption style="text-align:center;"> Figure 1. FITC fluorecence standard curve. </figcaption> </figure>
Cell measurement protocol
Finally, after finishing all the calibrations, we did the transformations of five plasmids (three devices, positive and negative control). We succeeded only on our third time. The plasmids we received in the measurement kit <a href="#c"> [3] </a> were dried out so we had to resuspend them in 100µLs of diH2O. Almost everything was done according to the transformation protocol <a href="#d"> [4] </a> . Few differences were that after resuspending dried up DNA we were supposed to add 5µL it but we added 10µL. Then for the transformation of device 1 we did the heat shock for 70 seconds instead of 60. Also, we had to keep plates with colonies in the fridge for about three weeks due to some reasons. Therefore, we decided to do the restreaking of all colonies. Later these new colonies were used for cell cultures.
After growing of cell cultures was done we measured their OD600. Later, after diluting the cultures to a target OD600 of 0.02 and completing other necessary procedures we measured the hourly recording. Results can be found in figures 2 and 3.
<figure> <img src="/wiki/images/b/ba/T--Aalto-Helsinki--inter-1.png" style="width:100%; height; 100%"/> <figcaption style="text-align:center;"> Figure 2. Absorbance 600 and fluorecence measured with a plate reader. </figcaption> </figure>
<figure style="text-align:center"> <img src="/wiki/images/e/ee/T--Aalto-Helsinki--interlab12.png" style="width:90%; height; 90%"/> <figcaption style="text-align:center;"> Figure 3. Fluorecence per absorbance 600. </figcaption> </figure>
Protocols
<a href="http://parts.igem.org/Help:Competent_Cell_Test_Kit" id="a">
[1] Competent Cell Test Kit
</a>
<a href="https://static.igem.org/mediawiki/2016/c/c5/InterLab_iGEM2016_Plate_Reader_Protocol_Updated_July.pdf" id="b">
[2] Plate Reader Protocol
</a>
<a href="http://parts.igem.org/Help:InterLab_Measurement_Kit" id="c">
[3] InterLab Measurement Kit
</a>
<a href="http://parts.igem.org/Help:Protocols/Transformation" id="d">
[4] Transformation Protocol
</a>
<script> $(function() {
$("li").removeClass("customTarget"); var myLocation = document.location.hash.replace("#",""); if (myLocation) { document.getElementById(myLocation).className = "customTarget"; }
$("a").click(function () { $("li").removeClass("customTarget"); var clickedLink = this.href.split("#"); if (clickedLink.length > 1) { document.getElementById(clickedLink[1]).className = "customTarget"; } });
});
</script>
<script> $(window).scroll(function(){ $(".title").css("opacity", 1 - $(window).scrollTop() / 500); }); </script> </div>
<script> // Progress bar
$(document).ready(function () {
$(window).scroll(function () { var s = $(document).scrollTop(), d = $(document).height() - $(window).height(); $("#progressbar").attr('max', d); $("#progressbar").attr('value', s); }); }); </script> <script> // Add titles from page to footer var h1s = document.getElementsByTagName("h1"); for (var i = 1; i < h1s.length; i++) { var h1 = h1s[i];$( "
console.log(h1); } </script> <script> // Smooth scroll on click $(function() { $('a[href*="#"]:not([href="#"])').click(function() { if (location.pathname.replace(/^\//,) == this.pathname.replace(/^\//,)) { if (location.hostname == this.hostname) { var target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); if (target.length) { $('html, body').animate({ scrollTop: target.offset().top - 50 }, 1000); return false; } } } });
});
</script> <script> // Color links based on section
var links = $('ul.botnav li a'); var h1s = $("h1"); var alreadyFound = 0;
$(window).scroll(function() { for (var i = links.length-1; i >= 0; i--) {
if ($(this).scrollTop() > $(h1s[i+1]).offset().top - 70) { if (alreadyFound == 0) {
console.log('hei'); $(links[i]).addClass("active");
alreadyFound = 1;
} else { $(links[i]).removeClass("active"); }
} else { $(links[i]).removeClass("active"); }
} alreadyFound = 0; });
</script> </body>
</html>