projects
smithy
overview
Smithy is a web application I developed for my master's thesis at Concordia University. It's a web application that automates the optimal designs of DNA assembly experiments.
Users submit a desired target assembly and multiple BLAST DNA sequence databases are queried to find fragments to build the assembly. The target assemblies are designed based on the user's selected assembly method, and several analytics metrics are provided to guide a user's decisions.
The currently supported DNA assembly methods in Smithy are Gibson, Golden Gate, PCR-SOE, SLIC, and BioBricks. The analytics provided for completed designs are for primer thermodynamics, costs, risk, time, and much more.
implementation
mojo neural net
overview
This is an ongoing project where I've built a simple, 3-layer neural network in the new language Mojo. This serves two goals of mine: advancing my skills/knowledge in machine learning fundamentals and learning mojo with a technically challanging and relevant topic.
resources:- Michael Nielsen's online book
- 3Blue1Brown's neural networks basics
- Mojo docs
implementation
game of life
overview
This was a simple exercise to implement Conway's game of life and a few one-dimensional, elementary cellular automata. For either implementation, I've used a python library, pygame, to draw the animations. Numpy is used to hold the data for the automata states.
Games implemented:- Conway's game of life
- rule 30
- rule 110
Wolfram's pages on elementary cellular automata were used for reference.