Life at Sage

So I landed a new position at Sage Bionetworks and started six months ago.  My job is a great mix of research, outreach and project coordination, so right up my alley.  Recently we compiled short videos about life at Sage, so here is a video of myself and my colleague Mette riding into work!



See my answers to 101 questions

Earlier this week I was contacted by Keith Bradnam, at the UC Davis Genome Center, to participate in his “101 Questions with a Bioinformatician” series.

His blog has some great content about Bioinformatics education as well as insightful comments about Bioinformatics acronyms.

I’d definitely recommend following his blog (full list of Blogs To Follow forthcoming) as well as read the interview article.

Omics Integrator is now in Beta

Just a quick note to highlight that we are submitting the Omics Integrator Protocol and are recruiting Beta testers. To check it out, just head over to the Omics Integrator website and download the code.

This tool is ideal to improve interpretation of gene expression data, as it enables the identification of regulating transcription factors as well as a nice network algorithm to identify putative regulators of those transcription factors. Send any feedback to me and it can be incorporated into the work.

Code usability in computational biology

While providing a link to a tar.gz file to a colleague has long been the ‘gold standard’ of code-sharing in computational biology, parsing someone else’s code is often close to impossible.  So, I’ve been working to try to make some of the code we use in my postdoctoral laboratory more useable by people outside the lab.  It’s so easy to do some analysis in a basic script and publish the method but never share the code, so it’s fun to take the time to really make sure tools are usable.  I see three basic ways of sharing code, starting with most accessible.

Web Servers

Obviously web servers are the easiest way to make code useable. My SAMNetWeb tool enables users to upload and analyze data fairly easily, and the Fraenkel Lab has numerous other tools.  However, web servers are limited in their output and it’s easier to tune things using the code at the command line.

Code Modules

To rectify the limitations of web servers, I’m looking at package management solutions in Python.  These tools will take a python module and package it up so others can use it. Sounds great, right?  The current tool of choice is wheel, a tool that packages up a python module so that it’s ready for prime time. However, cookiecutter is another tool that can be used that helps populate a directory to facilitate packaging down the road.  I aim to start future repositories using this tool, so that when I get to the end of the project my tools will be easy to use by others.

GitHub repositories

Online code-sharing repositories are the most basic form of code-sharing.  I use GitHub for all of my code, and it’s makes it easier to track the changes and also keep my code publicly available for download.  I also use git internally for my working directories.