{"id":42794407,"url":"https://github.com/qbicsoftware/data-model-lib","last_synced_at":"2026-01-30T00:26:41.087Z","repository":{"id":37706288,"uuid":"131308246","full_name":"qbicsoftware/data-model-lib","owner":"qbicsoftware","description":"Libraries providing functionality for the QBiC/openBIS data model","archived":false,"fork":false,"pushed_at":"2025-08-22T11:21:23.000Z","size":51692,"stargazers_count":4,"open_issues_count":8,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-22T13:30:33.538Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qbicsoftware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-27T14:38:26.000Z","updated_at":"2025-01-07T13:21:10.000Z","dependencies_parsed_at":"2023-01-29T04:01:20.438Z","dependency_job_id":"ea8d62b6-c130-4ef0-83d6-70d72d6d2235","html_url":"https://github.com/qbicsoftware/data-model-lib","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/qbicsoftware/data-model-lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Fdata-model-lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Fdata-model-lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Fdata-model-lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Fdata-model-lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qbicsoftware","download_url":"https://codeload.github.com/qbicsoftware/data-model-lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qbicsoftware%2Fdata-model-lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28891438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2026-01-30T00:26:40.395Z","updated_at":"2026-01-30T00:26:41.071Z","avatar_url":"https://github.com/qbicsoftware.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Data Model Library\n\n_Data Model Library - A collection of QBiC data models._\n\n\n[![Build Maven Package](https://github.com/qbicsoftware/data-model-lib/actions/workflows/build_package.yml/badge.svg)](https://github.com/qbicsoftware/data-model-lib/actions/workflows/build_package.yml)\n[![Run Maven Tests](https://github.com/qbicsoftware/data-model-lib/actions/workflows/run_tests.yml/badge.svg)](https://github.com/qbicsoftware/data-model-lib/actions/workflows/run_tests.yml)\n[![CodeQL](https://github.com/qbicsoftware/data-model-lib/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/qbicsoftware/data-model-lib/actions/workflows/codeql-analysis.yml)\n[![release](https://img.shields.io/github/v/release/qbicsoftware/data-model-lib?include_prereleases)](https://github.com/qbicsoftware/data-model-lib/releases)\n[![license](https://img.shields.io/github/license/qbicsoftware/data-model-lib)](https://github.com/qbicsoftware/data-model-lib/blob/main/LICENSE)\n![language](https://img.shields.io/badge/language-groovy,%20java-blue.svg)\n\n\u003c/div\u003e\n\n## Overview:\n\n- [How to Run](#how-to-run)\n- [How to Use](#how-to-use)\n- [Data Models](#data-models)\n    * [Oxford Nanopore Data Structure](#oxford-nanopore-data-structure)\n    \n        * [Nanopore result set for registration at QBiC](#nanopore-result-set-for-registration-at-qbic)\n        * [Nanopore usage example](#nanopore-usage-example)\n        * [Nanopore data structures translated in openBIS](#nanopore-data-structures-translated-in-openbis)\n        \n    * [Nf-Core Bioinformatics Analysis Result Sets](#nf-core-bioinformatics-analysis-result-sets)\n    \n        * [NF-Core data structure for registration at QBiC](#nf-core-data-structure-for-registration-at-qbic)\n        * [NF-Core usage example](#nf-core-usage-example)\n        * [NF-Core data structures translated in openBIS](#nf-core-data-structures-translated-in-openbis)\n        \n    * [MaxQuant Result Sets](#maxquant-result-sets)\n        \n        * [MaxQuant data structure for registration at QBiC](#maxquant-data-structure-for-registration-at-qbic)\n        * [MaxQuant usage example](#maxquant-usage-example)\n        * [MaxQuant data structures translated in openBIS](#maxquant-data-structures-translated-in-openbis)   \n        \n- [DTOs - Data Transfer Objects](#dtos---data-transfer-objects)\n\n    * [Imaging context - Omero and more](#imaging-context---omero)\n    * [Business context - Offer Management and more](#business-context---offer-management)\n\n## How to Run\n\nCreate a runable version of this code with maven and java 8:\n\n```\nmvn clean package\n```\n\nThe JAR file will be created in the ``/target`` folder, for example:\n\n```\n|-target\n|---data-model-lib-1.0.0.jar\n|---...\n```\n\n\n## How to Use\n\nWith Maven you can include the recent library version as dependency with:\n\n```XML\n\u003cdependency\u003e\n  \u003cgroupId\u003elife.qbic\u003c/groupId\u003e\n  \u003cartifactId\u003edata-model-lib\u003c/artifactId\u003e\n  \u003cversion\u003eversion-number\u003c/version\u003e\n\u003c/dependency\u003e\n```\nor Groovy Grape:\n\n```\n@Grapes(\n  @Grab(group='life.qbic', module='data-model-lib', version=\u003cversion-number\u003e)\n)\n```\n\nMake sure, that you have defined the Github package Maven repository, in order for Maven to resolve the dependency properly:\n\n```XML\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003egithub\u003c/id\u003e\n    \u003cname\u003eGitHub OWNER Apache Maven Packages\u003c/name\u003e\n    \u003curl\u003ehttps://maven.pkg.github.com/qbicsoftware/data-model-lib\u003c/url\u003e\n    \u003creleases\u003e\u003cenabled\u003etrue\u003c/enabled\u003e\u003c/releases\u003e\n    \u003csnapshots\u003e\u003cenabled\u003etrue\u003c/enabled\u003e\u003c/snapshots\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n## Data Models\n\n### Oxford Nanopore data structure\n\n#### Nanopore result set for registration at QBiC\n\nA Nanopore NGS measurement output is delivered to us as a nested folder structure, following this model:\n\n![Nanopore Data Structure Model](./doc/figures/Nanopore_Data_Structure_Model.png)\n\n\n#### Nanopore usage example\n\nFor usage examples, see the [usage documentation](./doc/examples.md).\n\nFor directory examples, see the [JSON example files](./src/test/resources) provided for the unit tests.\n\n#### Nanopore data structures translated in openBIS\n\nThe Nanopore data structure is saved in an openBIS 18.06.2 database. \nAn 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: \n\n![Nanopore Data Structure Model](./doc/figures/OpenBIS_ER_diagram.png)\n\n### NF-Core bioinformatics analysis result sets\n\n#### NF-Core data structure for registration at QBiC\n\nA NF-Core pipeline directory output is provided as a nested folder structure, following this model:\n![Bioinformatics Analysis Result Set ER](./doc/figures/ER_diagram_pipeline_results.png)\n\n#### NF-Core usage example\n\nFor usage examples, see the [usage documentation](./doc/examples.md).\n\nFor directory structure examples, see the [JSON example files](./src/test/resources/examples/resultset) provided for the unit tests.\n\n#### NF-Core data structures translated in openBIS\n\nThe following figure displays the current openBIS model of a nf-core pipeline result dataset:\n\n![NF-Core Data Structure Model](./doc/figures/ER_diagram_pipeline_results_openBIS.png)\n\n\n### MaxQuant result sets\n\n#### MaxQuant data structure for registration at QBiC\n\nA MaxQuant directory output is provided as a nested folder structure, following this model:\n![MaxQuant Result Set ER](./doc/figures/MaxQuant_Data_Structure.png)\n\n#### MaxQuant usage example\n\nFor usage examples, see the [usage documentation](./doc/examples.md).\n\nFor directory structure examples, see the [JSON example files](./src/test/resources/examples/resultset/maxquant) provided for the unit tests.\n\n#### MaxQuant data structures translated in openBIS\n\nThe following figure displays the current openBIS model of a MaxQuant result dataset:\n\n![MaxQuant Data Structure Model](./doc/figures/MaxQuant_openBIS_Data_Model.png)\n\n## DTOs - Data Transfer Objects\n\nDTOs are objects that we pass around crossing architectural boundaries.\nThey don't contain any business logic, they are just representing data.\n\nThis DTO collection contains classes, that represent real world\nlife-science domain data assets.\n\n### Imaging Context - Omero\n\nThe following figure describes the entity relation of the imaging DTOs.\n\n![Imaging Data Structure Model](./doc/figures/Imaging_Data_Structure.png)\n\nPlease have a look at the detailed JavaDoc class description of the\nDTOs.\n\n### Business Context - Offer Management\n\nThe following figure describes the entity relation of the DTOs related to Offer Management.\n \n![OfferData_Structure Model](./doc/figures/Offer_Data_Structure.png)\n\nDetailed Information can be found in the GroovyDoc class description of the\nDTOs.\n\n## License\n\nThis work is licensed under the [MIT license](https://mit-license.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicsoftware%2Fdata-model-lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqbicsoftware%2Fdata-model-lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqbicsoftware%2Fdata-model-lib/lists"}