[Biojava-l] Porting an Algorithm to Java GSoC 2012
Amr AL-Hossary
amr_alhossary at hotmail.com
Tue Mar 20 01:39:33 UTC 2012
I agree with most of Scooter's opinions,
1) JNI can be used as an initial step, to use the current code until we work
out the License issues.
2) Also it can be used as a reference conversion implementation.
3) Then it would be better for the student to (digest) the algorithm and
rebuild it.
Here I add that
4) Even best converters can't map things like variables carrying array
length into simply array.length.
5) Using already built-in algorithm libraries (searching, sorting, data
structures) in java would be easier to maintain later on, plus being
optimized for Java data types.
Amr
-----Original Message-----
From: Scooter Willis
Sent: Tuesday, March 20, 2012 12:03 AM
To: Russ Kepler ; biojava-l at lists.open-bio.org
Subject: Re: [Biojava-l] Porting an Algorithm to Java GSoC 2012
3+ years ago we worked on a port of the reference implementation of the H264
encoder/decoder to Java. Performance was actually very good that we didnt
spend time on optimization. We used jazillian to do the initial conversion
and it does a nice job on fairly clean code. They are no longer in business
and I plan on contacting the developer to see if they would use their
software for the initial conversion.
Doing a JNI conversion will be fairly easy to model the input and ouput
paramaters of blast and/or hmmer. Neither code base is setup as a library so
the number of mappings that need to be performed is minimal. The complexity
of porting either from C/C++ to Java is high but also introduces a student
to the field and thus has potential long term benefit.
With JNI high degree of success with minimal work. I would advocate that the
initial effort is placed on conversion to determine the overall likelyhood
of success where much will depend on the student. JNI should be a
requirement even if conversion is successful.
JNI would also minimize GPL concerns of forking the HMMER codebase.
Scooter
----- Reply message -----
From: "Russ Kepler" <russ at kepler-eng.com>
To: "biojava-l at lists.open-bio.org" <biojava-l at lists.open-bio.org>
Subject: [Biojava-l] Porting an Algorithm to Java GSoC 2012
Date: Tue, Mar 20, 2012 8:06 am
On Monday, March 19, 2012 01:10:40 PM Andreas Prlic wrote:
> You are right, this is on a high level how such a conversion could be
> performed.
In my experience Java makes a poor C++ (or C) emulator. The "convert C++ to
Java" might make an "OK" first pass but in the end you're going to want to
recode critical sections in original Java. I've found that the really big
performance improvements are in using smarter algorithms in Java vs. some of
the 'brute force' approaches that work in C.
_______________________________________________
Biojava-l mailing list - Biojava-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/biojava-l
_______________________________________________
Biojava-l mailing list - Biojava-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/biojava-l
More information about the Biojava-l
mailing list