Wednesday, August 15, 2012

Code Harvest: The Refactoring

I've been hacking on bioinformatics code for four years now, but until now the only work I've really made available to "the community" is in Biopython, mainly Bio.Phylo.

The code I write in the lab is under one big Mercurial repository called esgb; there's a shell script to install everything, including a bunch of scripts, sub-projects and a sprawling Python library called esbglib. Most of my Python programs depend on some functionality in esbglib, and usually Biopython and sometimes SciPy as well.

Having signed the Science Code Manifesto, duty calls for me to bundle some of the programs I've written with the next paper I'm working on, and so I've begun a mighty refactoring of esbglib to extract the general-purpose, reusable components into Python packages. At the moment it looks like I'll end up with two: biofrills and biocma.

Wednesday, August 1, 2012

The well-organized data science project


Someone recently asked me about the basic setup a computational scientist needs to conduct research efficiently. I'm pretty satisfied with my current arrangement, which was inspired by this: "A Quick Guide to Organizing Computational Biology Projects"

My work is organized into individual "projects" which are each supposed to become papers at some point. I keep each project in Dropbox to ensure everything is synced and backed up remotely all the time -- no file left behind. I also use Mendeley, with a folder for each project's references. Mendeley can generate a project-specific BibTex file from a folder.

A well-organized project might look like this:

Monday, January 16, 2012

Building an analysis: How to avoid repeating intermediate tasks in a computational pipeline

In my projects, I tend to start with a simple analysis of a limited dataset, then incrementally expand on it with more data and deeper analyses. This means each time I update the data (e.g. add another species' protein sequences) or add another step to the analysis pipeline, everything must be re-run -- but only a small part of the pipeline actually needs to be re-run.

This is a common problem in bioinformatics:
http://biostar.stackexchange.com/questions/79/how-to-organize-a-pipeline-of-small-scripts-together

How can we automate a pipeline like this, without running it all from scratch each time? This is the same problem faced when compiling large programs, and that particular case has been solved fairly well by build tools.

Wednesday, November 2, 2011

Journal article: Comparative kinomics of the malaria pathogen and its relatives

Hot off the presses!
Structural and evolutionary divergence of eukaryotic protein kinases in Apicomplexa

It's a thorough paper, so I'll cover the highlights here.

Why we study apicomplexans

Apicomplexans are a group of related single-celled organisms which are exclusively parasitic. The best-known member is Plasmodium falciparum, which causes the most virulent form of malaria. Another well-studied species is Toxoplasma gondii, which primarily lives in cats but can infect most mammals.

It's a hugely diverse group. But overall, we know very little about them.

Our main motivation for studying apicomplexan proteins is to find what features make them distinct from human proteins, so we can then design drugs to target those features specifically -- the drug will identify and disable the parasite protein without the risk of affecting the host proteins, too. We study protein kinases, in particular, because a number of drugs have already been designed to inhibit kinases in cancer. The same or similar compounds could be used to treat parasitic diseases, potentially.

Friday, October 28, 2011

Journal article: Our insights into the structure and activation mechanism of ErbB/EGFR protein kinases

Here's an article my lab published in PLoS One:
Co-Conserved Features Associated with cis Regulation of ErbB Tyrosine Kinases

I'll give a quick summary of it here. (Don't worry, this isn't a new direction for this blog.)

This is a study of the structural mechanisms of a certain protein family, called ErbB or EGFR (epidermal growth factor receptor), which is frequently involved in cancer. This family belongs to a protein superfamily called protein kinases.