<YOUR NAME HERE> — HTBAA Fall 2026

cover image cover image

About me

Contact info

Homework, Labs, and Projects

See the nav bar on the left to look through my work for How To Biomanufacture Almost Anything (Fall 2026)!

Subsections of <YOUR NAME HERE> — HTBAA Fall 2026

Week 1 HW: Final Project Ideas

Cover image Cover image cover image cover image

part1 My idea is to use biomanufacturing to produce materials for small memristors, assemble them into dense arrays, and evaluate their performance. The goal is to fit many functional devices into a compact circuit for potential applications in neuromorphic computing. For example, Professor Hyun Jae Kim and his colleagues at Yonsei University demonstrated a memristor array using mucin, a naturally occurring glycoprotein, showing that biological materials can support electronic behavior that resembles synaptic activity (Moon et al., 2025).

Although memristor arrays with features as small as 2 nm have already been demonstrated, manufacturing densely packed electrodes with sufficiently low electrical resistance remains a significant engineering challenge (Pi et al., 2019). Producing large arrays also requires consistent switching behavior and a high proportion of working devices, as demonstrated by research on a 4,096-device array (Kim et al., 2021). To illustrate the scale of this problem, a hypothetical array of one million devices with a 1% defect rate would contain 10,000 faulty cells.

One possible approach is to cultivate bacteria that produce protein nanowires and use the collected material in the active layer of memristors. Working memristors made using bacterial protein nanowires have already been demonstrated (Fu et al., 2020). I hypothesize that growing these nanoscale building blocks in batches could provide a scalable source of material for many devices. Precise electrode fabrication and assembly would still be necessary. I would investigate whether this approach can produce reliable arrays by measuring switching behavior, device-to-device variation, and the proportion of functional cells. The intended users would be researchers and engineers developing compact neuromorphic hardware.

