Homework

Weekly homework submissions:

  • Week 1: Principles and Practices

    Class Assignment Project Idea Chronic wounds and surgical site infections affect millions of patients and cost heathcare systems tens of billions of dollars annually, yet closure devices often remain as passive stitches that do not actively orchestrate local immunity or regeneration [1][2]. Drug-eluting sutures have shown that suture material can safely deliver local therapeutics, but current designs provide only finite, non-adaptive release of single agents such as antibiotics or growth factors [3][4]. Cell-filled sutures packed with mesenchymal stem cells already demonstrate that viable cells can be integrated into suture structures and enhance healing, but these cells are unmodified and lack controllable, multi-functional outputs [5]. Separately, engineered combinatorial cell devices in fiber-like formats can secrete optimized cocktails of growth factors to accelerate wound and bone repair, but they are not load-bearing sutures and do not address infection or scar modulation at the incision line [6].

  • Week 2: DNA Read, Write, and Edit

    Benchling and In-Silico Gel Art Simulate Restriction Enzyme Digest I found this process quite intuitive, as I’ve done similar simulations with the application SnapGene, but it was interesting to notice the small interface differences between the two!

  • Week 3: Lab Automation

    Python script for Opentrons artwork For the art portion of this week’s assignment, I decided to code Yoshi from Super Mario Brothers since the Designer Cells node only had the red and green colors. I used this photo as reference. From there, I started to code for the Opentron automation.

  • Week 4: Protein Design Pt 1

    Conceptual Questions (Question 1) A 500g piece of meat would weight about 3.011x1026 Daltons, and since each amino acid is equal to about 100 Daltons, that would mean that by consuming this piece of meat, you are consuming 3.011x1024 amino acids. (Questions 2) When we eat sources of meat, we physically and enzymatically break down the proteins into amino acids, fatty acids, and sugars, which in turn are used to provide energy to our bodies.

  • Week 5: Protein Design Pt 2

    SOD1 binder peptide design Generate binders with PepMLM The original SOD1 sequence[1] is as follows: >sp|P00441|SODC_HUMAN Superoxide dismutase [Cu-Zn] OS=Homo sapiens OX=9606 GN=SOD1 PE=1 SV=2 MATKAVCVLKGDGPVQGIINFEQKESNGPVKVWGSIKGLTEGLHGFHVHEFGDNTAGCTS AGPHFNPLSRKHGGPKDEERHVGDLGNVTADKDGVADVSIEDSVISLSGDHCIIGRTLVV HEKADDLGKGGNEESTKTGNAGSRLACGVIGIAQ The A4V mutation changes the alanine to valine at codon 4, which results in

  • Week 6: Genetic Circuits Pt 1

    DNA Assembly (Question 1) Within Phusion High-Fidelity Master Mix [1], there is a Phusion DNA Polymerase (which enzymatically synthesizes the DNA in the 5’ to 3’ direction), nucleotides (the building blocks of the synthesized DNA), and an optimized reaction buffer (maintains optimal conditions for the polymerase). (Question 2) Some factors that determine primer annealing temperature are the primer length, the GC content, and the salt concentration.

  • Week 7: Genetic Circuits Pt 2

  • Week 9: Cell Free Systems

    General questions Individual final project

Subsections of Homework

Week 1: Principles and Practices

Class Assignment

Project Idea

Chronic wounds and surgical site infections affect millions of patients and cost heathcare systems tens of billions of dollars annually, yet closure devices often remain as passive stitches that do not actively orchestrate local immunity or regeneration [1][2].

Drug-eluting sutures have shown that suture material can safely deliver local therapeutics, but current designs provide only finite, non-adaptive release of single agents such as antibiotics or growth factors [3][4]. Cell-filled sutures packed with mesenchymal stem cells already demonstrate that viable cells can be integrated into suture structures and enhance healing, but these cells are unmodified and lack controllable, multi-functional outputs [5]. Separately, engineered combinatorial cell devices in fiber-like formats can secrete optimized cocktails of growth factors to accelerate wound and bone repair, but they are not load-bearing sutures and do not address infection or scar modulation at the incision line [6].

In a separate project, I explored how patient skin cells (such as fibroblasts) could be engineered to express a genetic circuit that could counteract the persistent inflammation of chronic wounds, sense a biomarker indicative of the end of the inflammatory wound healing phase, and then kickstart the proliferation phase sequentially.

I want to use a similar premise to propose a hollow, bioabsorbable suture that houses genetically engineered cells programmed to sense wound and infection cues to secrete combinations of pro-regenerative and antimicrobial factors over the critical healing window. This would transform sutures from a passive mechanical closure tool into an adaptive, living therapeutic that directly tackles both impaired healing and scarring in a way that current drug-eluting or cell-based sutures cannot.

Governance/Policy Goals

Enhance Biosecurity

Introducing genetically modified living materials into the body always poses the risk of unintended side effects in terms of how that newly modified

  • Escape and persistence of engineered cells
    • Genetically engineered cells have the potential to leak from the suture material during deegradation, which may cause the migration of these cells to other unintended areas of the body
  • Unintended immune suppression hotspots
    • One potential application of the seeded engineered cells is to assist in the healing of chronic wounds, which would require the secretion of anti-inflammatory genes/cytokines. In this case, it could potentially host an environment that is susceptible to tumor growth due to the prevention of the body’s natural protection mechanisms becoming temporarily reduced

Foster Lab and Patient Safety

  • By preventing incident
  • Informed patient consent
  • Adverse events

Protect the Environment

  • Wasted suture material
    • As this suture material would contain a living cellular component, the wasted material would need to be properly disposed of through the right channels
  • Resistance ecology
    • As the suture material could aim to reduce microbial infection, this could lead to an inadvertent resistance issue through evolution (similar to antibiotic resistance) and should be thoughtfully considered

Other Considerations

  • Equal access
  • Not impede research
  • Promote constructive applications

