Overview

Our project “PERspectives” aims to implement the perceptron algorithm in vitro-via the senders and the receivers population- in order to perform pattern recognition tasks. Since we are referring to a basic machine learning algorithm, our project would not be fully implemented without a software application in order to perform the training and in silico design of the genetic circuit. Thus, we created the PERspectives app, which has the following purposes:

1. Implement the software training of the perceptron, offering some tuning parameters and some accuracy metrics as a result
2. Correspond each classes’ weight to the correct RBS, via our RBS library
3. Allow advanced users to import their own RBS sequences as well as delete already existing ones (via the RBS name)

Figure 1. Input page when first running the application.py script.

Interface

In terms of the interface, it is split in two sections; a left one, where the user can provide the inputs, the training dataset as well as modify the RBS library and a right one, where the results of training and modification can be viewed.

Furthermore, users can download sample datasets not only for training but also for importing novel RBS sequences via download buttons in the right section.

Figure 2. Download buttons for sample datasets (training and RBSs).

Building the app

In terms of training the model, we tested it in 2 different datasets: one used in the pattern recognition section of our model and the breast cancer dataset offered by the sklearn python package. Since we have already shown the usage of our software on the first dataset for extracting the correct RBS sequences per class, in this section we will use it for the latter one.

After importing our dataset via the “Import Your Dataset” button on the right section, and using a learning rate of 0.03 for epochs we received a training accuracy of 89.3%.


Figure 3. Training Results for the sklearn breast cancer dataset.


Our Use Case

However, in terms of our biological implementation of the perceptron, the application offers an RBS for each class from the RBS library which correctly corresponds to the weight value(%) received by the training of the perceptron. For our example above, the result received was the following:
Weight Class Weight Value Sign Translation Rate [a.u] RBS_Name RBS_Sequence
mean radius 12.235467715472511 Negative 19580.10876 synthetic_RBS_20 GGGCCCAAGUUCACUUAAAAAGGAGAUCAACAAUG
AAAGCAAUUUUCGUACUGAAACAU
CUUAAUCAUGCUGCGGAGGGUUUCUA
mean texture 13.559208074786707 Positive 30195.18 BCD6 UUGGCAACGGCUUAUGGGAGGGAUGACA
mean perimeter 11.116287961601783 Negative 13106.64212 synthetic_RBS_26 GGGCCCAAGUUCACUUAAAAAGGAGAUCAACAAUGAA
AGCAAUUUUCGUACUGAAA
CAUCUUAAUCAUGCUAUGGAGGUUUUCUA
mean area 12.573070309567562 Negative 39353.4991 synthetic_RBS_4 UUGGCAACGGGUUAUCGGAGGGAUGACA
mean smoothness 15.98002809868399 Positive 73526.53956 synthetic_RBS_7 UUGGCAACGGCUUAUGGGAGGGAUGACA
mean compactness 1.9926475349802477 Positive 31126.53073 synthetic_RBS_14 UUGGCAACGGCUUAUGGGAGGGAUGACA
mean concavity 2.3803258156223253 Positive 78686.23401 synthetic_RBS_6 GGGCCCAAGUUCACUUAAAAAGGAGAUCA
ACAAUGAAAGCAAUUUUCGUACUGAAACAU
CUUAAUCAUGCGCCGGAGGUUUUCUA
mean concave points 0.5270090142745103 Positive 106815.75 BCD12 GGGCCCAAGUUCACUUAAAAAGGAGAUC
AACAAUGAAAGCAAUUUUCGUACUGAAAC
AUCUUAAUCAUGCAUCGGACCGUUUCUA
mean symmetry 17.35597929400305 Positive 78686.23401 synthetic_RBS_6 GGGCCCAAGUUCACUUAAAAAGGAGAUCAA
CAAUGAAAGCAAUUUUCGUACUGAAACAUCUU
AAUCAUGCGCCGGAGGUUUUCUA
mean fractal dimension 7.870227407285138 Positive 134925.9866 synthetic_RBS_13 UUGGCAACGGCUUAUGGGAGGUAUGUCA
radius error 3.583395175979027 Negative 30195.18 BCD6 UUGGCAACGGCUUAUCGGAGGUAUGACA
texture error 5.996772332174852 Positive 31126.53073 synthetic_RBS_14 UUGGCAACGGGUUAUGGGACGUAUGACA
perimeter error 5.655963608371979 Negative 26985.04 BCD8 UUGGCAACGGCUUAUGGGAGGGAUGCCA
area error 22.02322108639225 Negative 30195.18 BCD6 UUGGCAACGGCUUAUCGGAGGGATGACA
smoothness error 22.103359834529517 Positive 39353.4991 synthetic_RBS_4 UUGGCAACGGCUUAUGGGAGGUAUGUCA
compactness error 19.125114259736407 Negative 4723.721793 synthetic_RBS_43 GGGCCCAAGUUCACUUAAAAAGGAGAUCAAC
AAUGAAAGCAAUUUUCGUACUGAAACAUCUUAAU
CAUGCUGCGGAGGGUUUCUA
concavity error 27.345908734968848 Negative 5809.43 BCD20 UUGGCAACGGGUUAUCGGAGGGAUGACA
concave points error 44.075566057707576 Negative 1279.278805 synthetic_RBS_62 UUGGCAACGGCUUAUGGGAGGGAUGACA
symmetry error 12.08302765909511 Positive 39353.4991 synthetic_RBS_4 UUGGCAACGGGUUAUCGGAGGGAUGUCA
Table 1. Corresponding RBS to each weight class, after the training process of the PERceptron application for the breast cancer dataset.

