Code

Bioinformatic Tools - github link
Miscellaneous standalone tools for bioinformatic / computational biology work.
Rosalind Solver - github link
A program to solve bioinformatic exercises from the educational Rosalind project.
Simple Quizzing - github link
Simple, multiple choice quizzes automatically generated from your notes.
Automated Email - github link
Programmed an automated email response system with camera integration.
Website - github link
Programmed my own website from scratch.
Terminal Workshop - github link
Fun exercises to learn the basics of the Unix Terminal.
Pong - github link
A simple Java pong game using Processing and PApplet.
Sticky - github link
A challenging text-based Python pick-up-sticks game.

Bioinformatic Tools

Working in computational biology, you end up creating a lot of automated scripts for various niche bioinformatic problems. In this repository I have a few standalone scripts to share that may be helpful for other computational biologists or bioinformatic people. I have a script to help run the SCOPE program for CNV analysis in a more user friendly way. I have a script to help parse the oddly formatted output from the Kraken2 program for taxonomic identification and convert the data into a jtree format which can be analyzed with R. I have a script to parse NCBI RefSeq GenBank annotation data into tab-delimited format. Finally, I have a script based on a paper about filtering variants by frequency, which allows you to create a blacklist of variants specific to your cohort that are too common to be pathogenic and remove those variants from your list of variants. You can check out or use these programs at github.com/KEYS248/bioinfo-tools.

Rosalind Solver

The Rosalind project, found at rosalind.info, is designed to teach bioinformatics and programming through educational exercises, inspiring the next generation of computationally empowered biologists. I've started completing some exercises from the project and the program I've written at github.com/KEYS248/rosalind-solver implements my solutions for those exercises. Although interested biologists should really attempt the exercises themselves before seeking solutions, my solutions are available here to compare and see how the same problems can be solved in different ways.

Simple Quizzing

These programs automatically generate quizzes based on notes you create on a spreadsheet. One of the programs even allows you to ask for hints. This would be best used when you are expected to know a term based on limited hints of its defintion. You can check out or use the programs at github.com/KEYS248/simple-quizzing.

Automated Email

I wrote some programs that can automatically read and respond to your emails. There are many possible uses for these types of programs including automated responses to specific messages, being able to control and get notifications on processes being run on remote computers, and pre-written emails scheduled to be sent later.

Some basic examples for your configuration purposes are on my GitHub repository at github.com/KEYS248/simple-email-parsing.

My current setup with this concept has a simple camera integration and continuously reads through inbox emails until it recieves an email requesting a current picture of the room. At this point it takes a picture of the room and attaches that image in a response email to the person requesting. This system can easily be developed further to build a simple home security or monitoring system that continuously takes images of an area and stores them online for remote access.

Website

I decided to create a space where I could more neatly organize and showcase my various projects. I also wanted to learn some HTML and CSS on my own over a school break using the school's access to Lynda.com.

I watched a number of their videos, purchased a domain name on Google Domains, wrote my HTML and CSS, and hosted my website on GitHub Pages. The outcome is this current website you are on. The source code is open on GitHub at github.com/KEYS248/keys248.github.io

GitHub Pages is a great way to host your own website in a safe and open way. Because of this I plan to create a walkthrough in the near future in order to guide people through creating their own site using this tool.

Terminal Workshop

As part of a club workshop for the NYU BUGS Open Source club, I created some entertaining exercises to teach the basics of the Unix Terminal. The workshop is on GitHub at github.com/BUGS-NYU/TerminalWorkshop.

I would say it is easier to learn if you already have some computer science experience or are comfortable with computers in general. Either way, it is without a doubt a very powerful tool for many purposes and worth knowing.

I have come to love command line interfaces and would highly recommend first starting out by learning some of its history through a Google Slides presentation I've created at bit.ly/BugsTerminal. After this I would recommend continuing on to the exercises.

Pong

As part of an assignment for one of my earliest computer science courses, we were tasked with creating a very simple Java game using Processing and PApplet tools. I found my game entertaining so anyone interested is free to play with it and it may also help them get a better understanding of how Processing and PApplet work. The repository can be found at github.com/KEYS248/pong-papplet.

Sticky

This was the first program I was proud of and it was a product of my first ever computer science class. The assignment was to create a simple text-based pick up sticks game with an extra credit of making it smart. There is an algorithm to the game and my program makes use of it. The chances of success are 25% if you know the algorithm, but much lower without. Try it out at github.com/KEYS248/sticky.