Potential Governance Actions

  1. Specialized biosafety and clinical training track for “living implant” users
  • Purpose:
    • Researchers and clinicians complete general biosafety and surgical training, but there is no standardized curriculum for working with engineered living impants
    • Establish a dedicated training a certification program for labs and clinicians who design, manufacture, or implant living sutures, similar to specialized credentialing for radiation safety or gene therapy administration
  • Design:
    • Government entities would implement a standardized curriculum and requirement for all individuals working with living material users
    • Universities, hospitals, and organizations could develop modules on containment of genetically engineered materials, safety functions and limitations, proper disposal methods and would need to require completion from designated users
  • Assumptions:
    • Assumes that the training would be taken seriously by all parties involved
    • Assumes that institutions have the resources to implement this level of training
  • Risks of Failures and Success:
    • Training can easily devolve into people trying to just “pass a quiz”
    • Small or underprivileged institutions may not be able to support the certification
    • Credentials could become a bottleneck in care, limiting broader patient impact
  1. Mandatory standardized labeling and risk communication for living sutures
  • Purpose:
    • Implanted devices and sutures often have minimal patient-facing documentation and many patients do not know exactly what materials are being used
    • Require clear, standardized labeling and risk summaries for any engineered-cell stuure, both on packaging for clinicians and in take-home materials for patients, similar to medication guides for high-risk drugs
  • Design:
    • Government entities should define a standardized material and one-page explanation that should include that the suture is living/engineered, intended benefits, key unknowns, possible risks, and recommended follow-up durations
    • Medical professionals should ensure that patients receive and acknowledge these materials during consent and discharge
  • Assumptions:
    • Assumes patients will read and understand the materials
    • Assumes that clinicians will consistently use and explain documents instead of just handing them over
    • Assumes that simple language used for materials can convey the complex biological concepts utilized
  • Risks of Failures and Success:
    • Overly technical language may confuse or scare patients without helping them to make an informed decision
    • If the material emphasizes uncertainty too strongly, clinicians may avoid using the sutures due to patient refusal or anxieties, even when risk-benefit is favorable in high-need cases
  1. Open safety data and pre-registration for living-suture research
  • Purpose:
    • Clinical trials are often pre-registered, but preclinical work, especially in industry, can remain proprietary and negative results are frequently unpublished
    • Require prospective registration and open reporting of both clinical and key preclinical studies involving engineered-cell sutures, including negative or inconclusive safety findings
  • Design:
    • Academic and industrial labs should register protocols in public or semi-public databases and post summaries of the key findings, including failures
    • Government or regulatory safety boards should aggregate data and identify patterns which can be communicated to different programs and companies
  • Assumptions:
    • Assumes companies will accept some loss of competitive secrecy for safety transparency
    • Assumes public reporting can be done in ways that protect intellectual property while still being meaningful
  • Risks of Failures and Success:
    • Compliance may be partial, some negative preclinical findings could stay hidden in internal reports
    • Low-quality data could mislead more than inform
    • Highly publicized early safety issues, even if fixable, could dissolve public trust in otherwise promising tools

Governance Actions vs Policy Goals

ResearchersMedical professionalsGovernment Entities (Ex: FDA)Patients
Enhance Biosecurity
• Escape and persistence of engineered cells312n/a
• Unintended immune suppression hotspots132n/a
Foster Lab and Patient Safety
• By preventing incident3214
• Informed patient consent4123
• Adverse events3214
Protect the environment
• Wasted suture material3214
• Resistance ecology3214
Other considerations
• Equal access321n/a
• Not impede research212
• Promote constructive applications1234
  • 1= most responsibility, 4=least responsibility

Lecture 2 Preparation Questions

Questions from Professor Jacobson

  1. The error rate for DNAP is 106 (about 1 in 1 million). Since the human genome is roughly 3.2 x 109 bp, this means that there would be around 3,200 errors each time a genome copy is made. However, nature is able to combat these errors due to its error correction mechanisms, such as the MutS repair system.
  2. If we assume that an average human protein has 375 amino acids [7], and there are about three codons that code each amino acid, then there are roughly 10180 ways to code for the average human protein. However, some of these codings could be invalid if they don’t have a proper start codon, if they have unstable mRNA, or if they produce a misfolded protein.

Questions from Dr. LeProust

  1. Currently, the method typically used for oligo synthesis is solid-phase phosphoramidite chemistry, where the 5’ end of the previous nucleotide is protected and as phosphoramidites are added (modified versions of each nucleotide), the 5’ end is exposed, allowing the next base to couple, and then the resulting 5’ end is protected once again while an oxidizing solution stabilizes the bond that was just formed, repeating the process until one obtains the desired oligonucleotide [8].
  2. Oligos longer than 200bp are typically too difficult to synthesize due to an accumulation of impurities that significantly decreases the yield [9].
  3. Coding a gene over 2000bp by oligo synthesis would also be difficult due to exponentially decreasing yields over a certain threshold and difficulty with purifying the final product.

Questions from George Church

In response to question #2

  • The NA:NA code relies on pairing G to C and pairing A with T (or U in RNA). This then is translated in the AA:NA code as a three bp long codon that translates to one of the twenty amino acid, and this ultimately results in amino acids that can be coded by multiple codon sequences. In order to create an AA:AA code, which would represent protein-protein interactions, I would anticipate the need to consider 3D structure as well as properties of each of the AAs. For example, a positively charged amino acid, like histamine, would ultimately pair best with a negatively charged amino acid, such as glutamic acid. Since there are multiple amino acids with these properties, the code would not have a singular outcome, like NA:NA, but this code could then be further optimized through the 3D structure complemtarity [10][11].

Week 2: DNA Read, Write, and Edit

Benchling and In-Silico Gel Art

Simulate Restriction Enzyme Digest

Lambda DNA simulation of each restriction enzyme digestion Lambda DNA simulation of each restriction enzyme digestion

I found this process quite intuitive, as I’ve done similar simulations with the application SnapGene, but it was interesting to notice the small interface differences between the two!

Pattern in the style of Paul Vanouse

