This is a fork of Adamant for use at the ScOpenLab. It was forked from the original repository at: https://github.com/csihda/adamant The main changes are:
- Revomal of ElabFTW
- Setup a submit function in the server API for uploading the form data to and S3 bucket.
- Remove default forms and add a form for Xenium Slide Metadata.
-
Open our Adamant webpage at: http://10.128.131.169:3000/ (TEMPORARY DEV INSTANCE).
-
Fill in the form
-
Click the "PROCEED" button
The slide metadata in json format are submitted to the ScOpenLab S3 bucket. Resubmitting a form with the same slide id will overwrite the previous submission!
THe slide metadata will then be read from the bucket at the end of ech region run by the `endofrun.sh` script on the Xenium instrument, and used to automate data transfer to the bucket.
See here for more details: https://github.com/scOpenLab/xenium_metadata_writer/blob/main/README.md#workflow
We recommend deploying Adamant with docker-compose, which can be done with ease:
$ git clone https://github.com/csihda/adamant.git—clone the repository$ cd adamant—go to adamant project directoryadamant$ docker−compose build—build the docker images for both back-end and front-endadamant$ docker−compose up -d—start both client and server containers, i.e., the whole system
By default, the deployed system can be accessed at http://localhost:3000.
Currently, Adamant supports the rendering and editing of JSON schemas with a specification version draft 4 and 7. The following table lists all the implemented JSON schema keywords in the current version of Adamant. Note that the id keyword only works with the JSON schema specification version draft 4, whereas $id is used for the newer specification drafts. Lastly, the contentEncoding keyword is intended to be used with the specification version draft 7 or newer.
| Field Type | Implemented Keywords | Note |
|---|---|---|
| String | title, id, $id, description, type, enum, contentEncoding, default, minLength, maxLength |
contentEncoding can only receive a string value of "base64" |
| Number | title, id, $id, description, type, enum, default, minimum, maximum |
|
| Integer | title, id, $id, description, type, enum, default, minimum, maximum |
|
| Boolean | title, id, $id, description, type, default |
|
| Array | title , id, $id, description, type, default, items, minItems, maxItems, uniqueItems |
|
| Object | title, id, $id, description, type, properties, required |
Setting up Adamant on a local machine for development:
$ git clone https://github.com/csihda/adamant.git—clone the repository$ cd adamant—go to adamant project directoryadamant$ npm install—install the dependencies for the client-sideadamant$ cd backend—go to backend directoryadamant/backend$ python -m venv venv—create a python virtual environmentadamant/backend$ ./venv/Scripts/activate—activate the virtual environmentadamant/backend$ pip install -r requirements.txt—install the dependencies for the back-endadamant/backend$ cd ..—go back to adamant project directoryadamant$ yarn start-api—start the back-endadamant$ yarn start—on a new terminal, in the adamant project directory, start the front-end
By default, Adamant is accessible at http://localhost:3000.
Please cite this paper if you use this code/tool in your publication.
@article{ 10.12688/f1000research.110875.2,
author = {Chaerony Siffa, I and Schäfer, J and Becker, MM},
title = {Adamant: a JSON schema-based metadata editor for research data management workflows
[version 2; peer review: 3 approved]},
journal = {F1000Research},
volume = {11},
year = {2022},
number = {475},
doi = {10.12688/f1000research.110875.2}
}






