paired-data-form

Linking mas spectra and genomic information to discover new chemistry

https://github.com/iomega/paired-data-form

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Linking mas spectra and genomic information to discover new chemistry

Basic Info
Statistics
  • Stars: 5
  • Watchers: 6
  • Forks: 4
  • Open Issues: 2
  • Releases: 17
Created over 7 years ago · Last pushed almost 4 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security

README.md

Pairing Omics Data Platform

Linking mas spectra and genomic information to discover new chemistry.

  • Links MS/MS mass spectra with genome, sample preparation, extraction method and instrumentation method
  • Links biosynthetic gene cluster with MS^2 mass spectra

A web application for storing paired omics data projects.

The JSON schema (app/public/schema.json) describes the format of an project.

Node.js CI Quality Gate Status Coverage CII Best Practices DOI

Documentation

Developer, admin and system operator manuals can be found in manuals/ directory.

Contributing

If you want to contribute to the platform, have a look at the contribution guidelines.

Architecture

The Pairing Omics Data Platform consists of:

  1. A Web application, user interface, see app/ directory
  2. An API web service, service responsible for storing projects, see api. directory

Architecture diagram

The platform is implemented using Javascript based web service and a React (v16.13.1) based web application. The web application renders the submission form from the JSON schema. The web service stores each project as a file on disk. The application offers full text search functionality via web services using an elastic search (v7.6.2) index. The web service uses a redis queue (v5.0.5) to schedule jobs to fetch more information about the public identifiers and to upload the projects to Zenodo each month. For example, the scientific species name is fetched from GenBank using the public genome identifiers in the project. The web service has an OpenAPI (v3.0.3) specification (https://www.openapis.org/) which can be used to submit and retrieve projects in a programmatic manner. The platform runs using Docker Compose (v1.25.4) with containers for the web application, web service and redis queue.

Run using Docker compose

The application can be configured using environment variables:

  • PORT, http port application is running on. Default is 8443.
  • SHARED_TOKEN, token required to login to review area.
  • ZENODOACCESSTOKEN, Zenodo access token used for uploading database to Zenodo.
  • ZENODODEPOSITIONID, Zenodo deposition identifier used for uploading database to Zenodo. Set to -1 to disable scheduled uploading.
  • SLACK_TOKEN, Token of Slack app with chat:write permission in workspace of channel
  • SLACK_CHANNEL, Slack channel in which service should post messages

The environment variables can be set in the terminal or be put in a .env file.

shell docker-compose up -d --build

Starts application, api webservice and reverse proxy on http://localhost:8443. Project JSON files are stored in a ./data/ directory.

To run on production put application behind a reverse proxy web server with a proper domain and secure transport with https.

New release

This chapter is for developers of the platform.

To make a new release of the platform do:

  1. Determine new version of release, using semantic versioning (x.y.z)
  2. Add version to CHANGELOG.md
    • Create a new ## chapter for the new version
    • Update version links at bottom of CHANGELOG
  3. Set new version of api web service by

    shell cd api npm version x.y.z

  4. Set new version of web application by

    shell cd app npm version x.y.z

  5. Commit & push changes

  6. Create a GitHub release

  7. On https://doi.org/10.5281/zenodo.2656630

    • Update author list
    • Add https://doi.org/10.5281/zenodo.3736430, is compiled/create by this upload as Dataset in related identifiers section.

Owner

  • Name: Integrated Omics for MEtabolomics and Genomics Annotation
  • Login: iomega
  • Kind: organization

Citation (CITATION.cff)

# YAML 1.2
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: 'Integrated Omics for MEtabolomics and Genomics Annotation: Pairing Omics Data Platform'
doi: 10.5281/zenodo.2656630
authors:
- given-names: Stefan
  family-names: Verhoeven
  affiliation: Netherlands eScience Center
  orcid: https://orcid.org/0000-0002-5821-2060
- given-names: Michelle
  family-names: Schorn
  affiliation: Wageningen University and Research Center
  orcid: https://orcid.org/0000-0001-8144-6052
- given-names: Justin
  family-names: van der Hooft
  affiliation: Wageningen University and Research Center
  orcid: https://orcid.org/0000-0002-9340-5511
repository-code: https://github.com/iomega/paired-data-form
license: Apache-2.0

GitHub Events

Total
Last Year

Dependencies

api/package-lock.json npm
  • 844 dependencies
api/package.json npm
  • @types/archiver ^5.3.0 development
  • @types/async ^2.0.45 development
  • @types/bluebird ^3.5.20 development
  • @types/body-parser ^1.16.8 development
  • @types/bull ^3.5.14 development
  • @types/compression ^0.0.35 development
  • @types/dotenv ^4.0.2 development
  • @types/errorhandler ^0.0.32 development
  • @types/express ^4.11.1 development
  • @types/ioredis ^4.0.11 development
  • @types/jest ^26.0.20 development
  • @types/keyv ^3.1.0 development
  • @types/lusca ^1.5.0 development
  • @types/node ^12.0.0 development
  • @types/node-fetch ^2.5.5 development
  • @types/passport ^0.4.3 development
  • @types/passport-http-bearer ^1.0.32 development
  • @types/rimraf ^2.0.2 development
  • @types/superagent 4.1.10 development
  • @types/supertest ^2.0.8 development
  • @types/swagger-ui-express ^4.1.3 development
  • @types/tmp ^0.1.0 development
  • @types/unzipper ^0.10.2 development
  • @types/uuid ^3.4.4 development
  • @types/xml2js ^0.4.5 development
  • @types/yargs ^17.0.0 development
  • concurrently ^3.6.1 development
  • jest ^26.6.3 development
  • json-schema-to-typescript ^10.1.4 development
  • nodemon ^2.0.4 development
  • rimraf ^2.6.3 development
  • shelljs ^0.8.5 development
  • supertest ^3.4.2 development
  • ts-jest ^26.4.4 development
  • ts-node ^5.0.0 development
  • tslint ^5.9.1 development
  • typescript ^4.7.4 development
  • unzipper ^0.10.10 development
  • xml2js ^0.4.23 development
  • @elastic/elasticsearch 7.15.0
  • @iomeg/zenodo-upload 0.5.0
  • @keyv/redis ^2.1.2
  • @slack/web-api ^5.14.0
  • ajv ^6.10.0
  • archiver ^5.3.0
  • async ^2.6.0
  • bull ^3.10.0
  • compression ^1.7.1
  • dotenv ^4.0.0
  • errorhandler ^1.5.0
  • express ^4.16.2
  • express-async-handler ^1.1.4
  • form-data ^3.0.0
  • ioredis ^4.9.5
  • jsdom ^16.2.0
  • keyv ^3.1.0
  • lusca ^1.5.2
  • node-fetch ^2.6.1
  • passport ^0.6.0
  • passport-http-bearer ^1.0.0
  • sitemap ^6.2.0
  • swagger-ui-express ^4.3.0
  • tmp-promise ^2.0.2
  • uuid ^3.3.2
  • wait-on ^5.2.1
  • winston ^2.4.0
  • yargs ^17.3.1
app/package-lock.json npm
  • 1377 dependencies
app/package.json npm
  • @testing-library/dom ^8.11.3 development
  • @testing-library/jest-dom ^5.1.1 development
  • @testing-library/react ^10.0.1 development
  • @testing-library/react-hooks ^3.4.1 development
  • @testing-library/user-event ^12.1.0 development
  • @types/d3-dsv ^1.0.36 development
  • @types/enzyme ^3.10.5 development
  • @types/enzyme-adapter-react-16 ^1.0.6 development
  • @types/file-saver ^2.0.1 development
  • @types/jest ^27.4.0 development
  • @types/node ^16.11.7 development
  • @types/react 16.8.17 development
  • @types/react-bootstrap ^0.32.20 development
  • @types/react-dom 16.8.4 development
  • @types/react-helmet ^6.0.0 development
  • @types/react-jsonschema-form ^1.7.1 development
  • @types/react-router ^4.4.5 development
  • @types/react-router-bootstrap ^0.24.5 development
  • @types/react-router-dom ^5.1.4 development
  • @types/react-select ^2.0.19 development
  • enzyme ^3.11.0 development
  • enzyme-adapter-react-16 ^1.15.2 development
  • gh-pages ^2.2.0 development
  • jest-environment-jsdom-sixteen ^1.0.3 development
  • json-schema-to-typescript ^10.1.4 development
  • react-scripts 5.0.0 development
  • react-test-renderer ^16.14.0 development
  • schema-dts ^0.7.4 development
  • typescript ^3.8.3 development
  • @root/encoding ^1.0.1
  • ajv ^6.12.0
  • bootstrap >=3.4.1 <4
  • d3-dsv ^1.2.0
  • diff2html ^3.4.4
  • difflib-ts ^1.0.3
  • file-saver ^2.0.2
  • moment ^2.23.0
  • react ^16.13.1
  • react-bootstrap ^0.32.4
  • react-dom ^16.13.1
  • react-helmet ^6.1.0
  • react-jsonschema-form ^1.8.1
  • react-router-bootstrap ^0.25.0
  • react-router-dom ^5.1.2
  • react-schemaorg ^1.1.0
  • react-select ^2.4.4