I attempted to make a “Y” for Yonsei, but it turned out to be more difficult than I expected and this was the closest I ended up getting… Huge respect to the people who were able to make a more comprehensive image like the ones that spell MIT!

DNA Design Challenge

My Chosen Protein

I chose to explore Calreticulin (CALR) as my protein of interest for this week due to its role as a pro-healing cue in wound healing[1]. CALR typically serves to support the progression through the four wound healing phases (hemostasis, inflammation, proliferation, and remodeling) [2], which is classically disrupted during chronic wounds [3].

Protein sequence[4]:

sp|P27797|CRTC_HUMAN CALRETICULIN PRECURSOR from residues
                     31- 64, Pval= 3.8e-18, (100% identity); putative"
ORIGIN      
        1 mllsvplllg llglavaepa vyfkeqfldg dgwtsrwies khksdfgkfv lssgkfygde
       61 ekdkglqtsq darfyalsas fepfsnkgqt lvvqftvkhe qnidcgggyv klfpnsldqt
      121 dmhgdseyni mfgpdicgpg tkkvhvifny kgknvlinkd irckddefth lytlivrpdn
      181 tyevkidnsq vesgsleddw dflppkkikd pdaskpedwd erakiddptd skpedwdkpe
      241 hipdpdakkp edwdeemdge weppviqnpe ykgewkprqi dnpdykgtwi hpeidnpeys
      301 pdpsiyaydn fgvlgldlwq vksgtifdnf litndeayae efgnetwgvt kaaekqmkdk
      361 qdeeqrlkee eedkkrkeee eaedkedded kdedeedeed keedeeedvp gqakdel

Nucleotide sequence[5]:

atgctgctgagcgtgccgctgctgctgggcctgctgggcctggcggtggcggaaccggcg
gtgtattttaaagaacagtttctggatggcgatggctggaccagccgctggattgaaagc
aaacataaaagcgattttggcaaatttgtgctgagcagcggcaaattttatggcgatgaa
gaaaaagataaaggcctgcagaccagccaggatgcgcgcttttatgcgctgagcgcgagc
tttgaaccgtttagcaacaaaggccagaccctggtggtgcagtttaccgtgaaacatgaa
cagaacattgattgcggcggcggctatgtgaaactgtttccgaacagcctggatcagacc
gatatgcatggcgatagcgaatataacattatgtttggcccggatatttgcggcccgggc
accaaaaaagtgcatgtgatttttaactataaaggcaaaaacgtgctgattaacaaagat
attcgctgcaaagatgatgaatttacccattataccctgattgtgcgcccggataacacc
tatgaagtgaaaattgataacagccaggtggaaagcggcagcctggaagatgattgggat
tttctgccgccgaaaaaaattaaagatccggatgcgagcaaaccggaagattgggatgaa
cgcgcgaaaattgatgatccgaccgatagcaaaccggaagattgggataaaccggaacat
attccggatccggatgcgaaaaaaccggaagattgggatgaagaaatggatggcgaatgg
gaaccgccggtgattcagaacccggaatataaaggcgaatggaaaccgcgccagattgat
aacccggattataaaggcacctggattcatccggaaattgataacccggaatatagcccg
gatccgagcatttatgcgtatgataactttggcgtgctgggcctggatctgtggcaggtg
aaaagcggcaccatttttgataactttctgattaccaacgatgaagcgtatgcggaagaa
tttggcaacgaaacctggggcgtgaccaaagcggcggaaaaacagatgaaagataaacag
gatgaagaacagcgcctgaaagaagaagaagaagataaaaaacgcaaagaagaagaagaa
gcggaagataaagaagatgatgaagataaagatgaagatgaagaagatgaagaagataaa
gaagaagatgaagaagaagatgtgccgggccaggcgaaagatgaactgtaa

Codon optimization[6]:

ATGCTCCTGTCCGTGCCCCTGCTGCTGGGCCTGCTGGGGCTCGCCGTGGCTGAGCCCGCC
GTGTACTTCAAGGAGCAGTTCCTGGACGGCGATGGCTGGACATCCAGATGGATCGAGTCT
AAGCATAAGTCCGACTTCGGCAAGTTCGTGCTGTCCAGCGGGAAGTTCTATGGGGACGAG
GAGAAGGACAAAGGCCTGCAGACCTCACAGGACGCAAGATTCTATGCCCTTAGCGCCAGC
TTCGAGCCCTTCTCAAACAAAGGGCAGACTCTGGTGGTGCAGTTCACTGTGAAGCATGAG
CAGAACATTGATTGCGGCGGCGGCTACGTGAAGCTGTTTCCTAATAGCCTGGATCAGACA
GACATGCACGGGGACAGCGAGTATAACATCATGTTCGGCCCAGACATTTGCGGCCCAGGC
ACTAAGAAGGTGCACGTGATTTTCAATTATAAAGGCAAAAACGTGCTGATCAATAAAGAC
ATTAGGTGTAAGGATGACGAGTTCACCCATTACACCCTGATCGTGCGCCCCGACAACACC
TACGAGGTGAAGATCGACAACTCACAGGTGGAGAGCGGGAGCCTGGAGGACGACTGGGAC
TTTCTGCCACCAAAGAAGATTAAGGACCCCGACGCCTCCAAGCCCGAGGACTGGGACGAG
CGGGCCAAAATCGACGATCCAACAGATTCAAAGCCCGAAGACTGGGATAAGCCTGAGCAC
ATCCCCGACCCAGACGCAAAGAAGCCTGAAGACTGGGACGAGGAGATGGACGGCGAGTGG
GAGCCCCCTGTGATCCAGAACCCCGAGTACAAGGGGGAGTGGAAGCCAAGGCAGATTGAC
AACCCCGACTACAAAGGCACTTGGATTCACCCTGAGATCGACAACCCCGAATATTCACCC
GACCCCTCTATCTACGCCTACGACAATTTCGGGGTGCTGGGCCTGGACCTGTGGCAGGTG
AAGAGCGGCACCATCTTCGACAATTTCCTGATCACAAACGACGAGGCCTACGCCGAAGAG
TTCGGCAATGAGACATGGGGCGTGACCAAAGCCGCCGAGAAGCAGATGAAGGACAAGCAA
GACGAGGAGCAGCGCCTGAAAGAGGAGGAGGAGGACAAAAAGCGCAAGGAGGAGGAGGAA
GCCGAGGACAAAGAAGACGACGAGGATAAGGACGAGGATGAAGAGGACGAAGAAGACAAG
GAGGAGGACGAGGAGGAAGATGTCCCCGGACAGGCCAAGGACGAGCTGTGA

