Week 2 HW: DNA Design
HTBAA Homework #2: DNA Design
From an aptamer-biosensor concept (HW1) to a concrete expression construct
Prepared by: Nitin Due: Tuesday, 29 September, 2:30 p.m. ET

Part 0: Set up in Kernel
I do not yet have Kernel access, so I have not created the repository/folder this part asks for, and I want to be upfront about that rather than invent one. What follows is everything Kernel would normally do for Parts 1–4 — pulling real part sequences from public databases, codon-optimizing, checking reading frame, and reasoning about restriction sites and biosecurity screening — done instead with direct database lookups (NCBI/UniProt/Addgene/FPbase) and a short Python script I wrote and ran myself for the codon-optimization and sequence-integrity checks, so that every claim below is checked rather than asserted. Once I do have Kernel access, I would create a repository and a folder named nitin-theo-biosensor (to be renamed to the lastname-project convention once I set it up) and rebuild this design inside it so the part sequences and construct map are backed by Kernel’s own records rather than my manual sourcing.
Part 1: Define my expression target
This continues directly from [HW1](Homework #1): a lab-in-the-loop pipeline that uses automated experimentation to discover and improve RNA aptamer biosensors, with structural predictions (and eventually fine-tuning) coming from a model like trRosettaRNA2. Homework #2 asks me to make one physical instance of that biosensor concrete enough to order. Rather than jump straight to a de novo, not-yet-discovered aptamer, I’m designing the validation construct: a well-characterized aptamer-gated biosensor that lets me confirm the physical platform (host, reporter, assay, backbone) actually works before the automated discovery loop from HW1 starts feeding it real SELEX output. This is a deliberate, stated choice, not a dodge — Kernel’s construct-design tools, the cell-free assay, and the automation would all need a known-good positive control before I’d trust them on an unknown sequence.
What molecule am I expressing? A protein reporter — superfolder GFP (sfGFP) — whose translation is gated by an RNA element (not itself translated) upstream of it. The thing being “sensed” is theophylline; the thing being manufactured and measured is sfGFP fluorescence as a function of theophylline concentration.
What is the sequence, and where does it come from?
- Reporter protein (sfGFP): 238 aa, derived from Aequorea victoria GFP with the point mutations S30R, Y39N, F64L, S65T, F99S, N105T, Y145F, M153T, V163A, I171V and A206V (Pédelacq et al., 2006). Canonical sequence per FPbase (GenBank ASL68970; PDB 2B3P):
MSKGEELFTGVVPILVELDGDVNGHKFSVRGEGEGDATNGKLTLKFICTTGKLPVPWPTLVTTLTYGVQCFSRYPDHMKRHDFFKSAMPEGYVQERTISFKDDGTYKTRAEVKFEGDTLVNRIELKGIDFKEDGNILGHKLEYNFNSHNVYITADKQKNGIKANFKIRHNVEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSVLSKDPNEKRDHMVLLEFVTAAGITHGMDELYKA plasmid encoding this exact protein under a T7 promoter already exists and is orderable (Addgene plasmid #69496, “pJL1”, deposited by the Jewett lab) — I used that as my ground truth for the protein sequence rather than trusting my own recall of it. - Sensing/regulatory element (theophylline riboswitch): the 33-nt minimal theophylline RNA aptamer originally selected by Jenison et al. (1994) by in vitro selection (SELEX) against theophylline:
5′-GGCGAUACCAGCCGAAAGGCCCUUGGCAGCGUC-3′, positioned as a translational riboswitch — fused so that, in the theophylline-free state, the aptamer’s own fold sequesters a synthetic Shine–Dalgarno/RBS sequence, and theophylline binding shifts the equilibrium to expose it for ribosome loading, following the design principle first demonstrated by Suess et al. (2004) and Desai and Gallivan (2004), and refined by Lynch et al. (2007) and Topp and Gallivan (2008). I am not inventing my own exact base-level fusion junction here — the published constructs differ in the precise spacer/overlap and get materially different ON/OFF dynamic range as a result, so the specific junction I would order is one I’d pull from a published sequence listing (or, more realistically, test 3–4 published junction variants in parallel, which is exactly the small-batch pattern HW1’s automation loop is built around) rather than guess.
What host/chassis? A cell-free (acellular) E. coli-lysate transcription–translation (TX-TL) system, consistent with HW1’s Section 2. Concretely, T7 RNA polymerase drives transcription from a T7 promoter in an E. coli S30-type extract or a reconstituted (PURE-type) system — the same cell-free format Rasor et al. (2021) argue is well suited to automation because there is no cell-viability constraint to protect. I also chose this host because a theophylline riboswitch of this exact family has already been shown to function in an E. coli S30 cell-free extract, not just in living cells (the kinetic-trapping study by the Gallivan group; Nucleic Acids Research, 2014), which is direct precedent that this mechanism survives the move out of the cell.
Where does the product need to go? Cytoplasmic — or, more precisely, free in the cell-free reaction well. No secretion or membrane targeting is needed: the read-out is fluorescence accumulation in solution, so no signal peptide or targeting tag is included.
Part 2: Genetic parts
| Layer | Part | Sequence / source | Justification |
|---|---|---|---|
| Transcription start | T7 promoter (constitutive, phage-derived) | Consensus 5′-TAATACGACTCACTATAGGG-3′ (the T7.F/TAATACGACTCACTATAGGG sequencing primer used across the Jewett lab’s pJL1-family constructs, per Addgene records for plasmid #69496 and related deposits) | Strong, well-characterized, and matched to the T7 RNA polymerase already supplied in standard E. coli cell-free extract kits — no need for host RNA polymerase or an inducer, which matters for a cell-free reaction that has no living cell to induce. |
| Translation start | 5′ UTR — theophylline translational riboswitch (ligand-gated RBS) | 33-nt aptamer (Jenison et al., 1994) fused to a synthetic Shine–Dalgarno sequence per the Desai and Gallivan (2004) / Topp and Gallivan (2008) design principle; exact fusion junction to be pulled from a published sequence listing before ordering (see Part 1) | This is the actual sensing element — everything about calling this a “biosensor” rather than a constitutive reporter construct lives here. A bare strong RBS would express sfGFP constitutively and defeat the point of the exercise. |
| Coding sequence | sfGFP CDS (+ATG start, +stop) | 717 nt, reverse-translated from the Pédelacq et al. (2006) / FPbase protein sequence, codon-optimized for E. coli (full sequence and optimization process in Part 4) | Fast-maturing, aggregation-resistant fluorescent reporter that is the standard choice for exactly this kind of cell-free/riboswitch assay (the Jewett lab’s own pJL1 backbone already ships an sfGFP-expressing variant), so results are comparable to a large existing literature. |
| Targeting | (none) | — | No secretion or compartmentalization needed for a cytoplasmic/cell-free fluorescent read-out. |
| Transcription stop | T7 terminator | Native to the pJL1 backbone (exact sequence to be pulled from the Addgene/GenBank record, not reproduced from memory here — see the honesty note in Part 4) | Matches the T7 promoter/polymerase pair and is already validated in this exact backbone. |
| Vector context | Backbone: pJL1 | pUC18-derived, ColE1/pMB1-type high-copy origin, kanamycin resistance, 1,763 bp without insert (Addgene plasmid #69496; Martin et al., 2018) | This is a real, already-validated, already-orderable cell-free expression vector from the same lab whose cell-free biomanufacturing work I cited in HW1 (Rasor et al., 2021) — using it rather than a backbone I designed from scratch means the origin, copy number and marker are all known quantities, and I’m only actually engineering the insert. |
Part 3: Assemble the construct
5′→3′ order: T7 promoter → 5′ UTR (theophylline riboswitch/RBS) → sfGFP CDS → T7 terminator, carried in the pJL1 backbone (ori + KanR). The construct map is shown above as a diagram.
Reading-frame check. I verified this computationally rather than by eye: I translated the final 717-nt CDS (see Part 4) back into protein using the standard genetic code and confirmed (a) it starts with ATG, (b) it ends with exactly one stop codon and no internal stop codons, and (c) the translated protein is character-for-character identical to the 238-aa sfGFP sequence I started from. This is the kind of check Kernel would normally run automatically on assembly; I ran it explicitly in Python to make sure my codon-optimization pass (Part 4) hadn’t silently broken the frame.
Part 4: Optimize and quality-check
Codon optimization. I wrote a short Python script and ran it (rather than describing this step abstractly) using a real E. coli K-12 codon-usage table (frequencies per 1,000 codons, sourced from GenScript’s published codon-frequency reference, itself derived from the standard Kazusa Codon Usage Database) to re-encode the sfGFP protein sequence with each amino acid’s highest-frequency E. coli codon, and compared that against a “naive” encoding of the identical protein using the equivalent human codon-usage table (from the same reference) — a realistic stand-in for what you’d get if you pulled a mammalian-optimized sfGFP sequence off the shelf without re-optimizing it for a bacterial/cell-free host.
| Human-style (naive) | E. coli-optimized | |
|---|---|---|
| Length | 717 nt | 717 nt |
| GC content | 63.5% | 48.8% (49.1% after the fix below) |
| Codons below 10/1,000 in E. coli usage (“rare” codons) | 31/239 (13.0%) | 3/239 (1.3%), 5/239 (2.1%) after the fix below |
| Codon positions differing from each other | 123 of 239 (51%) | — |
Codon usage matters for expression in E. coli because translation rate at each codon depends on the abundance of the matching charged tRNA; codons that are rare in the host’s own genome correspond to low-abundance tRNAs, and stringing several of them together — which is exactly what happens if you keep a human-biased sequence — causes ribosome stalling, incomplete/truncated protein, and reduced overall yield. This risk is if anything sharper in a cell-free system than in vivo: a living cell can transcribe and charge more tRNA on demand, but a cell-free reaction starts with a fixed tRNA pool inherited from the lysate at preparation time and cannot replenish it, so a rare-codon bottleneck can’t be worked around mid-reaction the way it sometimes can be in vivo.
Constraint I applied, and what it caught. I did not just run the naive “pick the top codon everywhere” substitution and stop there. That first pass introduced two internal NdeI sites (CATATG) at nucleotide positions 229–234 and 649–654 — NdeI matters here specifically because it’s the actual 5′ restriction site the Jewett lab uses to clone inserts into pJL1 (confirmed directly from Addgene’s cloning-method field for several pJL1 constructs: “5′ cloning site NdeI”). Two internal NdeI sites inside the insert would let a restriction digest cut the gene itself, not just the vector boundary, which would silently wreck an NdeI/SalI cloning step. I fixed both by substituting the second-most-frequent E. coli codon (CAC instead of CAT) at the two histidine positions responsible, which removed both sites at the cost of raising the rare-codon count only slightly (from 3 to 5 of 239 codons) and leaving GC content essentially unchanged (49.1%). I also checked for SalI (GTCGAC), BsaI (GGTCTC/GAGACC) and XhoI (CTCGAG) sites (none found) and for homopolymer runs of 6+ identical bases, since long runs are a known local difficulty for both chemical synthesis and downstream sequencing (one 6-nt poly-T run remains in the optimized sequence — noted as a mild synthesis-difficulty flag in Part 5, not something I removed, since doing so would mean drifting further from the optimal codon at that position for a single-nucleotide-run issue most vendors handle routinely).
Final, NdeI/SalI-clean, E. coli-codon-optimized sfGFP CDS (717 nt, verified to translate back to the exact original protein with no internal stops):
Sequence search (in place of a Kernel/BLAST run). I don’t have BLAST access via Kernel right now, and I’d rather say that plainly than fabricate a BLAST report, so here is the honest, reasoned version of the same question. Because I built this CDS by reverse-translating a reference protein sequence rather than by editing an existing deposited DNA sequence, I can say with certainty, by construction, what a real search would find: at the protein level, a tblastn-style search would return a very close (likely 100%, modulo the exact GFP numbering convention used) match to the original superfolder GFP sequence from Pédelacq et al. (2006) — this is a well-known, extensively re-derived engineered protein, not a natural gene and not novel. At the nucleotide level, a blastn-style search would not return 100% identity to any single deposited plasmid sequence (including the original pJL1-sfGFP), because I chose fresh, optimized codons at roughly half of all 239 positions — those substitutions are synonymous (silent at the protein level) but real at the DNA level. So the honest answer to “is it identical to a natural gene, or novel?” is: the protein is an established, non-natural, previously engineered variant with a well-known closest match; the specific codon-level DNA sequence I designed is a fresh (if unremarkable) synonymous variant of an existing construct, not identical to any one deposited record. I would confirm this with an actual BLAST/Kernel search before ordering.
Safety screen (reasoned, not run). Commercial and academic DNA synthesis screening today generally follows either the International Gene Synthesis Consortium’s Harmonized Screening Protocol or the equivalent US HHS Screening Framework Guidance (issued 2010, updated 2023), and a growing share of providers additionally run IBBIS’s open-source Common Mechanism tool, which uses sequence-alignment methods (BLAST, DIAMOND, HMMER, cmscan) against curated databases of regulated/hazardous (“sequences of concern”) biological sequences as well as general NCBI databases, on a minimum 50-nt screening window (Wheeler et al., 2024). I would expect this construct to come back clean, and I can say why rather than just asserting it: none of the four parts derive from a regulated pathogen, toxin, or select agent — sfGFP derives from a non-pathogenic jellyfish (Aequorea victoria); the theophylline aptamer is a fully synthetic, in-vitro-selected sequence with no natural viral, bacterial, or toxin origin; the T7 promoter/terminator derive from bacteriophage T7, which is not itself a regulated pathogen; and the pJL1 backbone’s KanR marker and pUC-derived origin are standard, widely-distributed cloning-vector elements. If a screen did flag something here, given the specific parts involved, I’d expect it to be a low-confidence, short-window coincidental match rather than a genuine hazard, and I’d want to see exactly which database hit fired before assuming it’s a false positive.
Part 5: From design to build
How would I build it? The full insert I need synthesized — T7 promoter through T7 terminator — is roughly 850 bp (promoter ~20 bp + riboswitch/RBS 5′ UTR ~60–100 bp + 717-bp sfGFP CDS + terminator ~50 bp), well within the length a commercial vendor synthesizes as a single linear double-stranded DNA fragment (a “gene fragment”/gBlock-class product) rather than something that needs to be built up from smaller pieces by hand. I would order that fragment directly and clone it into a linearized pJL1 backbone by Gibson assembly — not a guess: Gibson assembly (Gibson et al., 2009) is the literal cloning method Addgene’s own records list for several existing pJL1-family constructs (including the sfGFP-expressing ones), which tells me this exact backbone-plus-insert combination is routinely built this way in practice. Gibson assembly is a good fit here specifically because it’s a single-tube, sequence-homology-based reaction that doesn’t depend on convenient restriction sites — relevant given that my codon optimization pass in Part 4 had to actively remove restriction sites the naive optimization introduced, which is exactly the kind of constraint Gibson assembly sidesteps for the vector-insert junction (even though the pJL1-internal NdeI/SalI sites still mattered for my codon choice inside the CDS itself, since some constructs in this same lineage are built by restriction cloning instead).
What does synthesis constrain, and does my design have anything hard to synthesize? Chemical (phosphoramidite) DNA synthesis has a per-coupling error rate that compounds with length and is worse in regions with strong secondary structure, high GC content, or repetitive/homopolymeric runs, which is why gene-length constructs historically needed post-synthesis error correction — Carr et al. (2004) describe an enzymatic approach using the mismatch-binding protein MutS to selectively cleave and remove error-containing duplexes from a synthesis pool, which is the direct ancestor of the sequencing-verification step every modern commercial gene-synthesis vendor now runs by default. My design has two features worth flagging under this lens, both of which I found computationally rather than by inspection: (1) the E. coli-optimized CDS still contains one six-nucleotide poly-T run, a known locally error-prone motif for synthesis and sequencing; and (2) the riboswitch element is, by design, a folded RNA structure (that’s the entire mechanism — it has to fold to sequester the RBS) — the corresponding DNA template will have real secondary-structure-forming potential in that region, which can stall polymerase during both chemical synthesis and any PCR-based amplification step, exactly the class of problem Carr et al. (2004) and the chip-based synthesis literature discuss.
Prototype vs. scale. For this single validation construct, ordering one synthesized fragment plus one Gibson assembly reaction is the right scale of tool — anything more elaborate would be solving a problem I don’t have yet. But this construct is explicitly a stand-in for what HW1’s automation loop will eventually need to build many of: candidate riboswitch/RBS-junction variants (and, later, entirely new aptamer sequences) tested in parallel batches. At that scale, ordering each variant as an individually synthesized fragment stops being the right tool — this is exactly the problem chip-based, multiplexed oligo synthesis was built to solve. Tian et al. (2004) and Kong et al. (2007) demonstrate parallel gene synthesis directly on programmable DNA microchips, and Kosuri et al. (2010) show how to go from a chip-synthesized oligo pool to selectively amplified, gene-length constructs at far lower per-sequence cost than individually ordered oligos. This directly answers a gap I flagged but couldn’t source in HW1’s Section 4a, where I estimated the design-phase campaign’s oligo cost using individually-ordered-oligo pricing and only speculated, without a citation, that pooled/array synthesis would be “one to two orders of magnitude” cheaper for exactly this kind of large combinatorial library — Kosuri et al. (2010) is the citation that claim needed.
Part 6: What don’t you know yet
1. Whether the riboswitch retains its reported dynamic range in this exact pairing. The theophylline-riboswitch mechanism is confirmed to work in living E. coli cells (Desai and Gallivan, 2004; Topp and Gallivan, 2008) and, separately, in E. coli S30 cell-free extract in general (the 2014 Nucleic Acids Research kinetic-trapping study from the Gallivan group) — but not, as far as I found, with this specific riboswitch fused directly to sfGFP in the pJL1/T7 architecture. I would find this out with a straightforward with/without-theophylline fluorescence titration in the actual cell-free reaction, across a concentration range bracketing the reported theophylline aptamer binding Kd (~400 nM in vitro) and the much higher concentration (~300–500 µM) historically needed to activate these riboswitches in intact cells.
2. Whether the exact aptamer-to-RBS junction I have not yet committed to matters as much as the literature suggests it does. I deliberately did not invent a specific base-level fusion sequence in Part 1/2 because published variants of this riboswitch family differ in spacer length and overlap and get materially different ON/OFF ratios as a result. I would want to build and test a small panel of 3–4 published junction variants side by side rather than commit the whole downstream cloning effort to just one on the first pass — which is, not coincidentally, exactly the small parallel-batch pattern HW1’s automated lab-in-the-loop system is designed to run.
3. Whether my codon-optimization changes altered local mRNA structure near the start codon in a way that matters. I checked reading frame, restriction sites, GC content and rare-codon burden computationally, but I did not model the folding energy of the actual designed 5′ region (riboswitch + start codon + first several CDS codons), and translation-initiation rate in bacteria is known to be sensitive to secondary structure right around the ribosome binding site — a change that’s silent at the protein level can still change how fast ribosomes load. I would check this with an RNA-folding tool (e.g. RNAfold) on the final designed sequence before ordering, which is exactly the kind of check I’d expect Kernel to surface automatically once I have access to it.
AI use disclosure
I used the Claude Sonnet 5 model accessed via claude.ai, as a research and drafting assistant for this assignment, continuing directly from the same conversation and AI-assisted workflow described in my Homework #1 submission.
References
Bu, Y., Liu, Y., Hu, A., Lee, Y.C. and Yobas, L. (2026) ‘Auto-SELEX: a fully automated microfluidic platform for rapid discovery of high-affinity aptamers’, Lab on a Chip, 26(14), pp. 4117–. https://doi.org/10.1039/D6LC00275G
Carr, P.A., Park, J.S., Lee, Y.-J., Yu, T., Zhang, S. and Jacobson, J.M. (2004) ‘Protein-mediated error correction for de novo DNA synthesis’, Nucleic Acids Research, 32(20), e162. https://doi.org/10.1093/nar/gnh160
Desai, S.K. and Gallivan, J.P. (2004) ‘Genetic screens and selections for small molecules based on a synthetic riboswitch that activates protein translation’, Journal of the American Chemical Society, 126(41), pp. 13247–13254. https://doi.org/10.1021/ja048634j
Elowitz, M.B. and Leibler, S. (2000) ‘A synthetic oscillatory network of transcriptional regulators’, Nature, 403, pp. 335–338. https://doi.org/10.1038/35002125
GenScript (n.d.) Codon usage frequency table. Available at: https://www.genscript.com/tools/codon-frequency-table (Accessed: 29 September 2026). Note: technical/vendor reference table (Kazusa Codon Usage Database-derived), not a peer-reviewed source; used here only as the source of the raw per-codon frequency figures I computed with.
Gibson, D.G., Young, L., Chuang, R.-Y., Venter, J.C., Hutchison, C.A. and Smith, H.O. (2009) ‘Enzymatic assembly of DNA molecules up to several hundred kilobases’, Nature Methods, 6, pp. 343–345. https://doi.org/10.1038/nmeth.1318
Jenison, R.D., Gill, S.C., Pardi, A. and Polisky, B. (1994) ‘High-resolution molecular discrimination by RNA’, Science, 263(5152), pp. 1425–1429. https://doi.org/10.1126/science.7510417
Kong, D.S., Carr, P.A., Chen, L., Zhang, S. and Jacobson, J.M. (2007) ‘Parallel gene synthesis in a microfluidic device’, Nucleic Acids Research, 35(8), e61. https://doi.org/10.1093/nar/gkm121
Kosuri, S., Eroshenko, N., LeProust, E.M., Super, M., Way, J., Li, J.B. and Church, G.M. (2010) ‘Scalable gene synthesis by selective amplification of DNA pools from high-fidelity microchips’, Nature Biotechnology, 28, pp. 1295–1299. https://doi.org/10.1038/nbt.1716
Lambert, T.J. (2019) ‘FPbase: a community-editable fluorescent protein database’, Nature Methods, 16, pp. 277–278. https://doi.org/10.1038/s41592-019-0352-8
Lynch, S.A., Desai, S.K., Sajja, H.K. and Gallivan, J.P. (2007) ‘A high-throughput screen for synthetic riboswitches reveals mechanistic insights into their function’, Chemistry & Biology, 14(2), pp. 173–184. https://doi.org/10.1016/j.chembiol.2006.12.008
Martin, R.W., Des Soye, B.J., Kwon, Y.-C., Kay, J., Davis, R.G., Thomas, P.M., Majewska, N.I., Chen, C.X., Marcum, R.D., Weiss, M.G., Stoddart, A.E., Amiram, M., Ranji Charna, A.K., Patel, J.R., Isaacs, F.J., Kelleher, N.L., Hong, S.H. and Jewett, M.C. (2018) ‘Cell-free protein synthesis from genomically recoded bacteria enables multisite incorporation of noncanonical amino acids’, Nature Communications, 9, 1203. https://doi.org/10.1038/s41467-018-03469-5
Pédelacq, J.-D., Cabantous, S., Tran, T., Terwilliger, T.C. and Waldo, G.S. (2006) ‘Engineering and characterization of a superfolder green fluorescent protein’, Nature Biotechnology, 24(1), pp. 79–88. https://doi.org/10.1038/nbt1172
Rasor, B.J., Vögeli, B., Landwehr, G.M., Bogart, J.W., Karim, A.S. and Jewett, M.C. (2021) ‘Toward sustainable, cell-free biomanufacturing’, Current Opinion in Biotechnology, 69, pp. 136–144. https://doi.org/10.1016/j.copbio.2020.12.012
Stanton, B.C., Nielsen, A.A.K., Tamsir, A., Clancy, K., Peterson, T. and Voigt, C.A. (2014) ‘Genomic mining of prokaryotic repressors for orthogonal logic gates’, Nature Chemical Biology, 10, pp. 99–105. https://doi.org/10.1038/nchembio.1411
Tian, J., Gong, H., Sheng, N., Zhou, X., Gulari, E., Gao, X. and Church, G. (2004) ‘Accurate multiplex gene synthesis from programmable DNA microchips’, Nature, 432, pp. 1050–1054. https://doi.org/10.1038/nature03151
Topp, S. and Gallivan, J.P. (2008) ‘Riboswitches in unexpected places — a synthetic riboswitch in a protein coding region’, RNA, 14(12), pp. 2498–2503. https://doi.org/10.1261/rna.1225108
Wachsmuth, M., Domin, G., Lorenz, R., Serfling, R., Findeiß, S., Stadler, P.F. and Morl, M. (2014) ‘A family of synthetic riboswitches adopts a kinetic trapping mechanism’, Nucleic Acids Research, 42(10), pp. 6753–6761. https://doi.org/10.1093/nar/gku262
Wheeler, N.E. et al. (2024) ‘Developing a common global baseline for nucleic acid synthesis screening’, Applied Biosafety, 29(2), pp. 71–78. https://doi.org/10.1089/apb.2023.0034