[Biojava-dev] Biojava Structure and its derivatives are PDB centered

Amr AL-HOSSARY amr_alhossary at hotmail.com
Mon Dec 9 10:33:34 UTC 2013


Dear Biojava Development team,

 

I noticed that we don't implement a reader/writer for MOL2 file format and I
thought of implementing one.

But I noticed that the Structure interface (and almost all structure-related
classes are PDB centered).

 

For example, AtomImpl is an implementation of the interface Atom.. sounds
nice.

AtomImpl is mentioned to be an implementation of an Atom of A PDB file, and
so it implements Atom, Serializable, and PdbRecord .. hum that sounds logic,
although it should have been called AtomPdBImpl, but no problem.

Now Atom itself extends Serializable and PDBRecord !!!!!!!

In PDBRecord there are two overloaded forms of toPDB(). That is logic, but
what is not logic is letting Atom (as an abstract definition of Atom)
implements PDBRecord and passing toPDB() to all implementing classes.

 

IMHO, the solution to this mess is to introduce an interface called Parsable
or Persistable, including methods read() and write(), and implementing
objects would implement it in different ways.

Or simply to create a helper class that takes the Atom object and write the
appropriate format.

 

A similar problem is present for Structure and StructureImpl in a less
severity form.

 

 

Another solution is to rewrite the structure package in the
org.biojava3.structure with the new PDB-free mind orientation.

 

 

Regards

 

Amr

 

 

Best Regards, 
Amr AL-HOSSARY 

 




Amr Ali AL-HOSSARY |   Ph.D. Student | International PhD program in
Computational Biology and Bioinformatics | School of Computer Engineering |
Nanyang Technological University | Singapore (GMT+8) |  Email:
<mailto:aalhossary at pmail.ntu.edu.sg> aalhossary at pmail.ntu.edu.sg |  Mobile:
+65-94572816 

 

 

 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 5258 bytes
Desc: not available
URL: <http://lists.open-bio.org/pipermail/biojava-dev/attachments/20131209/a2849ac7/attachment-0002.png>


More information about the biojava-dev mailing list