Skip to content

Prototype translating ELN protocols into RO-Crate bundles including the research data and a retrospective provenance representation

License

Notifications You must be signed in to change notification settings

m6121/Structure-based-ELN2LOD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Structure-based Approach to Transfer ELN Protocols into RO-Crates

This repository contains the source code of a structure-based approach to transfer Electronic Lab Notebook (ELN) protocols including research data into a Research Object Crates (RO-Crates) bundle whereas the semantic model rerpresents retrospective provenance about the research data.

Note that this software is a research prototype and may contain bugs and errors, i.e., do not use this in production.

The approach has been used in order to create the RO-Crates at: https://github.com/SFB-ELAINE/Ca-imaging-RO-Crate

The approach is described in full detail in this article:

Max Schröder, Susanne Staehlke, Paul Groth, J. Barbara Nebe, Sascha Spors, Frank Krüger.
Structure-based knowledge acquisition from electronic lab notebooks for research data provenance documentation.
Journal of Biomedical Semantics 13, 4 (2022).
https://doi.org/10.1186/s13326-021-00257-x

License

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

In order to reference this software, please consider the information in the CITATION.cff file.

Usage

In order to run the source code, install the python dependencies from requirements.txt and make sure that Docker is installed and running.

A minimum running example is as follows:

model = ELN2Crate(LOGGER, NAMESPACE_URL, ELABFTW_URL, ELABFTW_MANAGER, EXP_ID, PSEUDONYMIZE_PERSONS)

try:
    model.write_files()
    model.create_model()
    model.write_crate('./ro-crate_%i' % (EXP_ID))
except ProtocolElementUnknown as e:
    print('Protocol element is unknown: ' + str(e), file=sys.stderr)

where the following variables have been set:

  • LOGGER contains an initialized python-logger using the package logging
  • NAMESPACE_URL is the base URL of the namespace of the semantic model
  • ELABFTW_URL URL of the elabFTW instance that is used for the documentation of the experiments
  • ELABFTW_MANAGER an initialized version of the elabapy.Manager() with read permissions on the experiment and the corresponding inventory items
  • EXP_ID the experiment ID that should be bundled
  • PSEUDONYMIZE_PERSONS is an array of strings that should be replaced by pseudonymized before bundling in order to protect privacy.

About

Prototype translating ELN protocols into RO-Crate bundles including the research data and a retrospective provenance representation

Resources

License

Stars

Watchers

Forks

Languages