Introduction to Genboree KnowledgeBase

The Genboree KnowledgeBase (GenboreeKB) is an integrated software service developed at the
Bioinformatics Research Laboratory (BRL) that allows:
  • storage of data in user defined collections in a document based Mongo database
    and
  • visualization and management of the data in a flexible, custom developed plugin in this Redmine web application.

Data stored in GenboreeKB can be accessed programmatically via the REST APIs or by using the GenboreeKB UI hosted at http://genboree.org/genboreeKB/.

GenboreeKB Software Service

A GenboreeKB service currently hosts one or more hierarchical document collections, each collection having a user-defined model (schema) consisting of a nested hierarchy of property-value pairs that is serializable as a JSON file. Each property in the document has a value whose type is defined in the model.

GenboreeKB supports both usual primitive data value-types such as string, integer, float and others as well as more complex data value-types such as ontology-backed types (via the bioontology.org REST API) and links to other GenboreeKB documents via the Genboree REST API.

Accessing GenboreeKB

Genboree Account

To access GenboreeKB, you will first need to establish Genboree credentials (user name and password) at www.genboree.org. Click the button LOGIN/REGISTER at the top right corner of the page to create a new Genboree account.

You can use the same account for accessing the Genboree Workbench, Genboree Commons and GenboreeKB.

GenboreeKB Account

The GenboreeKB UI is a custom plugin added as a module in a Redmine project. Using your Genboree credentials, log in to GenboreeKB at: http://genboree.org/genboreeKB/. This step links your Genboree account to GenboreeKB.

User Roles and Permissions

Each GenboreeKB is linked to a dedicated Genboree Group and Database. Access is controlled per Genboree group and Redmine project, following well established practice. You will be granted access by being added as a member to the Genboree group and Redmine project that is associated with a KB.

You must be a member of the Redmine project as well as the associated Genboree Group to access a GenboreeKB.

Members may have different roles, as described below.

Role Genboree Group Redmine Project
Administrator Has ownership access to all contents in the group.
Can delete, edit or add users to group.
Can upload and delete files in any of the databases in the group.
Can delete any databases or group.
Has ownership access to all contents in the project.
Can delete, edit and add users to project.
Can upload and delete docs in any existing GenboreeKBs in the project.
Can close project so it is read-only.
Author Has read/write access to all contents in the group.
Cannot delete, edit or add users to group but can upload / delete files in any of the databases in the group.
Cannot delete any databases or group.
Has read/write access to all contents in the project.
Cannot delete, edit or add users to the project but can upload / delete docs to any of the GenboreeKBs in the project.
Cannot close project.
Subscriber Has only read access to contents in the group.
Cannot create databases or upload / delete files in any of the databases in the group.
Cannot delete any databases or group.
-
Reporter - Has only read access to contents in the Project.
Cannot create GenboreeKBs or upload / delete docs in any existing GenboreeKBs in the project.
Cannot close project.

Key Components of GenboreeKB

Collections

A GenboreeKB collection:
  • is a homogenous grouping of MongoDB documents.
  • is the equivalent of an RDBMS table.
  • exists within a single database.
  • is defined by a data model or schema.
  • can have multiple documents, each conforming to the specific data model.

Data Model

A data model describes what a valid stored document will look like. The model defines the property names, data value domains or types, any sub-properties, and other key information. The model document will follow certain rules. See Data Model Schema for detailed information on data models.

Document

A document is a record in a MongoDB collection and the basic unit of data in MongoDB. It is a data structure composed of field and value pairs. MongoDB documents are similar to JSON objects. The values of fields may include other documents, arrays, and arrays of documents.

GenboreeKB stores hierarchically organized (i.e. nested) key-value pair documents. Each key ("property") in the document can have a specific value, as well as sub-properties nested below it. This combination of key-value pair plus the sub-property aspect results in the hierarchical document. See Data Document for more details and illustrative examples.

Property-value Pair

Each property-value pair in a data document is a set of two linked data items: property and value. The property (or key) is an identifier for some item of data. The value is the data itself or a pointer to the data.


Data Formats

JSON Format

JSON, or JavaScript Object Notation, is a lightweight, language-independent, open standard, data interchange format that uses human-readable text consisting of attribute–value pairs. A JSON document in GenboreeKB is a collection of fields and values in a structured format. JSON is the native format of all documents in GenboreeKB. See JSON Format for more details and illustrative examples.

Tabbed Format

The tabbed format has the same information as the JSON formats - it is just represented differently in the form of tab separated values. See Tab Separated Value Formats for more details and illustrative examples.


Is GenboreeKB Suitable for My Project?

The answer to this question depends on the needs of your project. This documentation provides a clear insight into the various features of GenboreeKB. Additionally, GenboreeKB REST-APIs (documentation will be added soon) provide a high level of access to data and data model schemas, making these resources readily available for tools, portals, pipelines and "apps". Current GenboreeKB design is highly compatible with the new JSON-LD and Linked Data Platform 1.0 standard; we anticipate achieving full compliance with this standard in the near future. If you would like to explore the possibility of using GenboreeKB for your research needs, feel free to contact to discuss further.


Current Applications of GenboreeKB

This service is currently used by:
  • the Clinical Genome Database Project for storing curated sets of genome variants of clinical significance
  • the Extracellular RNA (exRNA) Communication Consortium Project for storing metadata information on exRNA profiling experiments. GenboreeKB exRNA Metadata Tracking System stores various metadata objects like Experiments, Studies, Submissions, Runs, Biosamples and Analyses in dedicated collections. More details on these exRNA Metadata schemas can be found in this Wiki: exRNA Metadata Standards

Useful Links

  • MongoDB - MongoDB is a document database that provides high performance, high availability, and easy scalability.
  • Redmine - Redmine is a flexible project management web application. Written using the Ruby on Rails framework, it is cross-platform and cross-database. Redmine is open source and released under the terms of the GNU General Public License v2 (GPL).
  • BioOntology REST API - BioOntology contains a comprehensive repository of biomedical ontologies.