Home Page
Entrepreneurship

CONTRIBUTIONS

Overview

While our primary objective was to address the immediate challenge of efficiently and accurately prospecting for lithium resources, we recognized the broader implications and responsibilities that came with our work. Below is an outline of tools we put together to help future teams in developing their lab experiments, software and hardware parts.

ELECTRICAL HARDWARE CONTRIBUTION


One big challenge we faced when we were working on our electrical hardware setup was interfacing the TFT screens with the ESP32-CAM. Below is a step-by-step procedure on how to interface the Adafruit 2.8” inch TFT Touch Shield with the AI Thinker ESP32 CAM so that future iGEM teams do not have a similar issue.


One thing that was difficult to find online was the pinout of the Adafruit 2.8” inch TFT Touch Shield. However, we realized that because it is a for any Arduino Uno, it could have its pins named after the Arduino data pins. The Adafruit 2.8” inch TFT Touch Shield uses SPI communication to receive data from the AI Thinker ESP32 CAM. If the Adafruit 2.8” inch TFT Touch Shield is a resistive touch screen, it sends data to the MCU via SPI communication. However, if it is a capacitive touch screen, it sends data to the MCU via I2C communication. Another problem was identifying which of the data pins of the Adafruit 2.8” inch TFT Touch Shield were specifically for SPI communication and I2C communication. Below is a diagram of the pinout of the Adafruit 2.8” inch TFT Touch Shield and which pins are for SPI and I2C communication.


Importabt Pinouts of Adafruit 2.8" inch TFT Touch Shield

Adafruit 2.8" inch TFT Touch Shield Pins SPI and 12C Analogous
D13 SCLK
D12 MISO
D11 MOSI
D10 TFT CS (data select)
D9 TFT DC (data select)
D8 Resistive Touch CS
D4 Micro SC CS
A4 SDA (12C)
A5 SCL (12C)
5V (TFT Screan Backlight) 5V supply from MCU
GND (All grounds) GND from MCU

