[Biojava-l] jni and emboss

Phillip Lord p.lord@russet.org.uk
09 Apr 2002 15:06:08 +0100


>>>>> "Guoneng" == Guoneng Zhong <Guoneng.Zhong@med.nyu.edu> writes:

  Guoneng> but currently sequence analysis tools are in C/C++, so is
  Guoneng> it possible to add more functionalities to java programs by
  Guoneng> accessing native codes (rather than the clumsy system
  Guoneng> calls)?

bioperl provides full access to EMBOSS already. I'm not sure about
biojava.

At one stage I quite fancied writing an EMBOSS wrapper using JNI
code. EMBOSS commands are defined using an external ACD file, which
defines exactly what parameters can be supplied so of course this sort
of thing is possible. And indeed there have been several people who
have done so. PISE for example generates code out in several
languages. Jemboss also is a Java front end to EMBOSS and is worth
checking out. I have no idea how it invokes EMBOSS. 

The issue of system calls versus native calls is I think a red herring
though. Ultimately if its under the hood and well encapsulated the
system calls are no more and no less messy than JNI. And the
performance differences are not likely to be significant anyway,
except for some of the more trivial commands. The time spent within
EMBOSS is likely to be significant. So the amount of time actually
launching commands is less of a worry. 

Phil