Codon optimization is essential to ensuring the proper and efficient protein expression of a given protein within a specific organism. Typically, different organisms favor different codons that ultimately encode the same amino acid [7], which is why optimizing to the specific organism you intend to use to produce the protein verifies that frequently used codons are encoded instead of rarely used ones within your expression host of choice[8].

In this case, I think that the most applicable technology to produce CALR would be to use HEK293T cells. These cells are human derived and are quickly replicable, meaning that they would be able to prouduce this protein with great efficiency. In order to do this, first I would need to clone my protein insert into a mammalian expression vector with a strong promoter, which would then be tranfected into the HEK293T cells (for example, by lipofection). Within the cells, the RNAP recognizes the promoter and would transcribe the plasmid into RNA. This mRNA would then be translated into protein by the ribosome.

Prepare a Twist DNA Synthesis Order

CALR exercise in Benchling CALR exercise in Benchling I prepared my optimized gene within Benchling for Twist [9]. CALR Twist order page CALR Twist order page CALR plasmid from Twist order CALR plasmid from Twist order This order page was so simple compared to other ordering sites I used, and I liked that you could export the entire plasmid as well.

DNA Read/Write/Edit

DNA Read

On a similar theme as my previous assignments, one of my main interests is in finding the key molecular mechanisms and differences that distinguish successful wound repair from chronic, non-healing counterparts. For this reason, I’d be interested in being able to compare the mitochondrial genome of healthy (efficiently healing) and chronic wound patients, as the mitochondria has been proven to play a central role in wound metabolism [10][11]. By sequencing these genomes and contrasting the two, it may reveal variants within the genome that could predispose individuals or make them more vulnerable to chronic wound development.

In order to achieve this goal, I would try to make use of Oxford Nanopore sequencing, which is a third-generation sequencing technology. Since the main goal of this reading would be to read specifically mitochondrial DNA, the first step would be to extract the DNA from a wound tissue/normal tissue sample and quantify it. Next, I should perform long-amplicon PCR in order to highlight the mitochondrial DNA, subsequently adding an A tail so that sequenecing adapters can ligate efficiently. Following this, the sequencing adapters will be attached and and then sequencing will be started. In order to decode the bases of the DNA sample, Oxford Nanopore sequencing relies on ionic currents to detect which bases are passing through the nanopore. Since each basepair emits a different current value, we are able to trace the sequence that subsequently passes through the pore by decoding each current value. The final output of this sequencing technology is a FASTQ file that includes the DNA sequence along with a per-base quality score.

AI citation

Peplexity - “Can you explain in simple terms how Oxford Nanopore sequencing is prepared and what is the outcome?”

DNA Write

One of the long-term projects I’ve been working on at the Designer Cells lab was to synthesize a genetic circuit for chronic wounds. Since the main obstacle of chronic wound healing is their persistent inflammation, I designed a FLEx (Flip Excision) switch [12] that first expresses an anti-inflammatory gene set and then switches irrersibly to a migratory gene set after sensing a biomarker indicative of the end of the inflammation phase of wound healing.

Since this genetic circuit insert ended up being close to 4.5k, I think that the most efficient method to synthesize this would be an enzymatic synthesis approach. This synthesis method is similar to how primers are synthesized. Some limitations of this synthesis method is that it has limited synthesizing ability for longer strands of DNA.

DNA Edit

One point of DNA I’ve been looking at is to edit Calreticulin to add domains that recognize damage-associated extracellular matrix patterns. This would allow these engineered proteins to more effectively seek out damaged tissues (such as in the case fo chronic wounds) in order to facilitate wound healing.

In order to achieve this, I could utilize CRISPR-Cas HDR. In order to achieve this, I would need to design a gRNA that targets the desired insertion site as well as the edits that would need to be made. Then, I would need to ensure that the gRNA was delivered to the appropriate cells of my choosing. The potential limitations could revolve around structure integrity as well as the efficiency of HDR.

Week 3: Lab Automation

Python script for Opentrons artwork

For the art portion of this week’s assignment, I decided to code Yoshi from Super Mario Brothers since the Designer Cells node only had the red and green colors. I used this photo as reference. Yoshi Reference Yoshi Reference Yoshi Well Art Yoshi Well Art From there, I started to code for the Opentron automation.

from opentrons import types

metadata = {    # see https://docs.opentrons.com/v2/tutorial.html#tutorial-metadata
    'author': 'Sydney',
    'protocolName': 'Yoshi',
    'description': 'Prints Yoshi',
    'source': 'HTGAA 2026 Opentrons Lab',
    'apiLevel': '2.20'
}

##############################################################################
###   Robot deck setup constants - don't change these
##############################################################################

TIP_RACK_DECK_SLOT = 9
COLORS_DECK_SLOT = 6
AGAR_DECK_SLOT = 5
PIPETTE_STARTING_TIP_WELL = 'A1'

well_colors = {
    'A1' : 'Red',
    'B1' : 'Green',
    'C1' : 'Orange'
}