Step-By Step Process of Setting Up Capacitive Touch Adafruit 2.8" inch TFT Touch Shield with an MCU:


  • Install the TFT_eSPI library by Bodmer from the Arduino IDE by going to the Tools tab > Manage Libraries > search for TFT_eSPI > Install.

  • After the TFT_eSPI library has been successfully installed, go to your Arduino folder directory in your File Explorer (usually in your Documents folder). Open the Arduino folder > libraries > TFT_eSPI > User_Setups folder.

  • In the User_Setups folder, you will find files with the format Setup[Number]_[MCU/ MCU chip]_[TFT screen SOC driver]. Look up the SOC driver your TFT screen uses and open the document that closely meets your SOC driver and MCU specifications using a text editor like Notepad, Visual Studio Code etc. Take note of the Setup[Number]_[MCU/ MCU chip]_[TFT screen SOC driver] filename (You will need it later)

  • Connect your TFT screen to your MCU (check the pins of the MCU that are specifically used for SPI and I2C communication and connect accordingly). Take note of the connections. For our project, we made use of the SPI pins only without the Touch Screen because of the limited number of pins of the AI Thinker ESP32 CAM and for the functionality we were interested in.

  • In the Setup[Number]_[MCU/ MCU chip]_[TFT screen SOC driver], scroll to where the TFT pins are defined and define them with the MCU pins you connected them to. Save the document.

  • Move back to the TFT_eSPI folder in your file explorer. Open the file User_Setup_Select and uncomment the #include command that corresponds to your Setup[Number]_[MCU/ MCU chip]_[TFT screen SOC driver] filename. Save the file. Make sure includes of other Setup[Number]_[MCU/ MCU chip]_[TFT screen SOC driver] are commented out.

  • Move back to the TFT_eSPI folder in your file explorer. Open the file User_Setup and uncomment the #define command that corresponds SOC driver of your TFT screen. Save the file. Make sure the definitions of other SOC drivers are commented out.

  • Go to your Arduino IDE > File tab > Examples > TFT_eSPI > Select a screen size that matches the TFT screen you have (e.g., 320 x 240) and choose an example code to upload to your MCU.

  • Upload code unto MCU to test. Modify the code for your project once your TFT screen works.






  • LAB CONTRIBUTIONS: GROWTH & LONGEVITY OF BACTERIA ENCAPSULATED IN HYDROGELS


    We used the paper "Hydrogel-based biocontainment of bacteria for continuous sensing and computation" by Tang et al. (2021) to synthesize the hydrogels. This helped us gain insights into the methods for creating bacteria coated in hydrogels and determine the appropriate quantities for our experiments.


    In addition, we studied how long bacteria can survive in hydrogel coatings. To do this, we placed the hydrogels in petri dishes and surrounded them with moist tissues to provide adequate moisture to the hydrogel beads. The plates were then incubated at 37 degrees Celsius. We observed the change in color of the bacteria over a period of five days. In a separate experiment, we used green fluorescent protein (GFP) to verify our previous findings. We created hydrogel balls containing GFP as illustrated in Figure 2 and placed them in the incubator under the same conditions. We checked the growth of the bacteria over another five-day period, and under blue light, we obtained the following results:


    Our findings demonstrate that bacteria enclosed in a hydrogel have the ability to grow for a maximum of five days. Although we couldn't further investigate the longevity of bacterial survival due to restrictions in time and resources, this newfound knowledge provides significant insights for other iGEM teams. They can now comprehend the potential duration of bacterial growth in hydrogel environments and reproduce these bacteria using the project-specific protocol that we have developed.


    Figure 2


    REFERENCES

    [1] T.-C. Tang et al., “Hydrogel-based biocontainment of bacteria for continuous sensing and computation,” Nature Chemical Biology, vol. 17, no. 6, pp. 724–731, 2021. doi:10.1038/s41589-021-00779-6








    Software Contribution 1: The RSModifer


    Problem



    As shown in the linear sequence above, there are three BsaI restriction sites present. However, if you need to cleave this sequence only at two of these sites, it becomes a problem especially when the third site is in a gene part vital to get the desired sequence, there is going to be a third undesired cut. This was one of the problems we faced while developing our DNA circuit.


    General Solution


    Generally, different combinations of bases could code for one amino acid as shown below:




    Applying the concept of amino acids to solve the problem mentioned above, bases of some amino acids in the recognition sites are substituted with other bases that code for the same amino acid. In this way, the recognition site is eliminated while also preserving the behavior of the part that contained the unwanted recognition site. Changing these bases manually can be quite a hassle especially if there are multiple of these unwanted recognition sites. There are also certain rules that must be followed considering that three bases code for an amino acid. These rules make the manual changing of bases a complex task.


    Our Solution


    In our efforts to contribute to Synthetic Biology and to the work of future iGEM teams who may face similar challenges when developing their DNA circuits, we developed a web application (RSModifier) that eliminates the unwanted recognition sites automatically, while also preserving the behavior of the part.


    Follow this link to have a feel of the software designed


    RSModifier User Menu













    Software Contribution 2: Similarity Calculation for DNA Sequences


    Overview


    The provided code is designed to calculate the similarity between a user-inputted DNA sequence and a sequence in the iGEM (International Genetically Engineered Machine) database. It utilizes Longest Common Subsequence (LCS) to determine how closely the user's sequence matches sequences in the database. The code ultimately generates a tabular report that displays the database sequences with high similarity scores, providing valuable information for users who need to find sequences similar to their input.



    For one to use the software, you have to input your dna sequence and the software will check in the iGem database for similar sequences. If no matching sequence is found the software returns a message indicating that no matching sequence was found, in the case that a sequence is found all the matching sequences are returned in a table. The table has six columns, 1st Base Pair Position, Last Base Pair Position, Part Name, Similarity Score, DNA Sequence and Short Description. An explanation of each column is given below.

    Output Explanations
    1st Base Pair Position This is the start position of the DNA sequence where the DNA sequence was compared to the database sequence to give us the similarity score.
    Last Base Pair Position This is the end position of the DNA sequence where the DNA sequence was compared to the database sequence to give us the similarity score.
    Part Name The name of the database sequence as a part in the iGEM repository.
    Similarity Score The similarity score between the section of the input DNA sequence and the database sequence
    DNA sequence The DNA code for the database sequence
    Short Description May show the actual name of the database sequence or any important information about the database sequence

    How It's Helpful:


    This code plays a crucial role in a software system designed for genetic research and analysis. It assists users in finding DNA sequences in the iGEM database that closely match their input. The benefits of this code include:


  • Sequence Similarity Assessment: It provides a quantitative measure of similarity between the user's sequence and database sequences, enabling researchers to quickly identify potentially relevant genetic parts.

  • Quick and Automated Process: The code automates the process of sequence comparison, saving researchers time and effort. It generates a clear and organised report for easy reference.

  • Database Exploration: Users can explore the iGEM database and identify sequences of interest by entering their own sequences. This functionality is valuable for genetic engineers, biologists, and bioinformaticians.

  • Customizable Threshold: The code uses an 85% similarity threshold by default, which can be adjusted to fit specific research requirements.

  • Documentation: The code is well-documented, making it accessible and understandable for users and developers.










  • Document