Cuckoo-host evolutionary dynamics
A perfect example of selection pressures: Some host species are very good at recognizing cuckoo eggs. In other species, however, this is not the case. Why? Because there, the cuckoos actually check if...
View ArticleMakefiles and concurrency
Makefiles offer an option for parallel execution, but there is a stumbling block: it is possible to create race conditions that can lead to corrupt output files if two Makefiles want to make the same...
View ArticleEvolvability and the rate-limiting step
Do complex cellular processes (like the cell cycle) have a single rate-limiting step? (I.e., do they follow the Arrhenius equation?) Intuitively, this seems to be the case, as there should be one...
View ArticleConvert Stockholm sequence format to Fasta
The original stockholm2fasta.pl didn't preserve the order of sequences. I fixed it to preserve the order:
View ArticleLinking a remote command line and the clipboard
Being logged in to a server via ssh and iTerm, I sometimes want to get the result of a remote command to the local clipboard. The commands pbcopy and pbpaste do this for the local machine, but don't...
View ArticleNew repo: local NCBI taxonomy database
I added some new functionality to the taxonomy repository at Google Code, creating a fork at BitBucket. The existing Python package already makes it possible to create a local database containing the...
View ArticleWhy should we apply Moore's Law to DNA sequencing?
In this chart of cost per megabase of DNA sequence, an extrapolation based on Moore's Law has been added. What's wrong with this? It starts in 2001, the year of the human genome. In 2001, only few...
View ArticleA bookmarklet for shortDOI.org
shortDOI is a URL shortening service that takes DOIs and converts them to short URLs such as http://doi.org/bb6, which is nice for emails and Twitter. You can add the bookmarklet by dragging this link...
View ArticleFrom FriendFeed to TwitterFeed: Losing the filters
These are the things I want to see in my feed: articles and papers you found and wanted to share, your opinions, your blog posts; to a lesser extent: your bookmarks. However, I these things don't care...
View ArticleComparing two-dimensional data sets in R
I wanted to fit a continuous function to a discrete 2D distribution in R. I managed to do this by using nls, and wanted to display the data. I discovered a nice way to compare the actual data and the...
View ArticleComparing two-dimensional data sets in R; take II
Davidcommented on yesterday's post and suggested to put the continuous fitted distribution in the background and the discrete, empirical distribution in the foreground. This looks quite nice, although...
View ArticleMekentosj Papers and Dropbox: get a bit more space
I use Dropbox to keep an automatic backup of my Papers library. However, I was scraping close to my space allowance, and discovered that Papers adds some temporary files to the "Library.papers2" folder...
View ArticleSSH to same directory on other server
In my work environment, home directories are shared across servers. I often realize that I need to run a script on another server, e.g. due to RAM requirements or other jobs running on the current...
View Articleggplot2: Determining the order in which lines are drawn
In a time series, I want to plot the values of an interesting cluster versus the background. However, if I'm not careful, ggplot will draw the items in an order determined by their name, so background...
View ArticleEmbarrassingly parallel BLAST search
A quick note: To blast a file with many proteins against a database, you can use recent version of GNU Parallel to fill up all CPUs (which the -num_threads option of BLAST doesn't do, as it only...
View ArticleA publicly mandated medical terminology with a restrictive license
Update: Good News! In the meantime, I've been contacted by MedDRA (most probably unrelated to this blog post) and after a fruitful discussion it seems to be possible for me to base SIDER on MedDRA. The...
View Article2D plot with histograms for each dimension (2013 edition)
In 2009, I wrote about a way to show density plots along both dimensions of a plot. When I ran the code again to adapt it to a new project, it didn't work because ggplot2 has become better in the...
View ArticleIntroducing parallelRandomForest: faster, leaner, parallelized
Together with other members of Andreas Beyer's research group, I participated in the DREAM 8 toxicogenetics challenge. While the jury is still out on the results, I want to introduce my improvement of...
View ArticleA new online viewer for multiple alignments
For my work on the alignment of coiled-coil proteins, I needed an alignment viewer that could highlight coiled-coil domains, since they contain less phylogenetic signal than other parts of the protein....
View ArticleCreating composite figures with ggplot2 for reproducible research
So far, I have been preparing composite figures by plotting the data using ggplot2, and then putting the panels together in OmniGraffle or Adobe Illustrator. Of course, every time the data is updated,...
View ArticleFitting with uncertainty using Bayesian inference
This is a mirror of my post on RPubs. The RMarkdown source can be found here.In this toy example, we assume that we’ve independently measured values \(x\) and \(y\) and want to find a linear...
View ArticleAvoiding unnecessary memory allocations in R
As a rule, everything I discover in R has already been discussed by Hadley Wickham. In this case, he writes: The reason why the C++ function is faster is subtle, and relates to memory management. The R...
View ArticleNew R package: a dictionary with arbitrary keys and values
Coming from Python, the absence of a real dictionary in R has annoyed me for quite some time. Now, I actually needed to use vectors as keys in R:library(dict) d <- dict() d[[1]] <- 42 d[[c(2,...
View ArticleDisplay element ids for debugging Shiny apps
My current Shiny project contains at least five tables and I constantly forget how they are called. So I whipped up a little bookmarklet that uses jQuery to show the id of each div and input. Some of...
View ArticleMy knitr LaTeX template: manuscript and supplement interleaved in one source...
Most of the time between starting manuscript and having it accepted after peer-review is spent writing, re-writing and re-arranging content. In Word, keeping track of figure numbers is a big pain, even...
View Article
More Pages to Explore .....