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

python, JavaScript, HTML, CSS
BLAST, pydna, Biopython
bioinformatics, synthetic biology, full-stack, automation

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:

implementation

mojo 🔥, python, MNIST
neural network, mini-batching, SGD, backpropagation
linear algebra, statistics

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:

Wolfram's pages on elementary cellular automata were used for reference.


implementation

python, pygame, numpy
automata