If bacterial protein-nanowire devices cannot retain programmed weights for sufficiently long periods, I would investigate chemically modified silk fibroin as an alternative active material. Wang et al. (2021) demonstrated an analogue memristor based on a silk fibroin polymer with more than 32 conductance levels maintained for four months (https://doi.org/10.1039/D1TC03315H). This makes it a promising protein-based candidate for longer-term weight storage. Adopting this material would require adapting the production process and testing whether its retention and switching performance remain consistent across a larger array.

part2 I would produce protein nanowires for the active layer of a memristor. My proposed living system is a laboratory strain of Escherichia coli engineered to produce these nanowires. Researchers have already demonstrated the production of electrically conductive protein nanowires using engineered E. coli, making it a possible starting point for this project (Ueki et al., 2020: https://doi.org/10.1021/acssynbio.9b00506).

The inputs would include water, a carbon source, nitrogen, mineral nutrients, and oxygen. I would investigate growing the bacteria in a controlled bioreactor, where they would synthesize proteins and assemble them into nanowires. After cultivation, the material would be harvested and purified to separate the nanowires from bacterial cells and other components. Simply removing the bacteria from the culture medium might not recover the product, because some nanowires could remain attached to the cells.

The output of the biological process would be a purified nanowire suspension that could be produced in batches and used to fabricate many devices. This suspension would be deposited onto substrates with patterned metal electrodes and dried to form a protein film. Memristors incorporating bacterial protein nanowires have already been demonstrated (Fu et al., 2020: https://doi.org/10.1038/s41467-020-15759-y). However, I would need to verify that the engineered E. coli can produce useful quantities in liquid culture and that its purified nanowires support the required switching behavior.

part3 I would combine biological production with automated liquid handling and device fabrication. An Opentrons robot could prepare media and dilution series for comparing culture conditions and nanowire concentrations. Automating these repetitive steps would help make experiments more consistent and allow several conditions to be evaluated in parallel (Opentrons documentation: https://docs.opentrons.com/python-api/tutorial/).

For device fabrication, I would use lithography to define the electrodes and their spacing. I would then investigate automated dispensing or inkjet printing to deposit the nanowire suspension into predefined regions. Lithography would determine the small electrode gaps, while printing would deliver the biological material over larger areas. Protein nanowire films have already been used with lithographic patterning and solution deposition, although printing this particular suspension would require additional testing (Fu et al., 2020: https://doi.org/10.1038/s41467-020-15759-y).

I would complete aggressive processing steps before depositing the protein material and then use compatible drying and protective packaging. Burning away excess material could damage the functional film. Finally, an automated electrical probe station would measure device characteristics and identify defective cells. For larger production volumes, I would investigate processing multiple devices together on wafers and testing them through parallel measurement channels.

part4 My long-term motivation is to develop physical AI hardware for robotics, potentially including systems that process sensor signals for bipedal balance and walking. I would begin with approximately 1,000 working devices to evaluate their electrical behavior. For a later manufacturing scenario, I would consider producing one billion working devices across many chips. This would be a scale-up target rather than an estimate of how many devices a single robot requires.

To estimate material demand, I would use a reported deposition of 110 µL/cm² of a 150 µg/mL nanowire suspension, which produced a film approximately 1 µm thick (Fu et al., 2020: https://doi.org/10.1038/s41467-020-15759-y). This corresponds to 0.110 mL/cm² × 150 µg/mL = 16.5 µg/cm². For this calculation, I assume a 10 × 10 µm coated region per attempted device, 10% material utilization during deposition, and a 50% functional-device yield. These are planning assumptions, and the coated region does not represent the complete circuit footprint.

A 10 × 10 µm region has an area of 10⁻⁶ cm² and would therefore contain approximately 16.5 pg of nanowires. Producing one billion working devices at a 50% yield would require two billion attempted devices. Their films would contain approximately 2 × 10⁹ × 16.5 pg = 33 mg of nanowires. With only 10% of the purified material reaching the intended films, the total requirement would become 33 mg ÷ 0.10 = 330 mg.

For the prototype, I would budget a total coated area of 1 cm² across test samples, including unused regions, containing at least 2,000 attempted devices. At the assumed 50% yield, this would provide approximately 1,000 working devices. Including deposition losses, the material requirement would be 16.5 µg ÷ 0.10 = 165 µg, or 0.165 mg.

For biological production, I assume a recovered yield of 1 mg of purified nanowires per litre of culture and a three-day cultivation-and-recovery cycle. These values would need to be measured experimentally. Under these assumptions, one 1 L batch would provide enough material for the prototype. Producing 330 mg would require 330 L of culture in total. Four reactors, each with a 10 L working volume, would provide 40 mg per cycle, requiring nine cycles, or approximately 27 days. If the recovered yield were only 0.1 mg/L, the same equipment would require approximately 249 days.

Fabricating and testing the devices would require additional time. Once a prototype process was established, I would provisionally allow another one to two weeks for fabrication and testing. For the manufacturing scenario, I assume a line capable of fabricating and initially screening 10 million attempted devices per day. At a 50% yield, it would produce five million working devices per day, requiring approximately 200 production days to reach one billion. Sequential biological production and device manufacture would therefore take approximately 227 days, although overlapping the processes could reduce this. These estimates exclude initial research and process development, and the assumed manufacturing throughput would also need validation.

part5 One major unknown is the amount of usable material the bacteria can produce. I would need to measure purified nanowire yield per litre, losses during separation and purification, and variation between batches. These results would determine whether my assumptions about production time and reactor capacity are realistic.

Another challenge is producing uniform films and reliable electrical contacts. Nanowires could aggregate, deposit unevenly, or become damaged during processing. I would measure their dimensions, film thickness, surface coverage, and the proportion of working devices. Because this approach uses a film, I would first investigate whether alignment and length variation affect performance before assuming that every wire must be positioned individually.

The third unknown is whether these devices would support the type of computation I want to perform. The protein nanowire memristors demonstrated by Fu et al. have volatile switching, meaning their conductive state relaxes over time (Fu et al., 2020: https://doi.org/10.1038/s41467-020-15759-y). This could be useful for neuron-like dynamics, while persistent neural-network weights would require additional memory or a different device design. I would evaluate switching voltage, state lifetime, endurance, and energy use before testing a small sensor-processing circuit. Plant-derived scaffolds could become a future direction for arranging circuit structures, but they would require separate validation.

AI-use disclosure

I used OpenAI ChatGPT (Codex) extensively to understand the background, locate references, organize my answers, improve my English, and calculate the estimates. The project idea and motivation in robotics are my own. I joined the course recently and was working late at night in my time zone, so I apologize for relying heavily on AI for this first assignment. I am still learning the biology and device physics, but I am very interested in the course.

My main prompts, translated and summarized in English, asked ChatGPT to explain how bacterial protein nanowires are used in memristors, compare bacterial and plant-based approaches, find relevant research, correct unsupported claims in my draft, and develop my notes into answers about the living system, automation, manufacturing scale, production time, and technical unknowns.

Week 2 HW: ADAMTSL5 DNA Design

HTBAA Homework #2

Why I changed my project

For Homework #1, my idea was to produce materials for memristors through biomanufacturing. After looking into other possible projects, I decided to focus on psoriasis because I have this condition myself. I want to understand whether biomanufacturing could help address the immune response behind it.

My idea is to produce mRNA encoding a human protein called ADAMTSL5. Researchers have identified this protein as one of the targets of the immune response in psoriasis. That is why I want to explore it. The longer-term question is whether delivering this antigen in the right context could help the immune system tolerate it.

There is research on using antigen-encoding mRNA to induce tolerance in a mouse model of another autoimmune disease, but this does not mean the same approach will work for psoriasis. For this homework, I am designing the DNA template needed to produce the research mRNA.

Part 0 — Set up in Kernel

“A one-sentence note in your write-up with the name of your repository and folder, so we can find your work.”

I registered in Benchling and prepared design files for a project called HTBAA_HW2, with a folder called ADAMTSL5.

The project and folder are visible in the Benchling screenshots below, and the construct has been imported. I still need to add a shareable project or construct link and confirm whether the instructor accepts Benchling while I do not have access to the required Kernel workspace.

“Open an existing part and an existing construct and notice the difference.”

A part is one component of the design, such as the promoter or the coding sequence. A construct is the complete DNA molecule made by putting these parts together in the correct order.

I opened the imported construct in Benchling and viewed its annotated components. Exploring the required examples in Kernel is still pending.

Part 1 — Define your expression target

“What molecule are you expressing?”

I want to produce mRNA that carries the instructions for making human ADAMTSL5. A suitable cell could then translate this mRNA into the protein.

ADAMTSL5 is an autoantigen, which means the immune system can recognize it as a target even though it belongs to the body. Arakawa et al. identified it as an autoantigen involved in psoriasis. My interest is in studying whether this target could be used in an approach that changes the immune response. Producing more ADAMTSL5 by itself would not establish that effect.

“What is the sequence?”

I chose human ADAMTSL5 isoform 1. The reference transcript is NM_001367197.1, and its coding sequence is at positions 105–1550.

The coding sequence is 1,446 bases long, including the stop codon. It encodes a protein with 481 amino acids. The protein reference is NP_001354126.1, and its sequence matches the canonical ADAMTSL5 protein in UniProt entry Q6ZMM2.

The full DNA and protein sequences are included in the GenBank and FASTA files.

“What host or chassis?”

I chose a cell-free system. T7 RNA polymerase would read the DNA template and produce RNA outside living cells.

This makes the manufacturing step relatively simple to describe: DNA is the template, the polymerase makes the RNA, and the RNA is the product I collect.

Human cells would be used in a later expression test. That is why the target for codon optimization is Homo sapiens, even though the RNA is produced in a cell-free reaction.

“Where does the product need to go?”

First, the RNA is collected from the cell-free reaction. For a later expression experiment, it needs to reach the cytoplasm of a suitable cell, where it can be translated.

I kept the native signal peptide in the ADAMTSL5 coding sequence. This is expected to direct the protein into the secretory pathway. I would still need to check whether the cell processes and secretes the protein correctly.

Part 2 — Design your genetic parts

“For each part you use, record the part type and a short name, its sequence and where it came from, and one sentence of justification.”

The complete sequences are included in ADAMTSL5_parts.fasta and ADAMTSL5_parts.gb.

T7_promoter — promoter

The sequence is TAATACGACTCACTATA. I took it from the T7 promoter information provided by New England Biolabs.

I chose it because I am using T7 RNA polymerase to make the RNA.

T7_start_GGG — transcription initiation region

The sequence is GGG. These are the first three bases intended to be transcribed.

I added a G-rich start as an initial design choice for T7 transcription. I would need to measure how well the complete template works.

HBB_5UTR_Kozak — 5′ untranslated region and translation initiation context

This part comes from the first 50 bases of the human beta-globin transcript, NM_000518.5. I changed its final six bases from GACACC to GCCACC.

Together with the beginning of the coding sequence, this gives the start context GCCACCATGG. I chose this as a starting design for translation in human cells. The ATG is already part of the ADAMTSL5 CDS, so it is not added twice.

ADAMTSL5_CDS_native — coding sequence

This is the 1,446-base coding sequence from NM_001367197.1. It starts with ATG and ends with TGA.

I kept the full native sequence so the first version produces the reference protein. It already includes the signal peptide, and I did not add a protein tag.

HBB_3UTR_132 — 3′ untranslated region

This part comes from positions 495–626 of NM_000518.5. It is 132 bases long.

I chose a beta-globin-derived region as a defined starting point for the RNA design. I do not yet know how well it will work with ADAMTSL5. I left out the reference UTR’s final two A bases so the following A tract has an exact length.

polyA80 — poly(A)-encoding region

This part contains 80 consecutive A bases. It is a designed sequence that produces a poly(A) extension in the RNA.

I chose 80 bases for the first version. The main concern is that a long repeated sequence can be difficult to synthesize and verify.

Backbone and transcription end

My first construct is linear DNA. It does not need a bacterial replication origin or antibiotic-selection marker because I am not using it as a replicating plasmid.

The intended transcription endpoint is the physical end of the DNA, immediately after the A tract. I therefore did not add a separate transcription terminator.

The RNA would also need a suitable cap for the later mammalian expression test. That would be added during processing; it is not encoded in the DNA.

Part 3 — Assemble your construct

“Create a new construct … and add your parts in the correct 5′→3′ order.”

The construct is 1,728 base pairs long. Its parts are arranged in this order:

T7 promoter → GGG start → 5′ UTR/Kozak → ADAMTSL5 CDS → 3′ UTR → poly(A)-encoding region.

The file is called ADAMTSL5_IVT_v1.gb.

I imported this file into the ADAMTSL5 folder in my HTBAA_HW2 Benchling project.

“Check the assembled sequence: the reading frame is intact, the start and stop codons are where you expect, and there are no accidental internal stops.”

The coding sequence is at positions 71–1516 in the complete construct. It starts with ATG, ends with TGA, and has no internal stop codons.

The local sequence check produced a translation of 481 amino acids, with an exact match to the selected UniProt protein. This confirms that the assembled coding sequence preserves the intended protein.

“Look at the construct map … and confirm the parts sit in the order and orientation you intended.”

The screenshots below show the imported linear construct in Benchling. The first shows the full map with the ADAMTSL5 CDS selected. The second shows the T7 promoter, the HBB 5′ UTR/Kozak region, and the beginning of the coding sequence in more detail. The screenshots document the imported design; the full reading-frame check is described above.

Annotated linear construct in Benchling Annotated linear construct in Benchling

Figure 1. Benchling map of the 1,728 bp ADAMTSL5_IVT_v1 construct. The selected ADAMTSL5 CDS spans positions 71–1516 and is 1,446 bp long.

Promoter, translation-initiation region, and coding-sequence detail Promoter, translation-initiation region, and coding-sequence detail

Figure 2. Sequence view showing the T7 promoter, HBB 5′ UTR/Kozak region, and the beginning of the ADAMTSL5 CDS with its translation and native signal-peptide annotation.

Part 4 — Optimize and quality-check

“Codon-optimize your CDS for your chosen host. Compare before and after: what changed, and why does codon usage matter?”

The first version uses the native human coding sequence. Its GC content is 68.4%, and some 100-base regions reach 77%. This gives me a concrete reason to try redesigning the CDS.

I plan to optimize it for Homo sapiens while keeping the protein sequence unchanged. My initial GC target is 40–65%, if the tool supports that setting. I will keep the promoter, UTRs, and poly(A) region unchanged for this comparison.

Several codons can encode the same amino acid. Changing these codons can affect translation and RNA structure. However, I do not want to assume that the optimized version will work better just because the software calls it optimized. I would compare both versions experimentally.

[Still to do: run the optimization and record the actual settings, changes, GC content after optimization, and protein-sequence comparison.]

“Search your sequence against known sequences. Is your CDS what you think it is? Is it identical to a natural gene, or novel? What is the closest match?”

CDS-only search

The native CDS was searched using NCBI BLASTn, with the megablast option, against the refseq_rna database.

The top result was NM_001367197.1, the human ADAMTSL5 transcript variant I intended to use. It matched all 1,446 bases, giving 100% identity, 100% query coverage, zero gaps, and a reported E-value of 0.

This confirms the identity of the coding sequence. The CDS is a natural sequence, while the complete construct is a designed combination of parts.

The search was done through NCBI. The result is saved in BLAST_native_CDS.xml.

Additional search of the complete construct

I also submitted the complete 1,728 bp ADAMTSL5_IVT_v1 construct from Benchling to NCBI BLAST, using the megablast option against the nt database. This is the search shown in the screenshots below.

The top hit was Homo sapiens ADAMTS like 5 (ADAMTSL5), transcript variant 1, mRNA, accession NM_001367197.1. The result reported 100.00% identity over the aligned region, 84% query coverage, and an E-value of 0.0.

The 84% coverage is consistent with the ADAMTSL5 coding sequence being only part of the complete construct: 1,446 out of 1,728 bases is about 83.7%. The template also contains the added promoter, UTRs, and poly(A)-encoding region. The 100% identity therefore refers to the aligned region, not to the entire engineered construct. This is a separate search from the CDS-only result above.

NCBI BLAST summary for the complete construct NCBI BLAST summary for the complete construct

Figure 3. NCBI BLAST search summary for the complete 1,728 bp ADAMTSL5_IVT_v1 construct. The database was nt and the result identifier was BS12NUDH014.

NCBI BLAST table of matching sequences NCBI BLAST table of matching sequences

Figure 4. The top match was NM_001367197.1, with 100.00% identity over the aligned region, 84% query coverage, and a reported E-value of 0.0.

“Run the safety screen on your construct. Summarize what it checks for and what it reports.”

I have not completed the dedicated safety screen yet. I need access to the required tool, or an alternative accepted by the instructor, before I can report a result.

Once I run it, I will record what it checks, whether it flags any sequences, and how I would respond to those flags. The BLAST result does not replace this step.

Part 5 — From design to build

“How would you build it?”

For the first version, I would try ordering the complete 1.73 kb construct as sequence-verified double-stranded DNA. Before ordering, I would check whether the supplier can make the GC-rich sequence and the long A tract.

If the complete sequence is difficult to manufacture, I would consider dividing it into overlapping fragments. Gibson et al. describe how overlapping DNA fragments can be joined using exonuclease, polymerase, and ligase. That gives me another assembly option, although I would still need to check the final sequence.

“What does synthesis constrain?”

The two main problems I see are the high GC content and the 80 consecutive A bases. These could make synthesis, amplification, or sequence verification difficult.

For the CDS, I could try changing codons without changing the protein. For the tail, I could compare the encoded A80 design with a version where the poly(A) tail is added to the RNA after transcription.

Carr et al. describe a protein-based method for reducing errors in synthetic DNA. This could help improve the material, but it would not remove the need to verify my final construct.

“Prototype vs. scale.”

For a prototype, I need one verified template and enough RNA to test its quality and expression.

For larger production, I would need a reliable supply of the same DNA template and a repeatable RNA manufacturing process. A DNA template can be used to make multiple RNA molecules, so the amount of RNA produced is not limited to one copy per DNA molecule.

I would also need to control RNA length, cap and tail quality, remaining DNA, and unwanted RNA by-products. Producing a large amount would only be useful if the product remained consistent.

Part 6 — What don’t you know yet?

“Identify the 2–3 biggest unknowns or risks in your construct. For each, state how you would find out.”

1. Can I make the intended DNA and RNA accurately?

The GC-rich sequence and long A tract may cause problems. I would verify the DNA sequence and measure the length distribution of the RNA. If the encoded tail causes problems, I would compare it with a version using post-transcriptional polyadenylation.

2. Will the RNA produce correctly processed ADAMTSL5?

I would compare the native and optimized coding sequences in a suitable mammalian cell model. I would keep the other parts of the RNA the same and compare protein production. I would also check the cells and culture medium to see whether the protein is secreted.

3. Will presenting this antigen produce tolerance or increase immune activation?

This is the biggest biological question. Making the RNA successfully would not answer it.

A later supervised study would need an appropriate antigen-presentation model and measurements of antigen-specific T-cell responses. I cannot conclude from the DNA design that this approach would treat psoriasis.

I also want to repeat this approach with other proteins that the immune system may target in psoriasis. Different patients may react to different autoantigens, so I do not want to assume that ADAMTSL5 is the right target for everyone.

My idea is to design an expression construct for each selected protein and produce it for research. I would then want to compare how these antigens affect the immune response when delivered in a suitable tolerogenic system. Later, I could investigate whether combining several relevant antigens makes sense. Producing the proteins would be the first step; showing that they can help induce tolerance would require separate experiments.

Future development, Production in eukaryotic cells

I also want to develop a version where living eukaryotic cells produce the proteins directly. I would consider mammalian cells as a starting point. The idea is to introduce an expression construct into cultured cells, let them produce the protein, and then collect and purify it.

For this version, I would need to redesign the current cell-free RNA template into a construct suitable for expression in those cells. I would compare how much protein the cells produce, whether it is secreted, and whether the product has the expected quality. My goal is to develop a repeatable production process that could later be adapted to other selected autoantigens.

AI disclosure

I used OpenAI ChatGPT / Codex to help find sources, assemble the sequence files, perform local sequence checks, run an NCBI BLAST search, and draft the report. I also asked it to use examples of my earlier English writing to make the wording closer to my style and correct the grammar.

My prompts included the homework instructions and requests to prepare the Benchling design, place each question above its answer, and rewrite the answers in my writing style.

The construct has now been imported into Benchling, and platform screenshots and the additional full-construct BLAST result are included above. Codon optimization and the dedicated safety screen are still unfinished.

References

Arakawa et al. (2015). Melanocyte antigen triggers autoimmunity in human psoriasis.

https://doi.org/10.1084/jem.20151093

Krienke et al. (2021). A noninflammatory mRNA vaccine for treatment of experimental autoimmune encephalomyelitis.

https://doi.org/10.1126/science.aay3638

Gibson et al. (2009). Enzymatic assembly of DNA molecules up to several hundred kilobases. Assigned reading.

https://doi.org/10.1038/nmeth.1318

Carr et al. (2004). Protein-mediated error correction for de novo DNA synthesis. Assigned reading.

https://doi.org/10.1093/nar/gnh160

ADAMTSL5 reference transcript:

https://www.ncbi.nlm.nih.gov/nuccore/NM_001367197.1

ADAMTSL5 reference protein:

https://www.uniprot.org/uniprotkb/Q6ZMM2/entry

Human beta-globin reference transcript:

https://www.ncbi.nlm.nih.gov/nuccore/NM_000518.5

T7 promoter reference:

https://www.neb.com/en-ca/faqs/what-is-the-promoter-sequence-of-t7-rna-polymerase

Week 3 HW: Cell-Free Protein Synthesis

Aimer Koshmambetov, Designer Cells at Yonsei University. HTBAA — How to Biomanufacture (Almost) Anything. October 7, 2026.

For this homework, I designed one reaction for each target: sfGFP, PETase and Reteplase. I started from the course presets and changed one component in each recipe. I have not tested these reactions experimentally yet.

Background

Why do potassium and magnesium concentrations vary, and which is more sensitive?

Potassium glutamate provides an ionic environment for the expression machinery. Magnesium supports ribosomes, RNA structure and enzyme activity. Their useful concentrations depend on the lysate and the other ingredients. Nucleotides and phosphate bind magnesium, so the amount added is different from the amount of free magnesium. Magnesium is usually the more sensitive variable: both too little and too much can reduce expression. I would optimize it using the same lysate batch and energy system [1, 2].

How do PEP + NTP and ribose + NMP formulations differ?

PEP + NTP reactions supply ATP, CTP, GTP and UTP directly, while PEP supports energy regeneration through the extract’s enzymes. Ribose + NMP reactions use ribose as a metabolic substrate and supply the cheaper monophosphates AMP, CMP, GMP and UMP. The extract must convert them into the triphosphates needed for transcription. This can reduce reagent costs, but it depends on the metabolic activity of the lysate. A lower reaction cost is only useful if enough functional protein is produced [1, 2].

Comparison of two published formulations

I compared PANOx-SP and RFopt using Table 1 in Olsen et al. (2026) [3]. These are published formulations, rather than the adapted Ginkgo presets used below. All values are in mM unless stated. A dash means no separate addition, not that the lysate contains none.

ComponentPANOx-SPRFopt
Potassium glutamate130362
Magnesium glutamate88
HEPES5775
Amino acids, each25
ATP1.2—
CTP / GTP / UTP, each0.85—
AMP—3
CMP / GMP / UMP, each—2.15
PEP30—
Ribose / glucose—50 / 10
Inorganic phosphate—15
NAD / CoA0.4 / 0.27—
Nicotinamide—4
Ammonium glutamate / oxalate10 / 4—
Putrescine / spermidine1 / 1.5—
Folinic acid / tRNA (mg/mL)0.03 / 0.17—

RFopt uses ribose and NMPs and has more potassium glutamate, amino acids and HEPES. PANOx-SP uses PEP and NTPs and includes more separately supplied cofactors. Both list 8 mM magnesium. Their published cost and yield cannot be transferred directly to the course platform because the lysate, reaction format and costing may differ.

My compositions

Each reaction is 20 µL, including 5 µL lysate, 2 µL base buffer and 2 µL of the matching DNA template. The DNA stock is 50 nM, giving 5 nM in the reaction. All volumes are multiples of 25 nL. The concentrations discussed below include the base buffer’s contributions: 200 mM potassium glutamate, 2.6 mM magnesium glutamate and 30 mM HEPES. They do not include an estimate of material already in the lysate [2, 4].

sfGFP: saved composition, sample aimer_koshmambetov_2026-10-07_sfgfp_mg885.

I used the sfGFP Ribose preset and increased magnesium glutamate from 8.225 to 8.85 mM. This adds 25 nL magnesium stock and removes 25 nL water. I want to test whether a small magnesium increase improves expression in this NMP/phosphate formulation. Too much magnesium could also reduce yield. I would compare calibrated sfGFP fluorescence and cost per gram with the unchanged preset. The saved recipe was reopened and its volumes and DNA template matched the intended design.

PETase: saved composition, sample aimer_koshmambetov_2026-10-07_petase_dsbc25.

I used the PETase Ribose preset and reduced DsbC from 5 to 2.5 µM, replacing 500 nL of DsbC stock with water. The course PETase is TfCut2 with one disulfide bond. I want to test whether less DsbC can maintain folding while reducing cost. One disulfide does not mean DsbC is unnecessary. I would compare background-corrected pNP activity per reaction cost with the preset. The saved record identifies PETase, and the reopened variable reagent volumes match. However, the website loader defaults the protein/DNA selection to sfGFP; it must be checked when loading the design.

Reteplase: saved composition, sample aimer_koshmambetov_2026-10-07_reteplase_hepes675.

I used the Reteplase PEP preset and increased HEPES from 57.5 to 67.5 mM by adding 200 nL HEPES stock and removing 200 nL water. I kept DsbC, magnesium, GSH, GSSG and the energy system unchanged. Reteplase has nine disulfide bonds, so I retained the supplied oxidizing DSB lysate and did not add DTT. I want to test whether extra buffering helps maintain activity. I would compare background-corrected AMC activity per reaction cost with the preset.

The Reteplase recipe was correct in the submission form, but I could not confirm its persisted PEP recipe through the website loader. Reopening the saved card removes 6,000 nL PEP and increases water from 425 to 6,425 nL. Importing the same JSON instead interprets PEP as a 0.5 M stock. The intended recipe uses 6,000 nL of 0.1 M PEP mono, giving 30 mM final PEP. This clarification and the loading problem are saved in the existing composition’s Comments. The table below records the intended recipe.

Stock volumes per reaction, in nL. The DNA template matches the protein in each column. Zero means no separate addition.

ReagentStocksfGFPPETaseReteplase
Lysate1X500050005000
Matching DNA template50 nM200020002000
Base buffer10X200020002000
Water—150725425
Potassium glutamate0.875 M332522750
Magnesium glutamate0.5 M250225225
HEPES-KOH pH 7.51 M900900750
Ammonium glutamate1 M00200
ATP0.1 M00250
CTP0.1 M00175
GTP0.1 M00175
UTP0.1 M00175
17 amino acid mix0.05 M16001600400
Ribose100 g/L150015000
Folinic acid10 g/L0050
NAD0.1 M0075
Spermidine0.25 M00125
Oxidized glutathione (GSSG)0.17 M00475
Reduced glutathione (GSH)0.1 M00200
Putrescine dihydrochloride0.5 M0050
Coenzyme A0.05 M00100
AMP0.1 M6006000
CMP0.1 M4254250
GMP0.1 M4254250
UMP0.1 M4254250
DsbC0.0001 M05001000
Potassium phosphate, monobasic:dibasic 1.6:10.5 M6006000
Nicotinamide0.1 M8008000
PEP mono0.1 M006000
Potassium oxalate0.5 M00150
Total200002000020000

I would compare each candidate with its preset using the same lysate batch and assay conditions. sfGFP fluorescence can provide a folded-protein titer. The pNP and AMC assays measure PETase and Reteplase activity, not their physical protein yield. I would evaluate cost per functional output and variation between replicates; the two enzyme assays cannot be compared directly [2].

Community reagent and forum

I upvoted the existing FkpA suggestion on October 7. FkpA is a chaperone and peptidyl-prolyl isomerase. Groff et al. showed that FkpA and DsbC helped antibody folding in an E. coli cell-free system [5]. This gives me a reason to test it with Reteplase, but it is not evidence that it improves Reteplase. If available, I would compare the baseline with and without FkpA and measure activity relative to cost. It is not included in my current recipes.

I also visited the CFPS Coopetition forum. I did not post a message.

Optional Kernel work

I imported the three circular T7 constructs into DesignerCells / Aimer-Koshmambetov in the HTBAA 2026 workspace. They use the unchanged official Ginkgo DNA and exact tagged target proteins. GenBank exports from Kernel were checked against the original DNA. Each target CDS has a terminal TAA, no internal stops and the expected translation.

TargetKernel constructDNA lengthTagged proteinFiles
sfGFPOpen2511 bp240 aaGenBank, map
PETaseOpen2696 bp309 aaGenBank, map
ReteplaseOpen2966 bp399 aaGenBank, map

The T7 promoter, RBS and terminator motifs were checked, along with KanR and a pUC19-homologous backbone region. Full replication-origin boundaries remain unverified. The downloadable GenBank files retain the original annotations; Kernel exports flatten them to misc_feature and omit detailed translation qualifiers.

AI assistance

I used OpenAI ChatGPT/Codex to help draft the report, check sources and recipe arithmetic, prepare sequence files and verify their translations. Codex also operated my signed-in Chrome session to save the compositions, record the vote and check Kernel exports. I imported the constructs myself. No experiments were performed by AI.

My instructions included: “Continue my HTBAA Week 3 homework using my Mac’s existing Chrome session” and “Use the exact tagged protein sequences from the official assignment, verified backbone parts, and verify each CDS translation.” I also asked for the report to be written in simpler language with minimal formatting. I need to review the design and explain it during recitation.

References

  1. HTBAA Week 3 assignment.
  2. CFPS Coopetition specifications.
  3. Olsen et al. (2026), Design-driven optimization of low-cost reagent formulations for reproducible and high-yielding cell-free gene expression, Table 1. PANOx-SP originates from Jewett and Swartz (2004), 10.1002/bit.20026.
  4. CFPS Coopetition designer, course presets and reagent inventory checked October 6–7, 2026.
  5. Groff et al. (2014), Engineering toward a bacterial “endoplasmic reticulum” for the rapid expression of immunoglobulin proteins.

Final Project

cover image cover image