Welcome! This blog focuses on the role that good design plays in the succcesful online presentation of biological data. Topics include data visualization, user interfaces, general bioinformatics, open access publishing, and inspirational notes from the design world. Warning! It may also include mundane system level and software development tricks and the occasional project management rants.

If you want to leverage the RDS service on AWS, you’ll receive maximum benefit by converting MyISAM tables to InnoDB. Here’s a distillation of a useful approach outlined Another woblag on the Interweb

// Create a backup of your database
mysqldump -u USER -p MYSQLDB | gzip -c > /mnt/backups/mysqldb.sql.gz

// Log in to your mysql instance and dump a .sql to convert tables in batch
mysql> select concat('ALTER TABLE `',table_schema,'`.`',table_name,'` ENGINE=InnoDB;') from information_schema.tables where table_schema='mydb' and ENGINE='MyISAM' into outfile '/tmp/InnoBatchConvert.sql'
mysql> quit
shell> mysql -u root -p < /tmp/InnoBatchConvert.sql

// Confirm tables have been converted to InnoDB
mysql> select table_name, engine from information_schema.tables where table_schema = 'mydb';


Is Central Serous Retinopathy (CSR) the new carpal tunnel for a generation of over-stressed and over-loaded information workers who spend far too many hours per day staring at screens of varying dimensions?

Central serous retinopathy (or choroidopathy) is essentially a delamination of the retina when cellular layers that normally serve as a fluid barrier between the choroid and the retina begin to leak. This introduces a bubble or blister of fluid underneath the retina. This results in blurred and dimmed vision.

Although CSR is idiopathic, it has been linked to chronic stress, defined biochemically as elevated serum cortisol levels. This finding is corroborated by an increased incidence of CSR in those with Cushing’s Syndrome (chronic overexposure to elevated levels of cortisol.) Men are more often affected than women; with an age of onset between 20-50, averaging around 45.

I’ve been having progressively worse vision problems since December that I had attributed to floaters or sleep deprivation. Given the sad state of my own personal health care coverage as a self-employeed worker and the prevalence of holidays and work deadlines around the turnover of a new year, I didn’t get around to checking this out until this week. After a standard eye exam, I was tentatively diagnosed with Central Serous Retinopathy (CSR), confirmed a few days later by fluoroscein angiography.

My symptoms currently include a large purplish gray blotch almost dead-center in my field of vision; completely distorted visual acuity that’s not just blurry but makes straight lines look broken and covered with Adobe’s marching ants from using the lasso tool; micropsia (things appear smaller than the unaffected eye); loss of several aspects of color perception; and — surprise — everything looks dim and desaturated.

I’m certainly not a high stress individual. I’m not Type-A; I don’t go around yelling at people. I am, however, a perfectionist, although I’ve softened in my old age. Now I’m satisfied if things are done as best as they possibly can be with the time and team available.

I do work hard and I work long hours and have been doing so for many years.

Here’s a brief outline of a typical day for me.

Wake up early, anytime between 3-4:30 am. Roll over and check the time on my phone. Check my email. Read about things I need to deal with and decide to just get up. Espresso. Since I’m a teleworker, lunch was almost always a working lunch at my desk. And without any seminars or Bits ‘n’ Nibbles to attend in the afternoon, I’d work straight through until 6, 7 or 8, with a full work day of 15, 16, or 17 hours. Multiply that times seven and I was typically logging close to 100 hours a week, each week, weekends and holidays inclusive.

So what am I doing to change? First off, I’m no longer tethered to my phone. If I’m not working, I’m not answering work emails. I’m waiting until I’m actually at my desk to start working. And I’m making every effort to reclaim my weekends and holidays and not working at all. And I’m keeping my fingers crossed I retain my vision.


Nearly 50 years after Sydney Brenner’s letter to Max Perutz set the wheels in motion for the use of Caenorhabditis elegans as a potent genetic model system, leading eventually to six Nobel prizes and a global research community numbering in the thousands, a new threshold has been crossed.

Starting with the latest release of the C. elegans genome (WS232 in worm-speak), the genetic map is now FROZEN. Recombinational distances have changed very little over the last three years, a testament both to the fine granularity of the genetic map as well as — perhaps — to shifting tides in experimental approaches.

New mutations, deficiencies and rearrangements will still be placed on the map but simply assigned an interpolated genetic position.


A draft assembly of the 273 MB Ascaris suum genome has been published in Nature. A. suum is a model for human ascaris infection via the common round worm.


Running the Generic Genome Browser under PSGI/Plack

September 11, 2011

Here’s a simple approach for installing and running a local instance of GBrowse, leveraging the PSGI/Plack webserver web application stack. You don’t need root access, you don’t need Apache, and you don’t need to request any firewall exceptions (for now). Background Both the current implementation and installer of GBrowse are loosely tied to Apache. By […]

Read the full article →

An introduction to cloud computing for biologists (aka the 10-minute model organism database installation)

August 11, 2011

This tutorial will explain the basic concepts of cloud computing and get you up and running in minutes. No knowledge of system administration or programming is necessary. As an example, it describes how to launch your own instance of the model organism database WormBase. Introduction to cloud computing If you aren’t familiar with cloud computing […]

Read the full article →

Happy belated birthday, Mendel!

July 21, 2011

Photoshop art from my old grad school days.

Read the full article →

Debugging xinetd configuration problems

June 19, 2011

xinetd is great when it’s working but can be a complete pain to debug when things go wrong. As a start, try launching it in the foreground in debugging mode: /usr/sbin/xinetd -d -dontfork

Read the full article →

GitHub’s “Organizations” for distributed #bioinformatics dev; migrating from Mercurial

February 12, 2011

GitHub.com’s “Organizations” is a great tool for distributed bioinformatics teams. Here’s how I migrated some of our repositories from Mercurial to Git to take advantage of this feature After much evangelizing, weeping, and wailing, I finally convinced everyone at one highly geographically and functionally distributed projects that we should at least try consolidating our code […]

Read the full article →

Amazon Elastic Block Store for facile sharing and archiving of biological data

February 10, 2011

Amazon’s Web Services offers enormous potential for people who need to process, store, and share large amounts of data. And it’s a huge boon for bioinformatics. It’s cost effective and it’s fasta. Hah. Get it? It’s “>fasta”. Archiving and sharing data has never been easier. Here’s a quick tutorial on creating an Elastic Block Store […]

Read the full article →