sfgfp_points = [(0, 34),(2, 34),(4, 34),(6, 34),(0, 32),(2, 32),(4, 32),(6, 32),(-4, 30),(-2, 30),(0, 30),(2, 30),(-4, 28),(-2, 28),(0, 28),(2, 28),(-4, 26),(-2, 26),(12, 26),(14, 26),(16, 26),(18, 26),(20, 26),(22, 26),(-4, 24),(-2, 24),(12, 24),(14, 24),(16, 24),(18, 24),(20, 24),(22, 24),(-8, 22),(-6, 22),(-4, 22),(-2, 22),(8, 22),(10, 22),(12, 22),(14, 22),(16, 22),(18, 22),(24, 22),(26, 22),(-8, 20),(-6, 20),(-4, 20),(-2, 20),(8, 20),(10, 20),(12, 20),(14, 20),(16, 20),(18, 20),(24, 20),(26, 20),(-8, 18),(-6, 18),(-4, 18),(-2, 18),(0, 18),(2, 18),(4, 18),(6, 18),(8, 18),(10, 18),(12, 18),(14, 18),(16, 18),(18, 18),(20, 18),(22, 18),(24, 18),(26, 18),(-8, 16),(-6, 16),(-4, 16),(-2, 16),(0, 16),(2, 16),(4, 16),(6, 16),(8, 16),(10, 16),(12, 16),(14, 16),(16, 16),(18, 16),(20, 16),(22, 16),(24, 16),(26, 16),(-12, 14),(-10, 14),(-8, 14),(-6, 14),(8, 14),(10, 14),(12, 14),(14, 14),(16, 14),(18, 14),(20, 14),(22, 14),(24, 14),(26, 14),(-12, 12),(-10, 12),(-8, 12),(-6, 12),(8, 12),(10, 12),(12, 12),(14, 12),(16, 12),(18, 12),(20, 12),(22, 12),(24, 12),(26, 12),(-12, 10),(-10, 10),(8, 10),(10, 10),(12, 10),(14, 10),(16, 10),(18, 10),(20, 10),(22, 10),(24, 10),(26, 10),(-12, 8),(-10, 8),(8, 8),(10, 8),(12, 8),(14, 8),(16, 8),(18, 8),(20, 8),(22, 8),(24, 8),(26, 8),(12, 6),(14, 6),(16, 6),(18, 6),(20, 6),(22, 6),(12, 4),(14, 4),(16, 4),(18, 4),(20, 4),(22, 4),(8, 2),(10, 2),(8, 0),(10, 0),(-4, -2),(-2, -2),(0, -2),(2, -2),(4, -2),(6, -2),(-4, -4),(-2, -4),(0, -4),(2, -4),(4, -4),(6, -4),(-24, -6),(-22, -6),(-4, -6),(-2, -6),(0, -6),(2, -6),(4, -6),(6, -6),(12, -6),(14, -6),(16, -6),(18, -6),(-24, -8),(-22, -8),(-4, -8),(-2, -8),(0, -8),(2, -8),(4, -8),(6, -8),(12, -8),(14, -8),(16, -8),(18, -8),(-24, -10),(-22, -10),(-20, -10),(-18, -10),(-8, -10),(-6, -10),(-4, -10),(-2, -10),(0, -10),(2, -10),(4, -10),(6, -10),(8, -10),(10, -10),(12, -10),(14, -10),(16, -10),(18, -10),(-24, -12),(-22, -12),(-20, -12),(-18, -12),(-8, -12),(-6, -12),(-4, -12),(-2, -12),(0, -12),(2, -12),(4, -12),(6, -12),(8, -12),(10, -12),(12, -12),(14, -12),(16, -12),(18, -12),(-20, -14),(-18, -14),(-16, -14),(-14, -14),(-12, -14),(-10, -14),(-8, -14),(-6, -14),(-4, -14),(-2, -14),(0, -14),(-20, -16),(-18, -16),(-16, -16),(-14, -16),(-12, -16),(-10, -16),(-8, -16),(-6, -16),(-4, -16),(-2, -16),(0, -16),(-16, -18),(-14, -18),(-12, -18),(-10, -18),(-8, -18),(-6, -18),(-4, -18),(-2, -18),(0, -18),(-16, -20),(-14, -20),(-12, -20),(-10, -20),(-8, -20),(-6, -20),(-4, -20),(-8, -22),(-6, -22),(-4, -22),(-2, -22),(0, -22),(2, -22),(4, -22),(-8, -24),(-6, -24),(-4, -24),(-2, -24),(0, -24),(2, -24),(4, -24)]
mrfp1_points = [(6, 30),(6, 28),(4, 26),(6, 26),(4, 24),(6, 24),(4, 22),(6, 22),(20, 22),(22, 22),(0, 20),(2, 20),(4, 20),(6, 20),(20, 20),(22, 20),(-12, 18),(-10, 18),(-12, 16),(-10, 16),(-16, 14),(-14, 14),(-4, 14),(-2, 14),(0, 14),(2, 14),(6, 14),(-16, 12),(-14, 12),(-4, 12),(6, 12),(-16, 10),(-14, 10),(-8, 10),(-6, 10),(6, 10),(-16, 8),(-14, 8),(-8, 8),(6, 8),(-12, 6),(-10, 6),(10, 6),(-12, 4),(-10, 4),(8, 4),(10, 4),(-12, 2),(-10, 2),(-8, 2),(-6, 2),(-12, 0),(-10, 0),(-8, 0),(-6, 0),(-2, 0),(0, 0),(2, 0),(4, 0),(6, 0),(-8, -2),(-6, -2),(10, -2),(-8, -4),(-6, -4),(10, -4),(-16, -6),(-14, -6),(-12, -6),(-10, -6),(-6, -6),(10, -6),(-16, -8),(-14, -8),(-12, -8),(-10, -8),(-6, -8),(10, -8),(-16, -12),(-14, -12),(-12, -12),(-10, -12),(-24, -14),(10, -14),(-24, -16),(-22, -16),(10, -16),(-20, -18),(8, -18),(-20, -20),(-18, -20),(6, -20),(8, -20),(-16, -22),(-16, -24),(-14, -24),(-12, -24),(-10, -24),(-8, -26),(-6, -26),(-4, -26),(-2, -26),(0, -26),(-8, -28),(-6, -28),(-4, -28),(-2, -28),(0, -28),(-8, -30),(-6, -30),(-4, -30),(-2, -30),(0, -30),(2, -30),(4, -30),(-8, -32),(-6, -32),(-4, -32),(-2, -32),(0, -32),(2, -32),(4, -32)]


