[Biojava-dev] [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-dev/attachments/20161121/cc81053b/attachment.html>
More information about the biojava-dev
mailing list