Blog Archive 1

Table of Contents

Smooth Scatter Plots

On March 24, 2006, Gregor Gorjanc contributed an example of how to use the smoothScatter() function from the Bioconductor geneplotter package. The blog entry provides links to other resources for plotting large data sets.

This inspired me to add four examples of smooth scatter plots to my collection of R scripts.

Recommended: Andrew Gelman’s Blog

Andrew Gelman is a professor in the Department of Statistics and the Department of Political Science at Columbia University. He is a coauthor of Applied Regression and Multilevel Models, by Andrew Gelman and Jennifer Hill; Bayesian Data Analysis, 2nd edition, by Andrew Gelman, John B. Carlin, Hal S. Stern, and Donald B. Rubin; and Teaching Statistics: A Bag of Tricks, by Andrew Gelman and Deborah Nolan.

Professor Gelman contributes daily to his blog, Statistical modeling, causal inference, and social science: Blog of Andrew Gelman’s research group, featuring Bayesian statistics, multilevel modeling, causal inference, political science, decision theory, public health, sociology, economics, and literature (the longest title that I know of for any blog). I have learned a lot about statistics by reading this blog.

An Old Sierpinski Fractal Drawing Program

I found a copy of the source code for a simple Motif-based program that draws a Sierpinski fractal. I had written this program in 1998 when I was still doing considerable development using Motif widgets. In order to compile the program, I had to install OpenMotif 2.2.3 on my PowerBook.

Stained Glass DNA Helix

The DNA helix that appeared in the upper right corner of each page on my old web site is made of stained glass and was constructed by my father-in-law, T. Calvin Cook, of St. Petersburg, Florida.

Patching SSAHA 3.1 (Part 4)

Early this morning I received an e-mail from Adam Spargo at the Wellcome Trust Sanger Institute. He has placed a link to my SSAHA 3.1 patch on the SSAHA home page.

Patching SSAHA 3.1 (Part 3)

After about 24 hours of debugging over three days, I found and corrected the bug that prevented SSAHA from running correctly on a PowerPC Macintosh.

On my web site at you will find a patch file that you can use to update the SSAHA 3.1 source code so it can be compiled using the GCC 4.0.x compilers available for Mac OS X and later distributions of Linux (e.g., Fedora Core 4).

Patching SSAHA 3.1 (Part 2)

This is a follow-up to my post on December 29, 2005, about patching SSAHA 3.1 so it will compile using the GCC 4.0.1 compiler.

I finally got around to compiling the patched version of SSAHA 3.1 using GCC 4.0.2 under Fedora Core 4. The patched version passes all provided test programs under Fedora Core 4.

However, under Mac OS X 10.4.4, three of the tests fail. Since the PowerPC processor uses a different byte ordering than the Pentium processor, I suspect the problem is in the SSAHA code that deals with byte ordering. I will continue to investigate since I want to run SSAHA on a Macintosh.

Details are provided on my web site at

Patching SSAHA 3.1

I attempted to compile SSAHA 3.1 on my Mac OS X computer using the latest compiler, GCC 4.0.1. Unfortunately, GCC 4.0.1 is much more finicky about C++ standards than the old GCC 2.95 compiler, and there were many errors that prevented building the software.

I updated the SSAHA 3.1 code so it would compile using GCC 4.0.1. At the same time, I fixed all compiler warnings (produced by the GCC -Wall flag) that I could.

I created and tested a patch file for modifying the SSAHA 3.1 code so that it can be compiled using GCC 4.0.1 (and, I hope, the GCC 3.3 and 3.4 compilers). I supply the patch file and detailed directions for using it on my web site at

Using Unicode with Perl

A question in one of the Yahoo Groups about Perl prompted me to learn more about how Perl handles Unicode. I wrote a complete example of a Perl script that writes UTF-8 to an output file, then reads from that file and carries out a regular expression match followed by a substitution. I added the example to my pages on intermediate Perl.