Skip to content

Libraries providing functionality for the QBiC/openBIS data model

License

Notifications You must be signed in to change notification settings

qbicsoftware/data-model-lib

Repository files navigation

Data Model Library

Data Model Library - A collection of QBiC data models.

Build Maven Package Run Maven Tests CodeQL release license language

Overview:

How to Run

Create a runable version of this code with maven and java 8:

mvn clean package

The JAR file will be created in the /target folder, for example:

|-target
|---data-model-lib-1.0.0.jar
|---...

How to Use

With Maven you can include the recent library version as dependency with:

<dependency>
  <groupId>life.qbic</groupId>
  <artifactId>data-model-lib</artifactId>
  <version>version-number</version>
</dependency>

or Groovy Grape:

@Grapes(
  @Grab(group='life.qbic', module='data-model-lib', version=<version-number>)
)

Make sure, that you have defined the Github package Maven repository, in order for Maven to resolve the dependency properly:

<repositories>
  <repository>
    <id>github</id>
    <name>GitHub OWNER Apache Maven Packages</name>
    <url>https://maven.pkg.github.com/qbicsoftware/data-model-lib</url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
  </repository>
</repositories>

Data Models

Oxford Nanopore data structure

Nanopore result set for registration at QBiC

A Nanopore NGS measurement output is delivered to us as a nested folder structure, following this model:

Nanopore Data Structure Model

Nanopore usage example

For usage examples, see the usage documentation.

For directory examples, see the JSON example files provided for the unit tests.

Nanopore data structures translated in openBIS

The Nanopore data structure is saved in an openBIS 18.06.2 database. An overview of the openBIS data model and the location and entity relationship of the Nanopore data stucture within it can be seen in this diagram:

Nanopore Data Structure Model

NF-Core bioinformatics analysis result sets

NF-Core data structure for registration at QBiC

A NF-Core pipeline directory output is provided as a nested folder structure, following this model: Bioinformatics Analysis Result Set ER

NF-Core usage example

For usage examples, see the usage documentation.

For directory structure examples, see the JSON example files provided for the unit tests.

NF-Core data structures translated in openBIS

The following figure displays the current openBIS model of a nf-core pipeline result dataset:

NF-Core Data Structure Model

MaxQuant result sets

MaxQuant data structure for registration at QBiC

A MaxQuant directory output is provided as a nested folder structure, following this model: MaxQuant Result Set ER

MaxQuant usage example

For usage examples, see the usage documentation.

For directory structure examples, see the JSON example files provided for the unit tests.

MaxQuant data structures translated in openBIS

The following figure displays the current openBIS model of a MaxQuant result dataset:

MaxQuant Data Structure Model

DTOs - Data Transfer Objects

DTOs are objects that we pass around crossing architectural boundaries. They don't contain any business logic, they are just representing data.

This DTO collection contains classes, that represent real world life-science domain data assets.

Imaging Context - Omero

The following figure describes the entity relation of the imaging DTOs.

Imaging Data Structure Model

Please have a look at the detailed JavaDoc class description of the DTOs.

Business Context - Offer Management

The following figure describes the entity relation of the DTOs related to Offer Management.

OfferData_Structure Model

Detailed Information can be found in the GroovyDoc class description of the DTOs.

License

This work is licensed under the MIT license.