NEUROSEEK, A HUMAN BRAIN KNOWLEDGE MANAGEMENT SYSTEM
There are countless databases and information sources about the brain. Only in 2012 almost 53,000 research papers related to the human brain were published, 145 every day.
This project was started at the beginning of year 2009. After 3 years of hard work, we present the first version of NeuroSeek, a Human Brain Knowledge Management System. Now, when the main core of this system has been tested intensively we have decided to make it free.
In this project we have assembled, and ordered by evidence, anatomical, pathological, cognitive domain, pharmacological, genetic and protein information of the human brain. The user have access to a brain atlas where you can see the behavioural domains related to each anatomical structure or connections with other structures, as well as genes related to each disease, volumetric data of a healthy or Alzheimer's disease brain, the pharmacological actions of a compound, etc.
The main challenge we had to face was how to group the different information sources we had in a single platform. With more than twenty source types, each one required a complete study about the data it contained, and, more important for the technical design, how it was structured. A Java tool for every data source was developed.
After analyzing some of the most widely spread NoSQL, we decided to use MongoDB, as we expected our system to be accessed dynamically by users who would want to ask different and complex questions.
The real value of the data sources our clinical experts had selected was the relations between concepts. Those relations weren’t just restricted within the data sources. They relate to concepts in other data sources. Having all of them in a common space, our MongoDB database, we were able to establish these relations, so we created data models for each relation our clinical experts detected in the data sources. That way, we could navigate through one concept in our database, which came from the first data source, to another concept from the last data source directly.
Above this base, we built a Web application using J2EE. For the internal architecture, Spring was selected as our framework, making the application well modularized, with independent components isolated but working together, and easy to maintain. A third-party library (Morphia) was used to manage the database. And, finally, the view layer, the interface the user would use to access Neuroseek.
We needed a powerful searcher, one that could find an entity by any of the used terms, and, as those names are complex, fail-tolerant, Apache Solr was used.
As our application was purely a web application we used HTML5 and CSS3 standards, and other like WebGL for our visual components. Between the technologies used for these visual components we can find WebGL (three.js), SVG (Protovis) and pure HTML5 (Processing.js).
Along with the MongoDB database, we created a new Neo4j database where we modelled the relations between our entities. But not the raw data sources: Our own high level entities.
With that engine behind the scenes we created a powerful tool to navigate through our knowledge, the Brain Concept Navigator.
As a result we have created a Knowledge database system about the human brain, both normal and pathological.