How to Make Egg Whites Using Yeast

Cameron Kroll
6 min readAug 31, 2022

I’ve been doing synthetic biology for about a year and a half. When I was just starting out, I found the Whose Gene is it Anyway livestreams super helpful for getting up to speed. I’ve decided to turn the first half of the first stream into a tutorial for using GIL to design genetic modifications.

Note: if you already know the basics of synthetic biology, you should skip to part 2

Part 1: The plasmid

Almost all microbial genetic modifications use a circle of DNA called a plasmid to deliver the genes. A plasmid is generally made of three parts: an ORI, a selection marker, and (sometimes) a promoter for your modification.

An origin of replication (ORI) is a special sequence of DNA that tells the host cell to copy the plasmid. Without this, the plasmid would disappear after only a couple of cell divisions. Most plasmids have 2 ORIs; one ORI allows replication in E.Coli and the other allows replication in the target organism. This lets you make a bunch of copies of the plasmid in E.Coli before transferring it into a more complex or slower-growing organism.

The selection marker is probably the most important part of the plasmid. When we stick a plasmid into a colony of microbes, we won’t get an equal amount of plasmid in all of them. Selection markers let us kill all the cells that didn’t get the plasmid and force our microbes to keep doing what we want them to do. For example, this tutorial uses an antibiotic resistance marker. If you grow bacteria on plates laced with this antibiotic, only the bacteria that have our plasmid will survive.

Finally, a lot of plasmids have a promoter. A promoter is a bit of DNA that’s like a little flag that tells a cell that there’s a gene here that it should make. Without a promoter, the cell will just ignore our modifications.

A promoter tells the cell to start making the gene that comes after it

We’re going to be using Addgene plasmid p46815 for this tutorial (the one used in the original live stream). I’ve already written a GIL version of this plasmid, go ahead and download it from the GitHub repo here.

Plasmid map from addgene

Part 2: Setting up your CadBerry/GIL environment

You’ll need two things in order to compile this project. First, go to the CadBerry GitHub repo and download the latest 0.1 release. If you’re on Windows, you can just run the installer and it will install CadBerry on your system. If you’re on Linux, things will be a bit harder. While CadBerry supports Linux, we don’t have any packages (yet). You’ll have to compile CadBerry yourself using the instructions in the repo (Contributing.md, you’ll have to modify them a bit for Linux)

Once you’ve downloaded CadBerry, you’ll need to install VSCode so you can edit the GIL files. To make sure you have VSCode, type code into the console. If it opens a VSCode window, your VSCode installation will be accessible to CadBerry.

Next, we have to create a CadBerry project. Run Berry.exe and hit “New Project”, and you should see something like the screenshot below, only without any existing projects.

Enter the name of the project that you want to create (I’m calling this one “Tutorial”), click “Select project path”, select the folder with the plasmid GIL file, and hit “Create Project!”. At this point, your screen should look like the following:

Ignore the bit about packages, that’s still a work in progress. If you go to Windows -> Code Editor, CadBerry will open a VSCode window that you can use to edit GIL files.

Note: if you want nice syntax highlighting for GIL files, you can get the GIL syntax highlighting extension here.

Part 3: Making the modification

We’re going to use two proteins to make the yeast produce egg whites. The egg whites themselves are mostly made of Ovalbumin. If we just produced Ovalbumin in the yeast cells, it’d build up until it kills the cells. Because of this, we have to add a small bit of protein called Alpha Mating Factor to the start of the Ovalbumin. This peptide tricks the yeast into releasing the Ovalbumin into the solution that it’s growing in.

First things first, we need to set our target organism. Add #Target “Yeast” or #Target “S.Cerevisiae” to the start of a new file called Eggs.gil.

Next, we need to import the GIL file containing the plasmid. Add the line import “Plasmid” to the file.

Now it’s time to define the sequences that we’ll be using. AlphaMatingFactor will contain a single DNA literal that codes for the Alpha Mating Factor peptide. Chicken_Ovalbumin will be an amino acid sequence that codes for the chicken version of the Ovalbumin protein. The compiler will automatically convert this amino acid sequence to DNA that’s optimized for yeast. Below is the code for these sequences:

sequence AlphaMatingFactor
{
'atgagatttccttcaatttttactgctgttttattcgcagcatcctccgcattagct'
}
sequence Chicken_Ovalbumin
{
@MGSIGAASMEFCFDVFKELKVHHANENIFYCPIAIMSALAMVYLGAKDSTRTQINKVVRF
DKLPGFGDSIEAQCGTSVNVHSSLRDILNQITKPNDVYSFSLASRLYAEERYPILPEYLQ
CVKELYRGGLEPINFQTAADQARELINSWVESQTNGIIRNVLQPSSVDSQTAMVLVNAIV
FKGLWEKAFKDEDTQAMPFRVTEQESKPVQMMYQIGLFRVASMASEKMKILELPFASGTM
SMLVLLPDEVSGLEQLESIINFEKLTEWTSSNVMEERKIKVYLPRMKMEEKYNLTSVLMA
MGITDVFSSSANLSGISSAESLKISQAVHAAHAEINEAGREVVGSAEAGVDAASVSEEFR
ADHPFLFCIKHIATNAVLFFGRCVSP@
}

Note: if you want to optimize an amino acid sequence for an organism other than your target organism, use for “NewOrganism” { Amino acids here }

Finally, we have to put everything together. Call the Plasmid::plasmid operation on AlphaMatingFactor and Chicken_Ovalbumin. At this point, your file should look like this:

At this point, we’re done! We just need to compile the file. Go to Project -> Settings and uncheck the “Create entry point” option. Now, hit Project -> Build. Your build menu should look like this:

For the entry point, enter “Eggs” (don’t worry about the “.gil”). For the output directory, copy the path to whatever folder you want CadBerry to put the compiled GIL files. Finally, add “FullBuild” as the active distribution. This will tell GIL to compile the whole plasmid, not just your modification. Your screen should look something like this:

Hit “Build Project!” and CadBerry will compile all the GIL files into GenBank files which you can import into a plasmid viewer like Benchling. Below is a screenshot of the finished plasmid:

Yes, this is a linear map. I’m hoping to add support for circular output in the next update.

This tutorial only scratched the surface of what GIL can do, so if you’re interested I’d highly recommend checking out the GIL examples file. Every GIL version is tested against this, so the stuff in that file is guaranteed to be the most up-to-date version of GIL.

Hey there 👋

I really appreciate you reading my article to the end. If GIL is interesting to you, I’d highly encourage you to go check it out. If you want to stay informed about GIL and other stuff I’m working on, subscribe to my newsletter and follow me on Twitter.

--

--