No more support
I've spent some time thinking about the various projects I've been working on, and that I'd like to be working on in my grad school future. Surprisingly, I'm really happy with them, and I'm eager to delve into all of them, with one major exception: I think I'm sitting on a potential train wreck.
From a project planning perspective, the one major issue that I foresee is that I'm inheriting a legacy of a few 10's of kloc (thousand lines of code) done in Java. I'm not really proficient in Java, but it's not hard, compared to some of the other languages I've used - that's not the issue. The big problem is that almost all of it takes advantage of something called the Ensembl API, which is a quick way for programmers to access all sorts of fantastic functions and data related to various genomic information. It's a fantastic resource, but Ensembl (who made the API) has decided to stop supporting the java version in favour of the Perl version.
Even now, I'm stuck using the annotations from version 41 of the Ensembl Human Genome, whereas v.43 is the most current. How much difference will this make? Probably not much, at the moment. However, in the long term, I think that could become a major issue.
Now, I have worked in Perl before, years ago, so that's not a problem. But what do I do about the 10kloc? Recreating it will take the better part of a year, at least. For now, the solution is to postpone the decision, but I think that'll only work for another month or two. Eventually something is going to give, and I'm just going to have suck it up and redo all of the code we've got in house. Yuck.
Labels: Code planning