def run(protocol):
  ##############################################################################
  ###   Load labware, modules and pipettes
  ##############################################################################

  # Tips
  tips_20ul = protocol.load_labware('opentrons_96_tiprack_20ul', TIP_RACK_DECK_SLOT, 'Opentrons 20uL Tips')

  # Pipettes
  pipette_20ul = protocol.load_instrument("p20_single_gen2", "right", [tips_20ul])

  # Modules
  temperature_module = protocol.load_module('temperature module gen2', COLORS_DECK_SLOT)

  # Temperature Module Plate
  temperature_plate = temperature_module.load_labware('opentrons_96_aluminumblock_generic_pcr_strip_200ul',
                                                      'Cold Plate')
  # Choose where to take the colors from
  color_plate = temperature_plate

  # Agar Plate
  agar_plate = protocol.load_labware('htgaa_agar_plate', AGAR_DECK_SLOT, 'Agar Plate')  ## TA MUST CALIBRATE EACH PLATE!
  # Get the top-center of the plate, make sure the plate was calibrated before running this
  center_location = agar_plate['A1'].top()

  pipette_20ul.starting_tip = tips_20ul.well(PIPETTE_STARTING_TIP_WELL)

  ##############################################################################
  ###   Patterning
  ##############################################################################

  ###
  ### Helper functions for this lab
  ###

  # pass this e.g. 'Red' and get back a Location which can be passed to aspirate()
  def location_of_color(color_string):
    for well,color in well_colors.items():
      if color.lower() == color_string.lower():
        return color_plate[well]
    raise ValueError(f"No well found with color {color_string}")

  # For this lab, instead of calling pipette.dispense(1, loc) use this: dispense_and_detach(pipette, 1, loc)
  def dispense_and_detach(pipette, volume, location):
      """
      Move laterally 5mm above the plate (to avoid smearing a drop); then drop down to the plate,
      dispense, move back up 5mm to detach drop, and stay high to be ready for next lateral move.
      5mm because a 4uL drop is 2mm diameter; and a 2deg tilt in the agar pour is >3mm difference across a plate.
      """
      assert(isinstance(volume, (int, float)))
      above_location = location.move(types.Point(z=location.point.z + 5))  # 5mm above
      pipette.move_to(above_location)       # Go to 5mm above the dispensing location
      pipette.dispense(volume, location)    # Go straight downwards and dispense
      pipette.move_to(above_location)       # Go straight up to detach drop and stay high

  ###
  ### YOUR CODE HERE to create your design
  ###


  # -----------------------------
  # Printing parameters
  # -----------------------------
  VOL_PER_DOT = 0.50

  # Keep aspirates comfortably below 20uL for accuracy/safety
  MAX_ASPIRATE_UL = 18.0
  MAX_BATCH_DOTS = int(MAX_ASPIRATE_UL // VOL_PER_DOT)  # 18.0 // 0.75 = 36

  # Choose where on Z you actually want to dispense.
  # Start conservative: 0 means "at agar_plate['A1'].top() plane".
  # If your drops need to touch the agar more, try -0.5 or -1.0 after testing.
  DISPENSE_DZ = 2

  def point_location_from_center(dx, dy, dz=DISPENSE_DZ):
      # Offsets are in mm
      return center_location.move(types.Point(x=dx, y=dy, z=dz))

  def print_points(points, color_name):
      pipette_20ul.pick_up_tip()

      i = 0
      while i < len(points):
          batch = points[i:i + MAX_BATCH_DOTS]
          batch_volume = len(batch) * VOL_PER_DOT

          # Pull enough dye for this batch
          pipette_20ul.aspirate(batch_volume, location_of_color(color_name))

          # Dispense each dot
          for (dx, dy) in batch:
              loc = point_location_from_center(dx, dy)
              dispense_and_detach(pipette_20ul, VOL_PER_DOT, loc)

          i += MAX_BATCH_DOTS

      pipette_20ul.drop_tip()

  # -----------------------------
  # Print your two datasets
  # -----------------------------
  print_points(sfgfp_points, "Green")
  print_points(mrfp1_points, "Red")

  # Don't forget to end with a drop_tip()

This code successfully resulted in the following image. Yoshi Code Yoshi Code

Lab automation questions

Torchia, E., et al. Fabrication of cell culture hydrogels by robotic liquid handling automation for high-throughput drug testing. Commun Eng 4, 222 (2025)

Cell-based assays, typically used for drug screening, are limited in application due to their reliance on rigid substrates, which can distort results. Planar hydrogels have shown to be a promosing solution, but achieving uniform thin hydrogel layers also remains a technical limitation. In this paper, Torchia et al. explore the use of Opentrons in order to uniformly produce hydrogels for drug testing. Their methodology, HYDRA (HYDrogels by Robotic liquid-handling Automation) provides a scalable and automated solution to generate uniform micrometic planar hydrogels directly within the standardized plates. This protocol preserved canonical drug responsiveness while providing reproducible, biomimetic substrate for high-content pharmacological imaging.

For my own project, I envision using the Opentron in order to aid in the transformation processes. For each of my final project ideas, they require high-throughput screening of candidates, which could be automated using the Opentron system.

Final project ideas

Final Project Idea #1 Final Project Idea #1 Final Project Idea #2 Final Project Idea #2 Final Project Idea #3 Final Project Idea #3

Week 4: Protein Design Pt 1

Conceptual Questions

(Question 1) A 500g piece of meat would weight about 3.011x1026 Daltons, and since each amino acid is equal to about 100 Daltons, that would mean that by consuming this piece of meat, you are consuming 3.011x1024 amino acids.

(Questions 2) When we eat sources of meat, we physically and enzymatically break down the proteins into amino acids, fatty acids, and sugars, which in turn are used to provide energy to our bodies.

(Question 3) The 20 natural amino acids that are used most regularly today represent the 20 amino acids that contributed to early evolution and allowed for both efficiency and redundancy in order to prevent disasterous mutations[1].

(Question 5) The Miller-Urey experiment [2] famously showed that the chemistry within the early Earth’s atmosphere contributed to the abiogenesis of amino acids, proving their initial evolution through chemical synthesis.

(Question 6) Most natural proteins form the L configuration, resulting in right-handed alpha helices. Since D-amino acids are mirror images of L-amino acids, this would mean that they would form left-handed alpha helices.

(Question 7) There are other helice formations besides the alpha helix, such as the pi helix, which is a wider helix [3]. New helical structures can also be designed using synthetic biology by incorporating non-canonical amino acids in order to design new hydrogen-bonding patterns [4].

(Question 8) Most molecular helices are right-handed becuase life mostly uses L-amino acids, which favors right-handed helices for stability.

(Question 9) Beta sheets tend to aggregate becuase their backbone is extendedly exposed, which means that hydrogen bonds can form easier between subparts without steric hindrance. These hydrogen bonds are the driving force for beta sheet aggregation.

(Question 10) Amyloid diseases form beta sheets often due to the ability to aggregate and their extreme stability [5]. This is what also makes these amyloid beta sheets attractice material candidates due to their strength and ability to self-assemble.

Protein Analysis and Visualization

I wanted to expand upon what I had done in week 2 with Calreticulin (CALR), since I also used it as the premise of one of my final project ideas. CALR is a pro-healing cue in wound healing [6] and supports the progression through the four wound healing phases (hemostasis, inflammation, proliferation, and remodeling) [7], which is classically disrupted during chronic wounds [8].

Protein sequence[9]:

sp|P27797|CRTC_HUMAN CALRETICULIN PRECURSOR from residues
                     31- 64, Pval= 3.8e-18, (100% identity); putative"
ORIGIN      
        1 mllsvplllg llglavaepa vyfkeqfldg dgwtsrwies khksdfgkfv lssgkfygde
       61 ekdkglqtsq darfyalsas fepfsnkgqt lvvqftvkhe qnidcgggyv klfpnsldqt
      121 dmhgdseyni mfgpdicgpg tkkvhvifny kgknvlinkd irckddefth lytlivrpdn
      181 tyevkidnsq vesgsleddw dflppkkikd pdaskpedwd erakiddptd skpedwdkpe
      241 hipdpdakkp edwdeemdge weppviqnpe ykgewkprqi dnpdykgtwi hpeidnpeys
      301 pdpsiyaydn fgvlgldlwq vksgtifdnf litndeayae efgnetwgvt kaaekqmkdk
      361 qdeeqrlkee eedkkrkeee eaedkedded kdedeedeed keedeeedvp gqakdel

This protein sequence is 416 amino acids long and the most frequent amino acid is aspartate (D), which appears 55 times. There are 250 identified homologs [10] Calreticulin belongs to the calreticulin family of proteins, which are highly conserved ER-resident caperones [11].

Calreticulin RCSB Search Calreticulin RCSB Search This structure was discovered in 2011 and has a resolution of 1.65A. It belongs to the Concanavalin A-like lectins/glucanases structural classification family [12].

I’ve never used PyMol before, so it was quite interesting to explore the different functions.

CALR Cartoon CALR Cartoon CALR Ribbon CALR Ribbon CALR Ball and Stick CALR Ball and Stick

First I visualized CALR in the cartoon, ribbon, and ball and stick visualization.

CALR Colored by secondary strucure CALR Colored by secondary strucure

Next, I colored it by the secondary structures and noticed that the structure is mostly made up of beta sheets.

I wasn’t able to figure out how to color the structure by residues.

CALR Surface CALR Surface

By looking at the surface of CALR, I determined that the binding pocket from this part of the protein was most likely the hook part of the ‘upside down L’.

Using ML-Based Protein Design Tools

Protein Language Modeling

I once again decided to use the crystal structure of the calreticulin lectin domain as my model protein for this part of the homework. 1. Mutation Scan Heatmap CALR Mutation Scan Heatmap CALR Mutation Scan Heatmap In the leucine row, it appears that most leucine mutations would be tolerated, apparent by its bright yellow to green band.

2. Latent Space Analysis Latent Space Analysis Latent Space Analysis

Protein Folding

CALR Protein Folding CALR Protein Folding CALR Proven Structure CALR Proven Structure The first image is of the generated structure by ESMFold and the second is the proven structure, which seems to match quite well.

Bacteriophage Engineering

Week 5: Protein Design Pt 2

SOD1 binder peptide design

Generate binders with PepMLM

The original SOD1 sequence[1] is as follows:

>sp|P00441|SODC_HUMAN Superoxide dismutase [Cu-Zn] OS=Homo sapiens OX=9606 GN=SOD1 PE=1 SV=2
MATKAVCVLKGDGPVQGIINFEQKESNGPVKVWGSIKGLTEGLHGFHVHEFGDNTAGCTS
AGPHFNPLSRKHGGPKDEERHVGDLGNVTADKDGVADVSIEDSVISLSGDHCIIGRTLVV
HEKADDLGKGGNEESTKTGNAGSRLACGVIGIAQ

The A4V mutation changes the alanine to valine at codon 4, which results in

MATKVVCVLKGDGPVQGIINFEQKESNGPVKVWGSIKGLTEGLHGFHVHEFGDNTAGCTS
AGPHFNPLSRKHGGPKDEERHVGDLGNVTADKDGVADVSIEDSVISLSGDHCIIGRTLVV
HEKADDLGKGGNEESTKTGNAGSRLACGVIGIAQ
BinderPseudo Perplexity
WRYPVAGLAHWE15.095015
WRYPVAAVAHKE11.070548
WRYPAVALRHKK16.016262
WRYGPAALAWGE12.227762
FLYRWLPSRRGG-

Evaluate binders with AlphaFold3

BinderipTM scoreWhere peptide bindsImage
WRYPVAGLAHWE0.3near the helixFirst AlphaFold First AlphaFold
WRYPVAAVAHKE0.33closer to the beta barrelSecond AlphaFold Second AlphaFold
WRYPAVALRHKK0.28along the beta barrelThird AlphaFold Third AlphaFold
WRYGPAALAWGE0.31within a helix cavityFourth AlphaFold Fourth AlphaFold
FLYRWLPSRRGG0.29next to the beta barrelFifth AlphaFold Fifth AlphaFold

All of the ipTM values were higher than the known binder except for the third one, but they overall remained within a reasonable range of one another, meaning that my predicted binders may bind better than the known binder.

Evaluate properties of generated peptides in the PeptiVerse

BinderSolubilityHemolysisBinding AffinityMWNet Charge (pH 7)
WRYPVAGLAHWESolubleNon-hemolyticWeak binding (5.888 pKd/pKi)1484.7 Da-0.15
WRYPVAAVAHKESolubleNon-hemolyticWeak binding (5.298 pKd/pKi)1426.6 Da0.85
WRYPAVALRHKKSolubleNon-hemolyticWeak binding (5.522 pKd/pKi)1524.8 Da3.84
WRYGPAALAWGESolubleNon-hemolyticWeak binding (6.051 pKd/pKi)1376.5 Da-0.23
FLYRWLPSRRGGSolubleNon-hemolyticWeak binding (5.968 pKd/pKi)1507.7 Da2.76

I was surprised to see that besides the fourth generated binder, the ipTM score had an inverse relationship with the binding affinity observed with PeptiVerse. All of my binderse were once again fairly similar. For these reasons, I chose to further explore the fourth peptide.

Generate optimized peptides with moPPIt

Using moPPIt, I generated four new binders with the following properties.

BinderHemolysisSolubilityAffinity
KRDKQKKKTCYV0.9830.9177.452
GGHTRTRSHTYI0.9670.9176.118
KYDEKEETCKQL0.8260.9176.885
KRRGRKRKKTSE0.9661.07.122

These generated proteins have a higher affinity than all of the previously generated ones.

L-Protein mutants

Mutagenesis

Week 6: Genetic Circuits Pt 1

DNA Assembly

(Question 1) Within Phusion High-Fidelity Master Mix [1], there is a Phusion DNA Polymerase (which enzymatically synthesizes the DNA in the 5’ to 3’ direction), nucleotides (the building blocks of the synthesized DNA), and an optimized reaction buffer (maintains optimal conditions for the polymerase).

(Question 2) Some factors that determine primer annealing temperature are the primer length, the GC content, and the salt concentration.

(Question 3) While PCR and restriction enzyme digest both produce linear DNA, they differ in terms of when they can be used. For example, with PCR, it requires the design of fragment-specific primers and relies on the use of a polymerase to synthesize the specified DNA fragment. For restriction enzyme digest, it requires the presence of restriction enzyme sites in appropriate locations within the plasmid as well as incubation with the restriction enzyme itself.

(Question 4) To ensure that the DNA sequence will be appropriate for Gibson cloning, it is essential to determine that the sequence contains homologous overhangs (~20-40 bp) to the fragment that you want to combine it with.

(Question 5) When transforming E. coli, the plasmid enters the bacterial cell through pores in the membrane, which are made chemically or through heat shock [2].

(Question 6) Golden Gate is similar to Gibson assembly, in the sense that it combines two or more fragments. For Golden Gate, however, it utilizes type IIS endonucleases in order to make single-stranded fragment-specific overhangs. This process hinges on the creation of primers that will not only amplify the desired fragment, but will also add on the specific overhang, a type IIS restriction enzyme site, and a non-specific overhang on each side of the fragment. Once all of the fragments are amplified using PCR, Golden Gate is performed in a one-pot reaction, combining the fragments, the selected restriction enzyme, ligase, and a buffer.

Golden Gate figure Golden Gate figure

I used Benchling to try to simulate using golden gate to insert mCherry into a pET28 backbone. It was quite simple! I used BsaI as the restriction enzyme.

Golden Gate Assembly Wizard Golden Gate Assembly Wizard Golden Gate Final Product Golden Gate Final Product Golden Gate Primers Golden Gate Primers

Asimov Kernel

I have a bit of experience in constructing genetic circuits in the past, but this was my first time using a designated program for it. It was quite interesting to play around with the different circuits and observe the production of certain aspects based on the arrangement.

XNOR Simulation XNOR Simulation This is the XNOR circuit

XOR Simulation XOR Simulation This is the XOR circuit

NAND Simulation NAND Simulation This is the NAND citcuit

Next, I moved on to replicating the repressilator on my own by referencing the demo repressilator, which is as follows. Repressilator Repressilator It ended up turning out like this: Replicated Repressilator Replicated Repressilator

In order to further verify that I replicated the repressilator correctly, I wanted to compare the simulation of each of the circuits.

Original RepressilatorReplicated Repressilator
Repressilator Simulation Repressilator SimulationReplicated Repressilator Simulation Replicated Repressilator Simulation

I noticed that although I copied the repressilator exactly, the expression of the parts did not vary as they did in the original.

After this, I moved towards simulating three of my own constructs.

Autonomous FLEx Switch23
FLEx Switch FLEx Switch
FLEx Simulation FLEx Simulation

The main concept I used to formulate these circuits was the underlying principle of my final project idea. At its core, my final project relies on the production of two gene sets subsequently. Upon the production of the first gene set, the circuit will then respond to the consequentially produced environment in order to then express the second gene set. However, in order to avoid permanently altering the biological environment, both of the gene sets need to be eventually irreversibly turned off.

The first strategy I used to achieve this was a modification of the FLEx switch to become an autonomously responding circuit. It then uses Cre recombinase and lox2272/loxP sites to then shutoff the first gene set.

Week 7: Genetic Circuits Pt 2

Week 9: Cell Free Systems

General questions

Individual final project

Final Project Development Final Project Development