https://github.com/qbicsoftware/data-model-lib
Libraries providing functionality for the QBiC/openBIS data model
https://github.com/qbicsoftware/data-model-lib
hacktoberfest
Last synced: 5 months ago
JSON representation
Libraries providing functionality for the QBiC/openBIS data model
- Host: GitHub
- URL: https://github.com/qbicsoftware/data-model-lib
- Owner: qbicsoftware
- License: mit
- Created: 2018-04-27T14:38:26.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-08-22T11:21:23.000Z (11 months ago)
- Last Synced: 2025-08-22T13:30:33.538Z (11 months ago)
- Topics: hacktoberfest
- Language: Groovy
- Homepage:
- Size: 49.3 MB
- Stars: 4
- Watchers: 3
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
# Data Model Library
_Data Model Library - A collection of QBiC data models._
[](https://github.com/qbicsoftware/data-model-lib/actions/workflows/build_package.yml)
[](https://github.com/qbicsoftware/data-model-lib/actions/workflows/run_tests.yml)
[](https://github.com/qbicsoftware/data-model-lib/actions/workflows/codeql-analysis.yml)
[](https://github.com/qbicsoftware/data-model-lib/releases)
[](https://github.com/qbicsoftware/data-model-lib/blob/main/LICENSE)

## Overview:
- [How to Run](#how-to-run)
- [How to Use](#how-to-use)
- [Data Models](#data-models)
* [Oxford Nanopore Data Structure](#oxford-nanopore-data-structure)
* [Nanopore result set for registration at QBiC](#nanopore-result-set-for-registration-at-qbic)
* [Nanopore usage example](#nanopore-usage-example)
* [Nanopore data structures translated in openBIS](#nanopore-data-structures-translated-in-openbis)
* [Nf-Core Bioinformatics Analysis Result Sets](#nf-core-bioinformatics-analysis-result-sets)
* [NF-Core data structure for registration at QBiC](#nf-core-data-structure-for-registration-at-qbic)
* [NF-Core usage example](#nf-core-usage-example)
* [NF-Core data structures translated in openBIS](#nf-core-data-structures-translated-in-openbis)
* [MaxQuant Result Sets](#maxquant-result-sets)
* [MaxQuant data structure for registration at QBiC](#maxquant-data-structure-for-registration-at-qbic)
* [MaxQuant usage example](#maxquant-usage-example)
* [MaxQuant data structures translated in openBIS](#maxquant-data-structures-translated-in-openbis)
- [DTOs - Data Transfer Objects](#dtos---data-transfer-objects)
* [Imaging context - Omero and more](#imaging-context---omero)
* [Business context - Offer Management and more](#business-context---offer-management)
## 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:
```XML
life.qbic
data-model-lib
version-number
```
or Groovy Grape:
```
@Grapes(
@Grab(group='life.qbic', module='data-model-lib', version=)
)
```
Make sure, that you have defined the Github package Maven repository, in order for Maven to resolve the dependency properly:
```XML
github
GitHub OWNER Apache Maven Packages
https://maven.pkg.github.com/qbicsoftware/data-model-lib
true
true
```
## 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 usage example
For usage examples, see the [usage documentation](./doc/examples.md).
For directory examples, see the [JSON example files](./src/test/resources) 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:

### 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:

#### NF-Core usage example
For usage examples, see the [usage documentation](./doc/examples.md).
For directory structure examples, see the [JSON example files](./src/test/resources/examples/resultset) 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:

### 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 usage example
For usage examples, see the [usage documentation](./doc/examples.md).
For directory structure examples, see the [JSON example files](./src/test/resources/examples/resultset/maxquant) provided for the unit tests.
#### MaxQuant data structures translated in openBIS
The following figure displays the current openBIS model of a MaxQuant result dataset:

## 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.

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.

Detailed Information can be found in the GroovyDoc class description of the
DTOs.
## License
This work is licensed under the [MIT license](https://mit-license.org/).