- Introduction to Genboree KnowledgeBase
- Key Components of GenboreeKB
- Data Formats
- Is GenboreeKB Suitable for My Project?
- Current Applications of GenboreeKB
- Useful Links
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
- 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.
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.
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
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.
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.
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.
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.
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.
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 firstname.lastname@example.org 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
- 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.