Difference between revisions of "Team:TecCEM/Software"

Line 128: Line 128:
 
                                 <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/4/46/T--TecCEM---sof7.png"
 
                                 <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/4/46/T--TecCEM---sof7.png"
 
                                     alt="result 1 cellcount">
 
                                     alt="result 1 cellcount">
                                 <figcaption class="figure-caption text-xs-right">Figure 7. Result Test 1 Cell Count
+
                                 <figcaption class="figure-caption text-xs-right">Figure 7. Result of First Test - Cell Count
 
                                 </figcaption>
 
                                 </figcaption>
 
                             </figure>
 
                             </figure>
Line 136: Line 136:
 
                                 <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/0/0a/T--TecCEM---sof8.png"
 
                                 <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/0/0a/T--TecCEM---sof8.png"
 
                                     alt="result 2 cellcount">
 
                                     alt="result 2 cellcount">
                                 <figcaption class="figure-caption text-xs-right">Figure 8. Result Test 2 Cell Count
+
                                 <figcaption class="figure-caption text-xs-right">Figure 8. Result of Second Test - Cell Count
 
                                 </figcaption>
 
                                 </figcaption>
 
                             </figure>
 
                             </figure>
Line 166: Line 166:
 
                             </figure>
 
                             </figure>
 
                         </div>
 
                         </div>
 
 
                     </div>
 
                     </div>
 +
 
                     <p>In this example, we got an approximation of 990 cells counted.</p>
 
                     <p>In this example, we got an approximation of 990 cells counted.</p>
                     <figure class="figure text-center">
+
                      
                        <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/c/c5/T--TecCEM---sof12.png"
+
                    <div class="row text-center">
                            alt="second test result after cellcount">
+
                        <div class="col text-center">
                        <figcaption class="figure-caption text-xs-right">Figure 11. Second result
+
                            <figure class="figure text-center">
                        </figcaption>
+
                                <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/c/c5/T--TecCEM---sof12.png"
                    </figure>
+
                                    alt="second test result after cellcount">
 +
                                <figcaption class="figure-caption text-xs-right">Figure 12. Image processeed by our software
 +
                                </figcaption>
 +
                            </figure>
 +
                        </div>
 +
                    </div>
 +
 
 
                     <figure class="figure text-center">
 
                     <figure class="figure text-center">
 
                         <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/6/6f/T--TecCEM---sof13.png"
 
                         <img class="figure-img img-fluid rounded" src="https://static.igem.org/mediawiki/2018/6/6f/T--TecCEM---sof13.png"

Revision as of 19:54, 17 October 2018

Cell Gif

Software

For this year’s software, we developed a web application with three main functionalities, a cell counter, a BioBrick builder and an activity log for our hardware. Up next, we will explain each one of them!

You can download our suite of software from the following link Download

Alternatively you could follow our latest improvements in the github page Github

Activity Log

The activity log is a really simple piece of software, nevertheless very important. This part of the web application is where the software and the hardware converge into a single solution. The user interface is really basic and minimalistic and shows the data obtained from the hardware as a table and as a graph.

To distinguish between all the different projects from different people we use a login. First-time users need to register into the platform which will create an account for them. Once this is done, the person can register different projects.

signup activity-log
Figure 1. Sign up

The project signup is a bit more complex because we need a way to link the automation system (hardware) with the platform. First of all, it is necessary to have BoB, its automation system and a computer with Arduino installed on it.

Once we have this two things ready, open the arduino code called “auto.ino” - you can get the code from this repository Github Link - and set up your local wifi network as shown in Figure 2.:

configuration activity-log
Figure 2. Code configuration.

Then, we need to connect our NodeMCU board to the computer, load the program and open the serial monitor. In this monitor a token will be displayed, we need to copy and paste it in the Project Code input as shown in Figure 3

Adding Project activity-log
Figure 3. Adding a new project.

Once we have an account and a project set, we can visualize the data sensed from Bob. The data can be filtered depending on the date selected. The default setup shows all the data obtained throughout the projects time.

Default data activity-log
Figure 4. Default data config. vs. Data filtered by month

