Bri is studying Biological Engineering and is very interested in genes and wanted to visualize the connections between them. Zach thought it would be a cool project for Bri to have fun at her first hackathon!
What it does
Visually gene networks for enhanced understanding of gene interactions. This will help with gene-targeted therapies and other gene studies.
How we built it
First we mined all of the data from TRRUST and PubMed. TRRUST made the data freely available so that was just a download away. For PubMed, we used the PMIDs from TRRUST and scavenged their website with 8 concurrent workers to get all of the data in a reasonable time frame.
Once we had the data, we investigated various libraries for plotting the networks. We decided on Sigma.js because it could handle the massive load of around 3000 nodes and over 9000 connections. We built the website using Bootstrap and hosted it on Heroku with a lightweight Flask server.
Challenges we ran into
- staying awake at the beginning... oops
- learning syntax (stupid commas)
- VIM :cold_sweat:
- finding a network library that could handle the load
- making Sigma.js render the nodes in some kind of hierarchical structure on a click event
- making Bootstrap work when we didn't realize that we were just missing an image...
- learning how to use APIs without any prior knowledge of what an API is
Accomplishments that we're proud of
- learning a LOT quickly
- Bri's first functional website
What we learned
- what an API is
- how to use a terminal
What's next for Gene Net
- more data
- more visualizations
- more refined/cleaner visualizations
- other kinds of analyses about genes (maybe applying machine learning?)...