[Biojava-l] Help on Project Biojava

Spencer Bliven spencer.bliven at gmail.com
Mon Nov 21 11:10:44 UTC 2016


>
> • Mode-view-controller (MVC) (For interactive processing)
>

Biojava focuses mostly on providing models. However, the
biojava-structure-gui package has some visualization tools using Swing. As
a library, it's important for BioJava to have strong encapsulation between
the MVC components, since downstream users might be using a different
visualization package. There are a few places where MVC encapsulation is
poor, but these are important issues to fix (e.g. #396
<https://github.com/biojava/biojava/issues/396>)


> • Pipes and filters (or data flow) (For batch processing) - I think you
> follow this one!
>

BioJava 4 provided this through IO streams for parsers and writers. With
the move to Java 8, many of the newer APIs in BioJava 5 will
support java.util.stream, which provides filtering and parallelization
explicitly. BioJava is also compatible with Apache Spark, which enables
scaling map/reduce style processing across clusters.


> • Layered architecture (For complex systems with functionalities at
> different levels of abstraction)
>

Supported to some extent by the modular architecture of BioJava. BioJava is
designed to function as a library, so you could view it as a data modelling
layer embedded in some larger application by downstream users.


> • Repositories (data centric) (For accessing & manipulating shared data by
> multiple subsystems)
>

One of the core goals of Biojava is to provide access to popular
webservices (e.g. NCBI, EMBL, PDB).


> • Client-server and N-tier systems (For accessing shared data and
> resources from multiple locations)
>

This is more provided by downstream systems. For instance, the RCSB has
used a client-server setup for large-scale structural alignments. The
clients perform alignments using biojava, and then report results back to a
central server for aggregation (Prlic et al (2010) Bioinformatics. 26(23):
2983-2985 <https://doi.org/10.1093/bioinformatics/btq572>).


-Spencer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.open-bio.org/pipermail/biojava-l/attachments/20161121/cc81053b/attachment.html>


More information about the Biojava-l mailing list