Technical Aspects

Bonaparte is based on client-server architecture. This means that the computational core—the part of Bonaparte that actually computes the probabilities—and the Bonaparte database run on a dedicated server (or servers). Clients communicate with this server over a network. Since all computations are performed on the server, you don′t need expensive client hardware.

Bonaparte′s core runs on a Java application server. By default this is Apache Tomcat running on FreeBSD UNIX. The default database is MySQL. Bonaparte′s client runs in a web browser. It is developed on/for Firefox, but any browser that supports Scalable Vector Graphics (SVG) should work—browsers that do not support SVG show the images as bitmaps.




Features

  • Concurrent user system with UNIX style access rights.
  • Database with "roll back" capability
  • Automated import from existing data sources (for example: CODIS) through XML
  • Automated (scheduled) matching procedures
  • Matches against elimination profiles to find contaminated samples
  • Custom population statistics and mutation models
  • Manual matching procedures
  • AJAX (GWT/GXT) based web interface--Java interface is in development
  • Drag and drop pedigree editor
  • Supports import of Microsoft Excel files with profile data (STR, Y-STR and Mitochondrial DNA)
  • Modular design: easy to add multiple servers with load balancers or another GUI
  • Abstraction techologies such as iBatis and JServlet allow for easy change of components ( e.g. switch MySQL to PostgreSQL or Tomcat to JBOSS)





The XML Data Interface

There are two ways of getting data into Bonaparte: via the Excel import functionality provided in the graphical user interface (only STR, Y-STR and Mitochondrial profile data) or via the XML import (any data; for example profiles, individuals, pedigrees and sample information). The latter option is used to connect the system to existing infrastructure. The use of XML as import format ensures that data from any source can be imported, whether it is coming from CODIS, Postgresql, Excel files or even text files (from robots). All imported data is validated against rules in XML Schema (XSD) files. The XML format documentation is available upon request.




The Graphical User Interface

For the GUI we choose an AJAX based approach (using GWT). The use of asynchronous communication ensures that users suffer a lot less GUI lag than is the case with conventional web sites. The pedigree editor is not implemented in Javascript but as Java applet (thus requiring clients to have Java 1.6 enabled in their browsers). Due to the drag and drop functionality, the pedigree editor is too complex and computationally intensive to be implemented using Javascript.




Try our fully operational demo

A free demonstration version of the Bonaparte system is available, but since the system is client-server based you cannot simply download it. Instead we have Bonaparte running on one of our servers. All you have to do is register (if you have not already done so) and use the credentials we provide you to log on.