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.0b15.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for ga4gh_gks_metaschema-0.3.0b15.tar.gz
Algorithm Hash digest
SHA256 8acc29a8fea20465d42d376973260363a1e5fb103904f6d40b338f81952aaa98
MD5 00969d9021e07028990724e5b91fb7de
BLAKE2b-256 ca498d6cf91700b219ed89cf00691690ffe81d90ae175cc56f9ae64982af30c2

See more details on using hashes here.

Provenance

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

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations:

File details

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

File metadata

File hashes

Hashes for ga4gh.gks.metaschema-0.3.0b15-py3-none-any.whl
Algorithm Hash digest
SHA256 7e377340193796cee32f7723269abddc54c64636797aad26554d6115c0a3ffd7
MD5 51386d7a0f74879e07d78271e7481348
BLAKE2b-256 b8cbabf66e48531b1f0fbdf1eafa2eb042f02de583a9b830a533f7b10dae951d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ga4gh.gks.metaschema-0.3.0b15-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