The advantages of this application are the following:

  • It keeps track and displays the most relevant data from the experiments in form of a plot. For example, it could be possible to watch how is it that the color of the medium is changing and after some time relate this plots to the cell proliferation or the time it takes for some cell colonies to grow
  • It can be accessed from anywhere in the world

Cell Count

The cell count software is a beta version image processing program that takes an input image and outputs a close estimate of the number of cells in the picture. The main reasons of it to still be a beta is because we would like to return the confluence percentage, as well as perform more tests on the software.

This software works for two kinds of cell colonies. To use it, it is necessary to access the web application and go to the section of Cell Count found on the top left hand. Upload your picture and wait for the results.

cell selection cellcount
Figure 6. Cell Selection Cell Count
result 1 cellcount
Figure 7. Result of First Test - Cell Count
result 2 cellcount
Figure 8. Result of Second Test - Cell Count

The cell counting algorithm works as follows:


process cellcount
Figure 9. Image to be processed by Cell Count
result after cellcount
Figure 10. Image processeed by our software
numeric approximation result  after cellcount
Figure 11. Approximation of cell count

In this example, we got an approximation of 990 cells counted.

second test result after cellcount
Figure 12. Image processeed by our software
second numeric approximation result  after cellcount
Figure 12. Second numeric approximation

This software is planned to be a relief for a lot of researchers that make this process the hard way. This will optimize time, effort and resources letting the scientists do more science and less counting.

BioBrick Builder

Biobrick building is an extremely important, but also very prone to errors process. One of the most tedious tasks of creating a biobrick is searching each on of the basic parts through the library, comparing its characteristics and trying to find the appropriate one for the wanted outcome. We noticed that most of the times we filter by the top-level needs such as the organism and main standards, then select a set of characteristics that we consider in the filtering of the part and finally we choose the most used and most reliable parts in the iGEM library. Nevertheless, even after the desired biobrick is found, we proceed to a mostly handmade process that consists of copy-pasting the sequence, adding the prefix and suffix and expecting by all cost to avoid human mistake. On top of this, to design a standardized biobrick, we need to check for several characteristics based on our selected RFC, this is a simple task with a small sequence, but the sequence could get more and more complicated and we could forget to design a sequence that complies for the RFC.

Solution

We designed a software to facilitate the creation of biobricks, the main functionality is to provide a tool to search for the desired parts such as promoters, rbs and terminators. Once done that, we collect the selected information and produce a final biobrick with prefixes and suffixes integrated, this allows you to copy and paste to a more complex tool such as Snapgene and optimize the sequence or confirm the biobrick in order to send to iGEM for confirmation. Our software include a scrapper that collects the basic parts of the igem library and adds relevant information for you to observe and analyze. Afterwards, it includes sections for each of the basic parts of a composite biobrick, these being the promoters, rbs and terminators. In these sections you can search by name, filter by type, standard, chassis, and you can read other information depending on the basic part; you can get the sequence as well. At the end a set of basic parts, the constructed biobricks with the scars, the prefixes, and the suffixes will be obtained.


Our goal with this piece software is to introduce the automation of things into the biotech world by merely simplifying one small area of the biobrick construction. We are aware biobrick building requires more than a block builder type software, but with the continuous improvement, we believe we could create an open source application to facilitate this and many more tasks.


Design

Our software consists of a simple interface that firstly asks for the organism you will work with and the standard you want to comply to. We currently only support RFC 10 integration, but adding more standards is a trivial task we could expect to do the following days after the Jamboree. After the main selection screen we enter the promoter selection screen. The parts were obtained with the help of a scrapper which crolls all over the iGEM library, we selected a few characteristics to quickly filter the promoters such as the short description, the regulation, the sample status and the organism we want to develop the biobrick in. This quickly reduces the library by a fraction, we could then proceed to click on the desired promoter and we could inspect even more characteristics of the part, one benefit of the software is that if we want to we could insert our own sequence for the final biobrick. The following screens consist of the same interaction with different features depending on the part we are selecting such as the rbs and the terminator.