[Biojava-dev] Vecmath in biojava
Jose Duarte
jose.duarte at psi.ch
Thu Nov 28 17:13:04 UTC 2013
Hi biojava-ers
I am a long-time follower of the biojava project but never wrote to the
list or contributed to the project, so here is my official presentation.
I work mainly in protein structure analysis and develop in java.
Together with some colleagues we took the decision quite some time ago
to go our way and developed our own library for structural
bioinformatics ( http://www.bioinformatics.org/owl/). Which in general
was a good idea and allowed for a lot of flexibility. Of course we knew
that at some point joining a bigger project like biojava would always be
a better option in the long term.
After talking to Andreas at the PDBx workshop I think that this is the
right moment to try joining in. For us that would mean a lot of code
rewriting but surely it will be beneficial for us and hopefully also for
the biojava project as we could contribute quite a lot of code back.
The main project I am working on at the moment is protein interface
classification in crystal structures (see our website
http://www.eppic-web.org <http://www.eppic-web.org/>). It involves
mainly structural calculations so it should be possible to do with the
structural modules of biojava. For instance some things we do are
reconstruction of the crystal lattice from the asymmetric unit or
accessible surface areas (ASA) calculations.
So for now I will try to do my first contribution into biojava by
contributing the ASA code (an implementation of Shrake and Rupley's
algorithm). So there I have my first question already:
I see that the javax.vecmath library is not used in biojava. I find that
strange since it is natural thing to use in dealing with 3D objects. For
instance in our OWL framework we have used it extensively and it was
very useful indeed. Our atom coordinates were represented as Point3d
objects, which for instance allows for usage of built-in methods for
transformations (represented as Matrix4d objects) and in general any
kind of vector maths, necessary in almost any structural analysis.
For instance in the context of ASA calculations I need to sample 3D
points on the atoms' spherical surfaces (so these points are not atoms).
There I used Point3d again and it seemed very natural. Of course one can
instead use arrays or create a vecmath library ourselves but that seems
overkill when a vecmath library exists already and is "almost" part of
the core java libraries.
So what is the opinion about using the vecmath library? could atom
coordinates be represented as Point3ds? would it be a major issue to
change that implementation? are there alternatives to that within the
existing framework? I have only read some parts of the code and I'm not
yet very familiar with it, so apologies in advance if I ask too obvious
questions!
Cheers
Jose
---
Jose Duarte
Laboratory of Biomolecular Research
5232 Villigen PSI
Switzerland
More information about the biojava-dev
mailing list