BioHive: Bioinformatics blast from the past

July 7, 2016 at 10:30 am (Computer Science, Processing, Programming) (, , , , , , , )


Lately, I’ve been combing through some of my old projects so I can index and archive them. Among these old projects was my BioHive code; a bioinformatics visualization tool I wrote years ago. It was an attempt at exploring genome comparison data sets. It was actually the first non-trivial Processing (P5) app I wrote.

Different genomes would get organized into layers (indexed using colour) and nodes would be joined together based on similarity strength. Thickness of the lines would indicate connection strength, and filters could be applied to reduce clutter. Selecting a node in a layer would show information on the genome it represented as well as the top similar genomes.

These are a few screenshots of the app. In this example, Syphilis is the point of interest and they are just different views of filtered results.

Permalink Leave a Comment

Latest Project: Node.js + Bootstrap + D3

July 3, 2016 at 5:07 pm (Computer Science, JavaScript, NodeJs, Programming, Rant) (, , , , , )


I’ve started putting together an app I’ve been planning for a while. I’ve been trying to select a tech stack that would allow me to focus on the “meat” of my idea instead of spending too much time setting up boilerplate stuff. In the past, I’ve ended up wasting days justĀ setting up technology stacks and libraries just to find a limitation that would eat up even more of my time or even flat-out block further progress. This time around, I think I should be okay; I’ve selected Node.js and Express for my launch point.

I’ve decided not to bother with MEAN.IO right now since I won’t need MongoDB right now and I’ll be using D3 (the visualization library) instead of Angular. Express provides me with the basics for routing and serving web content (more stuff I don’t have to do). I’m still not really a fan of Jade/pug as a template engine, but it’s workable.

I’ve also added an REST API on top of it for accessing my Trello account (via it’s own REST service). I’d like to do some sort of interesting visualization of my content using D3, so now that I can serve up the data I’ll need, I can actually start building the good part.

One of other boilerplate tasks coming up is to set up a client-side package manager (Bower) to manage my dependencies. I will likely also need a task-runner to build my project stuff, although I’d like to consider using NPM for that instead of Gulp/Grunt.

Permalink Leave a Comment