EMBOSS and primer3
Posted: 2012-07-30 Filed under: academic, slackbuilds | Tags: emboss, primer3, slackware Leave a commentI finally figured it out. Since primer3 version 2.2.3, its EMBOSS wrapper eprimer32 somehow did not work. I was wondering what the problem was and did not submit any updates of my primer3.SlackBuild for the sake of compatibility with EMBOSS. However, these days I was preparing updates for EMBOSS.SlackBuild and EMBASSY.SlackBuild to version 6.5.7 when something about the documentation of primer3 in EMBOSS-6.5.7/README
caught my attention. It read:
EMBOSS application eprimer32 launches primer32_core and expects this to be a renamed primer3_core from version 2.x of the program. primer3’s configuration files also need to be installed. The original application looks by default in
/opt/primer3_config
.
I had skipped installing the /opt/primer3_config
directory before, since packages for some other distributions did not include it. A mistake… In Slackware, such architecture-independent data should better go to /usr/share/
and after examining the primer3 source RPM for Fedora, it seems that two files need to be changed before compiling: thal_main.c
and primer3_boulder_main.c
in primer3-2.3.4/src
. The fix goes something like this in the SlackBuild:
# Look for configuration files in /usr/share instead of /opt sed -i "s:/opt/primer3_config:/usr/share/$PRGNAM/primer3_config:g" thal_main.c primer3_boulder_main.c
Further reading the documentation of primer3 in /primer3-2.3.4/src/release_notes.txt
revealed the following for release 2.3.0 2012-02-03:
1.4 To make old defaults easily accessible, we added a command line argument,
--default_version=1
, which directsprimer3_core
to use the old defaults.--default_version=2
directsprimer3_core
to use the new defaults. The default is--default_version=2
.
I had a working primer3.SlackBuild for version 2.3.4 and made a simple wrapper: /usr/bin/eprimer32_core
to start primer3_core
as follows:
primer3_core --default_version=1
Now eprimer32
worked! So, which one solved the problem? Did eprimer32
want to launch primer32_core
with the old settings or it required the primer3_config
directory? Actually — it seems either one alone makes eprimer32
work. Therefore I will include the primer3_config
directory with the next primer3.SlackBuild update and just make a symlink between primer32_core
and primer3_core
:)
heh… the SlackBuilds.org submissions page is closed at the moment, so these will probably go for the new, nice and shiny Slackware 14 :)