In terms of the RBS Library used, it should be mentioned that it has been modified from the initial Library offered by the dry lab during the design process of our project, due to the fact that we received some laboratory data for 11 of the Sender’s RBS, as they are presented in the table below:

RBS Value Wet Value Dry a_luxi_fitted Proportional Strength
BCD2 43704 43680 128 287840
S11 34943 34125 100 224875
BCD14 23202 23205 68 152915
S13 19903 20475 60 134925
S10 17106 17062 50 112437
BCD12 16981 16209 47.5 106815
S4 5926 5972 17.5 39353
BCD8 4050 4095e 12 26985
S12 2887 2900 8.5 19114
S5 597 597 1.75 3935
Table 2. Fitted RBS sequences (as presented in the Model section) and their proportional strengths, based on the strongest proportional value of 297840 offered by RBS BCD2


So, since our RBS Library should be modified due to new experimental data, our team thought that a great idea would be the capability to modify the imported RBS, since future iGEM Teams might come with novel characterization data or even new RBS parts that they would like to use. As a result, the PERspective App offers advanced users with the capability to modify our own RBS Library via “delete” and “insert” options on the left-hand side of the application.

Figure 4. RBS Library displayed before and after insertion of novel RBS sequences. We can view on the top of the list the imported “rbs_sample_01” from the downloaded sample dataset, with TIR value of 300,000.


Figure 5. Delete attempts when an RBS sequence is found or not found (based on it’s input name).


Figure 6. A significant drop in training accuracy is observed for large datasets, such as the sklearn breast cancer one.


In order to run the application, visit our repository on gitlab.igem.org, here. You can find instructions on the requirements and how to run the application in the README.md file, included in the repository.

Conclusions

Regarding its value, we believe that the PERspectives Application has the potential to become a solid bioinformatics tool for future iGEM Teams due to its versatility as a simulation and design tool. As future goals, our team aims to create a more dynamic UI, probably moving from the Streamlit python implementation to a full-stack one, which will include a relational database in SQL, an API such as php and a website interface using HTML,CSS and JavaScript languages, for a more customized setup.

In terms of the RBS Library, it would be of high importance the update of the initial RBS Library with translation rate sequences that have been validated from wet lab experiments on the sender’s constructs as well as minor modifications on the Perceptron algorithm in order to avoid bad parameter tuning, especially in the case of large datasets with more than 10 classes. That was especially displayed on the breast cancer dataset where a small change in the learning rate from 0.03 to 0.1 resulted in a major drop in training accuracy.