Wednesday, November 14, 2012

Quick Note: genewise and glib

I've been trying to set up genewise for use with CEGMA, which turns out not to be the most straight-forward setup I've had to do. I'm compiling genewise 2.4.1 on Opensuse 12.2. There are some hints how to get this going on Ubuntu here, but installing glib1 is not an option for me. I can get it to compile and provide sane looking output for the (few) examples I tested as described below.

No guarantee that this works (properly, or at all):

I'm assuming the source has been downloaded and unpacked (and that the required packages for compiling source are present). Go to the src/ subdirectory of the inpacked wise2.4.1 source. To fix the problems described on the page linked above (conflicting types for ‘getline’ and undefined reference to `isnumber'):

sed -i.old 's/getline/getline_new/' HMMer2/sqio.c
sed -i.old 's/isnumber/isdigit/' models/phasemodel.c

To get genewise to compile using glib2 (the whole glib-config not found and glib.h: No such file or directory errors), do (two commands, one line each):

find ./ -type f -name "makefile" -exec sed -i.old 's/glib-config --libs/pkg-config --libs glib-2.0/g' "{}" +;
find ./ -type f -name "makefile" -exec sed -i.old 's/glib-config --cflags/pkg-config --cflags glib-2.0/g' "{}" +;
If you tried to compile before, run make clean first. After this run make all to compile. Running make test does not work for me, but manually running some tests does work. Don't forget to set the WISECONFIGDIR variable for your shell!
I don't have time to extensively test this now, so be warned.