Craigslist Adventure
I've only dealt with craigslist once and that was to buy chairs. It was one of the best buying experiences of my life. I saved about $90, substituted the trek to ikea for a drive down the street, and they came pre-assembled! Let's see if I can give someone else the same experience by selling my Canon EF 35mm f/2.8 lens for $170 on Craigslist.

Update [Jul 1, 2010]
The lens sold just 2 days after posting it for the asking price. Yet another successful craigslist adventure!

Posted by Matt on Jun 18 2010
Remove Spaces from Filenames: Unix
find . -name '* *' | while read file; do target=`echo "$file" | tr -d ' '`; echo "Renaming '$file' to '$target'"; mv "$file" "$target"; done;
Posted by Matt on Jun 18 2010
Sequence Alignments on GPUs

Introduction

The sequence alignment is an excellent example of how computers can be used to analyze biological data. Alignments are used everywhere in bioinformatics. An accurate multiple sequence alignment can reveal deep insight into how species evolve. NCBI's extremely powerful BLAST (Basic Local Alignment Search) uses sequence alignments to identify a given sequence's closest ancestors.

Using a computer's CPU, programs like ClustalW and T-Coffee can calculate small sequence alignments almost instantaneously. To a large degree, this is why BLAST is so fast. However, computing large multiple sequence alignments is an entirely different matter. Even on a 8-core 3.0 GHz computer, alignments involving dozens of species over a large portion of their proteomes can take hours, days, or months. It would be nice to speed this up a bit.

Enhancements have been developed, such as MUMmer: ultra-fast alignment of large-scale DNA and protein sequences. Excellent, but there's still the question: can we get even faster without buying large computing infrastructure?

Enter the GPU (Graphics Processing Unit). A $150 GTS 250 has 128 CUDA cores @ 1.836 GHz. Compare that to my $1,500 state of the art dual 3 Ghz quad-core Xeon machine at school. Clearly there is GPU power to be harnessed.

Luckily, this problem has already been addressed! MUMmerGPU computes on GPUs and is a drop in replacement for MUMmer. Excellent! So can we get this thing running?

Installing CUDA

Installing CUDA was easy. Download the appropriate installer from the CUDA download page. There are installers for Windows and several distributions of Linux. For the Linux installers just make sure to change the permissions to enable execution and run it in a terminal.

Details about running MUMmerGPU to appear shortly

Posted by Matt on Jun 17 2010
Bicycle
A bicycle rides over the tracks. Santa Ana June 2010.
Posted by Matt on Jun 16 2010
Bass Lake
North Fork, CA April 2010.
Posted by Matt on Apr 18 2010
Snowy Scene
April snowfall in North Fork, CA
Posted by Matt on Apr 17 2010