Skip to main content

GA4GH Genomic Knowledge Standards meta-schema tools

Project description

gks-metaschema

Tools and scripts for parsing the GA4GH Genomic Knowledge Standards (GKS) metaschemas. The metaschema processor (MSP) converts JSON Schema Version 2020-12 in YAML to reStructuredText (RST) and JSON files.

Currently used in:

Installing for development

Prerequisites

  • Python 3.12: We recommend using pyenv.

Installation Steps

Fork the repo at https://github.com/ga4gh/gks-metaschema, and initialize a development environment.

git clone git@github.com:YOUR_GITHUB_ID/gks-metaschema.git
cd gks-metaschema
make devready
source venv/3.12/bin/activate

Set up the pre-commit hook

cp ./scripts/pre-commit ./.git/hooks/

Testing

To run the tests:

make test

Usage

File Hierarchy

The metaschema processor expects the following hierarchy:

├── docs
│   ├── source
│   |   ├── ...
│   ├── Makefile
├── schema
│   ├──gks_schema
│   |   ├── gks-schema-source.yaml
│   |   ├── Makefile
│   |   ├── prune.mk
│   ├── Makefile
  • docs: Sphinx documentation directory. Must be named docs.
    • source: Directory containing documentation written in reStructuredText and Sphinx configuration. Must be named source.
    • Makefile: Commands to create the reStructuredText files. This file should not change across GKS projects.
  • schema: Schema directory. Can also contain submodules for other GKS product schemas.
    • gks_schema: Schema directory for GKS product. The directory name should reflect the product, e.g. vrs.
      • gks-schema-source.yaml: Source document for the JSON Schema 2020-12. The file name should reflect the standard, e.g. vrs-source.yaml. The file name must end with -source.yaml.
      • Makefile: Commands to create the reStructuredText and JSON files. This file should not change across GKS projects.
      • prune.mk: Cleanup of files in def and json directories based on source document. This file should not change across GKS projects.
    • Makefile: Commands to create the reStructuredText and JSON files.

Contributing to the schema

To create the corresponding def (reStructuredText) and json files after making changes to the source document, from the schema directory:

    make all

The file structure will now look like:

├── schema
│   ├──gks_schema
|   |   ├── def
│   |   |   ├── ...
|   |   ├── json
│   |   |   ├── ...
│   |   ├── gks-schema-source.yaml
│   |   ├── Makefile
│   |   ├── prune.mk
│   ├── Makefile

Contributing to the docs

GKS specification documentation is written in reStructuredText and located in docs/source.

To build documentation locally, you must install entr:

brew install entr

Then from the docs directory:

make clean watch &

Then, open docs/build/html/index.html. The above make command should build docs when the source changes.

NOTE: Some types of changes require recleaning and building.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ga4gh_gks_metaschema-0.3.0b17.tar.gz (59.3 kB view details)

Uploaded Source

Built Distribution

ga4gh.gks.metaschema-0.3.0b17-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file ga4gh_gks_metaschema-0.3.0b17.tar.gz.

File metadata

File hashes

Hashes for ga4gh_gks_metaschema-0.3.0b17.tar.gz
Algorithm Hash digest
SHA256 50ec3a38f4ce4a3a88ca56f3f3823c704ecfb879a447b0b9fbb5e23301a09b80
MD5 72f05db09fe51764fe5d8bd1838eaaf2
BLAKE2b-256 25fc22dd3a2beb26912422558a61753b1114e924c2e30e885e5f9c8cda20b0b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ga4gh_gks_metaschema-0.3.0b17.tar.gz:

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations:

File details

Details for the file ga4gh.gks.metaschema-0.3.0b17-py3-none-any.whl.

File metadata

File hashes

Hashes for ga4gh.gks.metaschema-0.3.0b17-py3-none-any.whl
Algorithm Hash digest
SHA256 ae171c2601a632de40675d2bafe492ddad271c4efe467174ee7ae08bfc5a142a
MD5 9cae23f9c751d9adda9d54f811667fed
BLAKE2b-256 de568148dd9249a656b02c5fb01932cb4fc2c78399723ebee3deb5597f7157e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ga4gh.gks.metaschema-0.3.0b17-py3-none-any.whl:

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page