Co-developed the NOODL genetic algorithm, from initial concept to implementation and optimization. Authored and debugged core Julia modules, including the crossover and parent selection (bias) modules. Methodically tested various optimizations (in scoring and flank modules) and parent selection methods to successfully reduce the program’s run time by threefold. Ensured thermodynamic viability in UNAFold/Geneious and helped shape the program’s scoring function for the “seagull” spacer model through key technical discussions, proposing strategies to prevent cross hybridization at aptamer-spacer junctions.
Co-developed NOODL, created a development timeline, and organized the GitHub repository. Implemented and debugged core Julia modules (RCScore.jl, Mutate.jl, BleedingFlanks.jl), integrated them into noodl.jl (main Julia file), and added command-line functionality with Argparse. Wrote the core genetic algorithm code in noodl.jl including incorporating the crossover and mutation functions from separate modules. Developed and validated test cases for crossover functions and stochastic sampling; provided technical support for Git/GitLab setup and version control. Verified NOODL-generated sequences using mFold and Geneious thermodynamic checks and DNA folding and updated scoring/overall program to account for the “seagull” double-stranded spacer concept.
Researched and actively contributed to key brainstorming discussions shaping the direction of the NOODL project. Developed core components of the NOODL genetic algorithm, including crossover functions and bias algorithms. Carried out parameter testing, debugging, and thermodynamic validation of spacer sequences using UNAFold. Served as a bridge between computational design and experimental validation.