Closing the DBTL loop with TeselaGen

Shows how to create designs out of DISCOVER's suggested candidates

Andrés Ramirez avatar
Written by Andrés Ramirez
Updated over a week ago

With TeselaGen's platform you can close the Design-Build-Test-Learn (DBTL) cycle using machine learning algorithms that automatically learn from your data. The DISCOVER module is capable of suggesting new candidates that can optimize your results given your previous experimental rounds. This document shows how to enable those candidates as new designs at the DESIGN module to perform the next DBTL cycle.

Inputs: Evolutions algorithm's result at an DISCOVER module instance

Outputs: New designs created at DESIGN module


  • Access permissions to the lab where the evolutions results are stored

  • Have Python3 installed in your local computer with Pandas

The Evolutions results contains a set of ranked candidates that may outperform your current measurements. Each of the proposed designs is a combination of the parts (and possibly other variables) you have already tested and they were evaluated and ranked by a machine learning algorithm. This guide starts at the output of the Evolutions tool at DISCOVER. You may look our example at DISCOVER > Lab: Common > Evolutions > Teselagen Example Evolutive Model.

The example evolutive model solves a fictional problem, detailed at the beginning of the results page. Down to near the bottom of the page the Model Data card is displayed. This card can show training data as well as output data (default). Training data refers to the experimental data used to build the model and the output data corresponds to all samples where a prediction was made (may include also training data). In this case, there are 2 bins: Teselagen Enzyme A and Teselagen Enzyme B and a single target column: Production. Only experimental samples contain a valid value on this column. The column Prediction for Production is the estimation of the target value made by the machine learning algorithm. The Priority column allows you to differentiate the candidates suggested by the model (integer value) from the rest of the elements (N/A). For this example, the algorithm was set to suggest 10 elements, which are labeled with a priority integer. The lower the value the higher the expected Production for the design candidate.

To export the candidates to DESIGN a few steps are needed:

1. Get evolutions result data: We are going to take these 10 candidates and generate a design record at DESIGN. To do this we can use the GUI: first click on the Export to CSV link (and then Submit) at Model Data and download the file to your machine.

2. Generate json structure for DESIGN: Download this file that contains some python utilities. Unzip its contents. Then, open a Terminal window on the folder of the unzipped scripts and execute the following command (you should replace first <PATH TO CSV> with the file path to the downloaded csv) :

python3 --bin_cols "Teselagen Enzyme A" "Teselagen Enzyme B" --input "<PATH TO CSV>"

After execution, a new file should have been generated in the same folder, named EVOLVE_candidates.json.

3. Upload generated json into DESIGN: Go to DESIGN module and go to Designs > Designs at the top menu bar. Then, press new design to add a new design. At the next window write down the design name and description. Drag and drop the EVOLVE_candidates.json to the upload area. Select List from the Design Layout Type selection box and your prefered lab at Choose lab. Finally, press Save.

After a few seconds the screen should be displaying the new design.

Did this answer your question?