BrainML is the centerpiece of a larger effort to enable the creation of neuroscience data resources and maximize the utility of the data they provide. BrainML-X is a set of protocols for the query and transfer of BrainML data between applications and across networks. The Neurodatabase Construction Kit is an open-source Java software library for building BrainML-aware applications.
The BrainML exchange protocols (BrainML-X) are a set of specifications and protocols for exchanging neuroscience data in the form of BrainML documents over the internet. The BrainML-X protocols center around the notion of a repository or "neurodatabase", and the means by which data may be queried from and submitted to it. A secondary focus is on indexing the repositories themselves, so that researchers searching for a particular type of data can find repositories housing it.
Levels of BrainML-X conformance are defined to allow data providers to put up repositories with less effort than full compliance would require while still providing known levels of functionality for users and software clients.
This specification grew out of an earlier proposal developed by the Laboratory of Neuroinformatics called GENIE (GEneralized Neuroscience Internet Examiner), but it differs in its architecture (a hub-and-spoke model for resource navigation vs. a peer-to-peer model for data publication) and in its tight coupling to the BrainML XML language. The specification is described further here.
Neurodatabase Construction Kit
The Neurodatabase Construction Kit is an open-source Java software library being developed by the Laboratory of Neuroinformatics to work with BrainML data. Each component of the Kit configures itself dynamically at run time to the details of a particular BrainML model, in effect serving as "customized" software for the type of data it describes. The Kit contains four major components:
- Repository Server
- A web-accessible neuroscience data repository
("neurodatabase") backed by a relational database. The
relational database stores submission metadata and supports
search; it can also optionally store the data itself. The
repository provides two interfaces: the first an HTML interface
allowing users to search for, access, and submit data, and the
second an XML-based web service providing these same functions
to software clients. This XML exchange is defined by BrainML-X
- Query Tool
- A Java-based local workstation client application that
communicates with a repository (using its XML interface) to
allow a user to search for and retrieve data.
- Data Entry Tool
- Also known as the Upload Tool: a Java-based local
workstation client application that communicates with a
repository (using its XML interface) to allow a user to submit
- Virtual Oscilloscope
- A Java-based component, incorporated into both the Query and
Data Entry tools, but available separately, for displaying plots
of data such as spike trains and time series. These data types,
common to many neuroscience experiments, are expressed using the
data containers defined in BrainML base.
The applications made available by the Neurodatabase Construction Kit can be viewed at neurodatabase.org. That software, written in cross-platform compatible Java, is 100% automatically configured based on the designated BrainML model at run time, and is therefore capable of supporting repositories based on any other valid BrainML model. It will be released open source in summer, 2006.