Important Disclaimer This is merely a description of some work I did on my own Casio PX5S. I am not a Casio service engineer, nor indeed anything to do with Casio. If you choose to do any work on your own keyboard you do so at your own risk. There is a nonzero chance that…
Defensive strategies to get through software paper reviews
Over the last few years I’ve had to review tens of software application papers. I’ve also been involved in writing a few of these (and have also conciously decided not to write papers for some of our software due to the amount of hassle involved). In many ways software papers are some of the worst…
Key points for developing training
The the ISMB workshop for Education in bioinformatics Gabriella Rustici gave an interesting talk on her “Top 10 tips for setting up a bioinformatics training course”. I agreed with pretty much all of the points and she covered a lot of the types of issues raised elsewhere (make course objectives clear, use well supported software,…
Diagnosing problems in SeqMonk R scripts
The major new feature in SeqMonk v0.30.x was the introduction of a bridge between SeqMonk and R, which allows the program to transparently run analyses in R from within the SeqMonk interface. This functionality makes it very easy to run popular algorithms such as DESeq and EdgeR without having to write custom scripts or go…
Merging STDIN and STDOUT in a gridengine submission
We recently hit a problem when trying to run a fairly simple script through grid engine. The script used an internal redirection to merge together STDIN and STDOUT before doing a final transformation on the result. A simplified version of what the script did is something like this: echo hello 2>&1 | sed s/^/prefix:/ …
Review of FREEneck saxophone harness
Update 6 Jan 2016: The people who make the freeneck harness have just released a modified version which addresses some of the problems I found in my original review – specifically the long rods down the back now come apart which should make it easier to alter the length, and also means that you can…
Fast subset selection by row name in R
Introduction One of the best features about R is the simple way you can use a number of different strategies to create subsets of large data tables. The basic selection mechanisms you have are that you can subset a data frame by providing: A set of column or row indices A set of boolean values…
Why is java not found on the command line after I’ve installed it?
The Problem A common problem we have reported from users of SeqMonk is that when they try to launch the program on a Windows system they get an error message saying that java could not be found, even though they have installed this and they can show that it works fine in their browser. When…
A new way to look at duplication in FastQC v0.11
Introduction After a long gestation we’ll be releasing a new version of FastQC in the near future to address some of the common problems and confusions we’ve encountered in the current version. I’ll write more about this in future posts but wanted to start with the most common complaint, that the duplicate sequence plot was…
Generating R reports with vector images from markdown with knitr
Introduction One really nice addition to a standard R environment is the ability to create reports which combine R code, comments and embedded graphical output. The original mechanism for doing this was Sweave, but more recently a second system called knitr has emerged which seems to be more flexible, and this is what I’ve been…