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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for ga4gh_gks_metaschema-0.3.0b16.tar.gz
Algorithm Hash digest
SHA256 286440b4c0f8d0ed1827a07a111658da487cc2cd2dab2a637dea194050bc52e5
MD5 d04e3b5267d317e54dffcca4cc90b00f
BLAKE2b-256 b3f433e4924df3638ac88328ba203e5bb76571c00a8659fdf84aa08a97ad0720

See more details on using hashes here.

Provenance

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

Publisher: release.yaml on ga4gh/gks-metaschema

Attestations:

File details

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

File metadata

File hashes

Hashes for ga4gh.gks.metaschema-0.3.0b16-py3-none-any.whl
Algorithm Hash digest
SHA256 24c34179a31183c0d2d75522dcd81b7dd49a66309cc15ffe3d46c28ed59f2bc0
MD5 11950a8a20a6160244c2bd7accd22eea
BLAKE2b-256 43ffbe2afdd4577767ab479115cbfa6b5713042cbf3fe305724dcedaaeeff457

See more details on using hashes here.

Provenance

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