Expression Profiler Next Generation install

I installed Expression Profiler Next Generation (EPNG) on my site. My interest is in canabalizing parts of it to show gene expression clusters. Turns out that part uses SVG which is a poor choice–SVG requires a browser plugin, a separate install, and isn’t even available for Mozilla/Firefox (the Adobe plugin for Netscape 4.x seems to work on the Mac, but not on the PC).

But on to EPNG… It’s a beast, a Frankenstein monster of code, composed of bits of a host of web technologies stitched together. It’s Perl based, which is what got me interested in it. And it has a database backend (Postgresql or Oracle, though I was able to port it to Mysql). And there’s some Javascript, everyone uses Javascript. But the developers were not content, they use gobs of Perl modules, including some that require libraries (PGPLOT), and a set of cirucular module requires (the stats modules)! R is used for the stats, that makes sense, and some R modules, and then SVG because the fewer users the better, and SVG/Javascript to take advantage of the SVG, and some Java, just to mix it up. And some AJAX is thrown in to pull in dataset histories.

So it’s a large and sprawling. I found it hard to install. Admittedly, I made it harder than expected by porting it to Mysql, but it was a pain even apart from that. Among the install joys are the release not working–the database schema doesn’t match the code! Boy that was a fun set of bugs to find.

And one of the modules required, XML::LibXML::SVG doesn’t exist! Google doesn’t know about it! It looks to be a private or temporary module, perhaps it got converted to SVG–most of the API and function is shared by the two. I converting the code to use SVG, but it was a huge bother!

Detailed EPNG install log.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>