Katkat

Design a DNA-sequence optimization loop

LilaMachine Learning Engineer · Onsite

Last updated

This problem tests your ability to design a closed-loop active learning system for protein or DNA sequence engineering, focusing on the iterative cycle of sequence generation, uncertainty estimation, and experimental validation.

Problem Statement

Lila is building a platform to optimize synthetic DNA sequences for high expression levels in yeast. You are tasked with designing an automated experimental loop. The goal is to maximize the expression of a target gene by iteratively testing batches of candidate sequences in a lab and using the results to train a machine learning model to guide future candidates.

System Requirements

  1. Representation: How will you encode DNA sequences (e.g., k-mer counts, embeddings, one-hot) for the model?
  2. Candidate Generation: Propose a strategy for generating novel sequences that balance exploration (searching unknown regions) and exploitation (improving known high-performers).
  3. Active Learning Loop: Describe the end-to-end flow from training the initial predictive model to selecting a batch of sequences for synthesis and wet-lab assay.
  4. Handling Uncertainty: The assay measurements are often noisy. How will you incorporate measurement uncertainty into your optimization objective?
  5. Constraints: Sequences must avoid specific restriction enzyme sites to be synthesizable. How would you enforce these hard constraints?

Constraints & Scale

  • Initial dataset: 1,000 labeled sequences.
  • Synthesis batch size: 96 sequences per round.
  • Model objective: Predict expression levels given a sequence.
  • Focus on architecture and trade-offs rather than specific code implementations.

Hints

Hint 1

Consider using an acquisition function like Expected Improvement or Upper Confidence Bound to manage the exploration-exploitation trade-off.

Hint 2

Think about using a generative model (like a VAE or a Transformer-based language model) rather than random mutation to explore the sequence space.

Hint 3

Address how you would handle the 'cold start' problem and bias introduced by only synthesizing high-predicted-score sequences.

Follow-up questions

  • How would your architecture change if you had a very small labeled dataset but a massive amount of unlabeled genomic sequence data?
  • How do you monitor for model 'drift' or over-optimization towards a local optimum in the sequence landscape?
  • What metrics would you use to evaluate if your experimental loop is actually learning effectively versus just picking high-GC content sequences?